Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Tools and Document for Icedtea-Web 2.0 Version #392

Open
patris70 opened this issue Sep 3, 2019 · 48 comments
Open

Build Tools and Document for Icedtea-Web 2.0 Version #392

patris70 opened this issue Sep 3, 2019 · 48 comments
Labels
enhancement New feature or request Native build All issues that are targeting the native build (installers & executables)
Milestone

Comments

@patris70
Copy link

patris70 commented Sep 3, 2019

Hi,

we need Build Tools and Document for Version 2.0.
https://github.com/AdoptOpenJDK/IcedTea-Web/releases/tag/icedtea-web-2.0.0-alpha1

My 1.8.x Version Build Tools don't work with Version 2.0.

regards

@patris70 patris70 changed the title Build Tools and and Document for Icedtea-Web 2.0 Version Build Tools and Document for Icedtea-Web 2.0 Version Sep 3, 2019
@sclassen
Copy link
Contributor

sclassen commented Sep 3, 2019

You can run the build using maven (https://maven.apache.org/).

mvn clean package

@patris70
Copy link
Author

patris70 commented Sep 3, 2019

What about Rust for exe file (javaws.exe) compiling?

@patris70
Copy link
Author

patris70 commented Sep 4, 2019

Hi @sclassen ,

here is error file:

mvn-clean-package.txt

@hendrikebbers
Copy link
Member

Hi @patris70
kann you please run
mvn clean verify -DskipTests

There still some tests that do not work on all systems or sometimes not work based on race conditions. By calling this command the tests will be skipped.

@patris70
Copy link
Author

patris70 commented Sep 4, 2019

Hi @hendrikebbers,

Thanks, worked, here is LOG:

mvn-clean-verify -DskipTests.txt

But, where is Javaws.jar, javaws.exe and etc., how can i start a JNLP File?

@karianna karianna added this to the 2.0.x milestone Sep 5, 2019
@karianna karianna added the enhancement New feature or request label Sep 5, 2019
@hendrikebbers
Copy link
Member

@judovana can you give a hint how the (win) native executable can be build once the man build is don?

@hendrikebbers
Copy link
Member

ah, found the maven exec plugin :) Will try...

@hendrikebbers
Copy link
Member

This should work (but I assume only on linux):
mvn clean install -DskipTests -P launchers

@patris70
Copy link
Author

patris70 commented Oct 1, 2019

Hi @hendrikebbers,

failed in compiling launcher section (i used Windows OS for compiling)!
The question is, why work only on Linux!!
As you know, we can compiling 1.8 on both Windows and Linux.

Here is Error:

[DEBUG] Executing command line: [D:\Dev-new\cygwin\bin\bash.exe, D:\IcedTea2\launchers/build.sh, 2.0.0-alpha2]
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:760)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:304)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for IcedTeaWeb 2.0.0-alpha2:
[INFO]
[INFO] IcedTeaWeb ......................................... SUCCESS [ 13.766 s]
[INFO] JNLP API ........................................... SUCCESS [ 26.796 s]
[INFO] Common ............................................. SUCCESS [01:18 min]
[INFO] Test Extensions .................................... SUCCESS [ 56.165 s]
[INFO] XML Parser ......................................... SUCCESS [ 34.062 s]
[INFO] Core ............................................... SUCCESS [05:18 min]
[INFO] ITW with no dependencies ........................... SUCCESS [ 20.609 s]
[INFO] ITW with all dependencies .......................... SUCCESS [ 30.657 s]
[INFO] Integration Tests .................................. SUCCESS [ 49.422 s]
[INFO] Clients ............................................ SUCCESS [ 17.984 s]
[INFO] JNLP Servlet ....................................... SUCCESS [ 33.092 s]
[INFO] Launchers .......................................... FAILURE [ 12.078 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11:34 min
[INFO] Finished at: 2019-10-01T11:08:35+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (build-launchers) on project icedtea-web-launchers: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (build-launchers) on project icedtea-web-launchers: Command execution failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:326)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:760)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:304)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :icedtea-web-launchers

@patris70
Copy link
Author

Hi,
any news or update for this problem?

@sclassen
Copy link
Contributor

Sorry, we currently have no one working on a windows machine and can therefore not reproduce your error. If you find anything we are happy to accept PR or tips on how to fix it

@don-vip
Copy link
Contributor

don-vip commented Oct 31, 2019

@sclassen @hendrikebbers I managed to build installers on Windows as follows:

  1. Install Visual C++ Build Tools: select MSVC Build Tools + Windows 10 SDK
  2. Install WIX
  3. Copy wixgen.jar to C:\msi-deps
  4. Copy all 65 files from C:\Program Files (x86)\WiX Toolset v3.11\bin to C:\msi-deps\wix311-binaries

Using Git Bash:

  1. Needs #313 - Fix Windows launchers build #490
  2. install Rust+Cargo: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. export JRE=/c/Java/AdoptOpenJDK/jdk-13.0.0.33-hotspot
  4. update PATH so that MSVC link.exe will be used instead of GNU link: export PATH="/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64:$PATH"
  5. mvn clean install -DskipTests=true -P launchers => It fails because of hardcoded path to /cygdrive/msi-deps/... and I didn't use Cygwin (see Building launchers on Windows #313 comments)

Using Cygwin64 terminal:

  1. export JRE=/cygdrive/c/Java/AdoptOpenJDK/jdk-13.0.0.33-hotspot
  2. export PATH="/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64:$PATH"
  3. mvn clean install -DskipTests=true -P launchers => it works!
  4. ./launchers/target/bin/javaws.exe https://josm.openstreetmap.de/download/josm-latest.jnlp => I can now test JOSM with ITW 2.0 👍

@patris70
Copy link
Author

patris70 commented Nov 6, 2019

@don-vip

can you please tell me, why we need MSVC Build Tools + Windows 10 SDK?
Source code language for EXE file is RUST!!

Thanks

@don-vip
Copy link
Contributor

don-vip commented Nov 6, 2019

I have no idea. Something in the build chain requires it. Might be rust, cargo, wix, I don't remember. Try by yourself without it and you will face an issue about "link.exe".

@patris70
Copy link
Author

patris70 commented Nov 7, 2019

@don-vip

failed again, here is errors:

[DEBUG] Executing command line: [D:\Dev-new\cygwin\bin\bash.exe, D:\IcedTea2\launchers/build.sh, 2.0.0-alpha4]
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:760)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:304)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for IcedTeaWeb 2.0.0-alpha4:
[INFO]
[INFO] IcedTeaWeb ......................................... SUCCESS [ 11.469 s]
[INFO] JNLP API ........................................... SUCCESS [ 26.298 s]
[INFO] Common ............................................. SUCCESS [ 50.002 s]
[INFO] Test Extensions .................................... SUCCESS [ 33.376 s]
[INFO] XML Parser ......................................... SUCCESS [ 24.548 s]
[INFO] Core ............................................... SUCCESS [02:39 min]
[INFO] ITW with no dependencies ........................... SUCCESS [ 22.611 s]
[INFO] ITW with all dependencies .......................... SUCCESS [ 31.907 s]
[INFO] Integration Tests .................................. SUCCESS [ 47.924 s]
[INFO] Clients ............................................ SUCCESS [ 19.110 s]
[INFO] JNLP Servlet ....................................... SUCCESS [ 29.501 s]
[INFO] Launchers .......................................... FAILURE [ 12.532 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 07:50 min
[INFO] Finished at: 2019-11-07T05:50:39+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (build-launchers) on project icedtea-web-launchers: Command execution
failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (build-launchers) on
project icedtea-web-launchers: Command execution failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:326)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:760)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:304)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :icedtea-web-launchers

@hendrikebbers
Copy link
Member

@don-vip can you do a PR that adds the build documentation for windows? I would like to put it in a new MD file. By doing so we can easily link it in issues and in the readme.md of the project.

@lherschi
Copy link
Contributor

lherschi commented Jan 9, 2020

@don-vip

can you please tell me, why we need MSVC Build Tools + Windows 10 SDK?
Source code language for EXE file is RUST!!

Thanks

I build the msi-installer without msvc and sdk. Rust needs the linker to be built to match the toolchain that is used to build. If you change the toolchain with rustup to x86_64-pc-windows-gnu or i686-pc-windows-gnu instead of x86_64-pc-windows-msvc or i686-pc-windows-msvc, rust uses the gnu-linker from the cygwin installation.

In addition, you do not need to copy the files from the wix toolset to the wixgen jar directory. You simply set the environment variables WIXGEN_JAR and WIX_TOOLSET_DIR

@don-vip
Copy link
Contributor

don-vip commented Jan 9, 2020

@lherschi can you please submit a new PR better than mine? You obviously know more than me on the topic.

@patris70
Copy link
Author

patris70 commented Jan 28, 2020

Hi,
any news or update?
If yes, can you please upload toolchains in github?
regards

@patris70
Copy link
Author

patris70 commented Jun 4, 2020

Hi,
any news or update?
If yes, can you please upload toolchains in github as Dev-Tools?
regards

@hendrikebbers
Copy link
Member

see #520

@Jamila891 Jamila891 added the Native build All issues that are targeting the native build (installers & executables) label Sep 21, 2020
@douph1
Copy link
Contributor

douph1 commented Sep 22, 2020

Just successfully build master branch (2.0.0-SNAPSHOT) !

Thanks this #392 and #520

Done on Cygwin
I have set PATH(with a java bin path with short folder name c:\Progra~1)
WIX_TOOLSET_DIR
JRE

and I can now close #190 :)

@douph1
Copy link
Contributor

douph1 commented Sep 23, 2020

@patris70 I have the same error
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
when my JRE path contains space in the name
you can add "-X" to mvn command to show the exec command who failed with exit 1
For me the JRE path was not quoted .. I have replaced with Progra~1 instead of "Program Files"

and be careful from space in path for other var too : WIXGEN_JAR and WIX_TOOLSET_DIR

@patris70
Copy link
Author

patris70 commented Sep 23, 2020

@douph1
Thanks for Infos. I try it and write here the result.
But as Info, my JRE Path has not Space and Path is D:\JDK\JRE
Can you please tell me, what must be set for WIXGEN_JAR as Value?
regards

@patris70
Copy link
Author

Again Error:

[DEBUG] Executing command line: [C:\64bit\cygwin\bin\bash.exe, C:\64bit\ice-2\launchers/build.sh, 2.0.0-alpha8]
[ERROR] Command execution failed.

org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:760)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:304)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for IcedTeaWeb 2.0.0-alpha8:
[INFO]
[INFO] IcedTeaWeb ......................................... SUCCESS [ 7.298 s]
[INFO] JNLP API ........................................... SUCCESS [ 15.000 s]
[INFO] Common ............................................. SUCCESS [ 26.593 s]
[INFO] Test Extensions .................................... SUCCESS [ 23.688 s]
[INFO] XML Parser ......................................... SUCCESS [ 20.250 s]
[INFO] Core ............................................... SUCCESS [01:25 min]
[INFO] ITW with no dependencies ........................... SUCCESS [ 16.644 s]
[INFO] ITW with all dependencies .......................... SUCCESS [ 16.731 s]
[INFO] Integration Tests .................................. SUCCESS [ 32.219 s]
[INFO] Clients ............................................ SUCCESS [ 18.734 s]
[INFO] JNLP Servlet ....................................... SUCCESS [ 21.500 s]
[INFO] Launchers .......................................... FAILURE [ 8.531 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:53 min
[INFO] Finished at: 2020-09-23T10:59:54+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (build-launchers) on project icedtea-web-launchers: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (build-launchers) on project icedtea-web-launchers: Command execution failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:326)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:760)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:304)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :icedtea-web-launchers

@douph1
Copy link
Contributor

douph1 commented Sep 23, 2020

and nothing more if you run

bash launchers/build.sh 2.0.0-alpha8

@douph1
Copy link
Contributor

douph1 commented Sep 23, 2020

WIXGEN_JAR is the path to wixgen.jar defaulting to C:\msi-deps
I have not set it but placed the jar into the default folder C:\msi-deps

WIX_TOOLSET_DIR=C:\Progra~2\WiX Toolset v3.11\bin

@patris70
Copy link
Author

JRE Error, but i have JAVA_HOME Variable and in PATH!!!

bash launchers/build.sh 2.0.0-alpha8

  • set -e
  • set -o pipefail
  • SCRIPT_SOURCE=launchers/build.sh
  • '[' -h launchers/build.sh ']'
  • isWindows
    ++ uname
  • [[ CYGWIN_NT-6.3 == \N\T ]]
  • return 0
    ++++ dirname launchers/build.sh
    +++ cd -P launchers
    +++ pwd
    ++ cygpath -m /cygdrive/c/64bit/ice-2/launchers
  • readonly SCRIPT_DIR=C:/64bit/ice-2/launchers
  • SCRIPT_DIR=C:/64bit/ice-2/launchers
  • source C:/64bit/ice-2/launchers/configure.sh
    ++ VERSION=2.0.0-alpha8
    ++ LOCALIZATIONS='en_US.UTF-8 cs_CZ.UTF-8 pl_PL.UTF-8 de_DE.UTF-8'
    ++ '[' x2.0.0-alpha8 == x ']'
    ++ readonly VERSION=2.0.0-alpha8
    ++ VERSION=2.0.0-alpha8
    ++ '[' x == x ']'
    ++ echo 'default jre is necessary'
    default jre is necessary

    ++ exit 1

@douph1
Copy link
Contributor

douph1 commented Sep 23, 2020

As proprosed by @don-vip #520

The proper way would be to not force users to define a "JRE" variable at all, and either rely on JAVA_HOME, or simply on the PATH

and I'm ok with this !, I have added my comment:

What about defaulting to JAVA_HOME if JRE is not defined ?

Overloading JAVA_HOME with JRE is a good option, but I agree with @don-vip and @patris70 that making mandatory to set JRE when JAVA_HOME exists is superfluous

@patris70
Copy link
Author

Ok, now i get Error about /Libs

$ launchers/build.sh 2.0.0-alpha8

  • set -e
  • set -o pipefail
  • SCRIPT_SOURCE=launchers/build.sh
  • '[' -h launchers/build.sh ']'
  • isWindows
    ++ uname
  • [[ CYGWIN_NT-6.3 == \N\T ]]
  • return 0
    ++++ dirname launchers/build.sh
    +++ cd -P launchers
    +++ pwd
    ++ cygpath -m /cygdrive/c/64bit/ice-2/launchers
  • readonly SCRIPT_DIR=C:/64bit/ice-2/launchers
  • SCRIPT_DIR=C:/64bit/ice-2/launchers
  • source C:/64bit/ice-2/launchers/configure.sh
    ++ VERSION=2.0.0-alpha8
    ++ LOCALIZATIONS='en_US.UTF-8 cs_CZ.UTF-8 pl_PL.UTF-8 de_DE.UTF-8'
    ++ '[' x2.0.0-alpha8 == x ']'
    ++ readonly VERSION=2.0.0-alpha8
    ++ VERSION=2.0.0-alpha8
    ++ '[' x/d/64bit/jdk == x ']'
    ++ readonly JRE=/d/64bit/jdk
    ++ JRE=/d/64bit/jdk
    +++ dirname C:/64bit/ice-2/launchers
    ++ readonly PROJECT_TOP=C:/64bit/ice-2
    ++ PROJECT_TOP=C:/64bit/ice-2
    ++ readonly TARGET=C:/64bit/ice-2/launchers/target
    ++ TARGET=C:/64bit/ice-2/launchers/target
    ++ readonly TARGET_TMP=C:/64bit/ice-2/launchers/target/tmp
    ++ TARGET_TMP=C:/64bit/ice-2/launchers/target/tmp
    ++ readonly TARGET_IMAGES=C:/64bit/ice-2/launchers/target/images
    ++ TARGET_IMAGES=C:/64bit/ice-2/launchers/target/images
    ++ readonly TARGET_DOCS_PARENT=C:/64bit/ice-2/launchers/target/icedtea-web-docs
    ++ TARGET_DOCS_PARENT=C:/64bit/ice-2/launchers/target/icedtea-web-docs
    ++ readonly TARGET_DOCS=C:/64bit/ice-2/launchers/target/icedtea-web-docs/2.0.0-alpha8
    ++ TARGET_DOCS=C:/64bit/ice-2/launchers/target/icedtea-web-docs/2.0.0-alpha8
    ++ rm -rf C:/64bit/ice-2/launchers/target
    ++ '[' x = x ']'
    ++ readonly ITW_LIBS=BUNDLED
    ++ ITW_LIBS=BUNDLED
    ++ '[' x == x ']'
    ++ readonly LIB_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ LIB_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ '[' x == x ']'
    ++ readonly ITW_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ ITW_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ '[' x == x ']'
    ++ readonly ETC_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ ETC_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ '[' x == x ']'
    ++ readonly BIN_TARGET_DIR=C:/64bit/ice-2/launchers/target/bin
    ++ BIN_TARGET_DIR=C:/64bit/ice-2/launchers/target/bin
    ++ '[' x == x ']'
    ++ readonly SPLASH_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ SPLASH_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ '[' x == x ']'
    ++ readonly ICO_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ ICO_TARGET_DIR=C:/64bit/ice-2/launchers/target/libs
    ++ '[' xBUNDLED == xDISTRIBUTION ']'
    +++ ls C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar
    +++ grep -v sources
    +++ grep -v javadoc
    +++ grep -v shaded
    ++ readonly JAVAWS_SRC=C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar
    ++ JAVAWS_SRC=C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar
    +++ ls C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar
    +++ grep sources
    ++ readonly JAVAWS_SRC_SRC=C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar
    ++ JAVAWS_SRC_SRC=C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar
    ++ '[' x == x ']'
    ++ readonly SYSTEM_JARS=/usr/share
    ++ SYSTEM_JARS=/usr/share
    ++ '[' x == x ']'
    +++ getJar rhino
    +++ '[' xBUNDLED == xDISTRIBUTION ']'
    +++ echo ''
    ++ readonly RHINO_SRC=
    ++ RHINO_SRC=
    ++ '[' x == x ']'
    +++ getJar tagsoup
    +++ '[' xBUNDLED == xDISTRIBUTION ']'
    +++ echo ''
    ++ readonly TAGSOUP_SRC=
    ++ TAGSOUP_SRC=
    ++ '[' x == x ']'
    +++ getJar mslinks
    +++ '[' xBUNDLED == xDISTRIBUTION ']'
    +++ echo ''
    ++ readonly MSLINKS_SRC=
    ++ MSLINKS_SRC=
    +++ find C:/64bit/ice-2/core/src
    +++ grep '/javaws_splash.png$'
    FIND: Parameterformat falsch
    ++ readonly SPLASH_PNG_SRC=
    ++ SPLASH_PNG_SRC=
    +++ find C:/64bit/ice-2/launchers
    +++ grep '/javaws.png$'
    FIND: Parameterformat falsch
    ++ readonly JAVAWS_ICO_SRC=
    ++ JAVAWS_ICO_SRC=
    +++ find C:/64bit/ice-2/launchers
    +++ grep '/itw-modularjdk.args$'
    FIND: Parameterformat falsch
    ++ readonly MODULARJDK_ARGS_FILE_SRC=
    ++ MODULARJDK_ARGS_FILE_SRC=
    ++ '[' x == x ']'
    ++ readonly KCOV_HOME=/home/Administrator/kcov
    ++ KCOV_HOME=/home/Administrator/kcov
    ++ KCOV=none
    ++ '[' -e /home/Administrator/kcov ']'
    ++ '[' x == x ']'
    ++ readonly CARGO_RUST=cargo
    ++ CARGO_RUST=cargo
    ++ '[' x == x ']'
    ++ readonly WIN_INSTALLER_DIR=C:/64bit/ice-2/launchers/win-installer
    ++ WIN_INSTALLER_DIR=C:/64bit/ice-2/launchers/win-installer
    ++ '[' x/d/64bit/wix/bin == x ']'
    ++ readonly WIXGEN_JAR=/d/64bit/wix/bin
    ++ WIXGEN_JAR=/d/64bit/wix/bin
    ++ '[' x/d/64bit/wix/bin == x ']'
    ++ readonly WIX_TOOLSET_DIR=/d/64bit/wix/bin
    ++ WIX_TOOLSET_DIR=/d/64bit/wix/bin
  • source C:/64bit/ice-2/launchers/utils.sh
  • mkdir -p C:/64bit/ice-2/launchers/target/libs
  • mkdir -p C:/64bit/ice-2/launchers/target/libs
  • mkdir -p C:/64bit/ice-2/launchers/target/libs
  • mkdir -p C:/64bit/ice-2/launchers/target/bin
  • mkdir -p C:/64bit/ice-2/launchers/target/libs
  • mkdir -p C:/64bit/ice-2/launchers/target/libs
  • publishInternalLib C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar C:/64bit/ice-2/launchers/target/libs javaws.jar
    ++ getTarget C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar C:/64bit/ice-2/launchers/target/libs javaws.jar
    ++ '[' xjavaws.jar == x ']'
    ++ echo C:/64bit/ice-2/launchers/target/libs/javaws.jar
  • cp C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar C:/64bit/ice-2/launchers/target/libs/javaws.jar
    ++ getTarget C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8.jar C:/64bit/ice-2/launchers/target/libs javaws.jar
    ++ '[' xjavaws.jar == x ']'
    ++ echo C:/64bit/ice-2/launchers/target/libs/javaws.jar
  • RESOURCES_SRC_TO_DEST["$1"]=C:/64bit/ice-2/launchers/target/libs/javaws.jar
  • publishInternalLib C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar C:/64bit/ice-2/launchers/target/libs javaws-srcs.jar
    ++ getTarget C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar C:/64bit/ice-2/launchers/target/libs javaws-srcs.jar
    ++ '[' xjavaws-srcs.jar == x ']'
    ++ echo C:/64bit/ice-2/launchers/target/libs/javaws-srcs.jar
  • cp C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar C:/64bit/ice-2/launchers/target/libs/javaws-srcs.jar
    ++ getTarget C:/64bit/ice-2/artifact-all-dependencies/target/icedtea-web-all-dependencies-2.0.0-alpha8-sources.jar C:/64bit/ice-2/launchers/target/libs javaws-srcs.jar
    ++ '[' xjavaws-srcs.jar == x ']'
    ++ echo C:/64bit/ice-2/launchers/target/libs/javaws-srcs.jar
  • RESOURCES_SRC_TO_DEST["$1"]=C:/64bit/ice-2/launchers/target/libs/javaws-srcs.jar
  • publishInternalLib '' C:/64bit/ice-2/launchers/target/libs
    ++ getTarget C:/64bit/ice-2/launchers/target/libs
    ++ '[' x == x ']'
    +++ basename C:/64bit/ice-2/launchers/target/libs
    ++ echo /libs
    + cp /libs
    cp: missing destination file operand after '/libs'
    Try 'cp --help' for more information.

@patris70
Copy link
Author

patris70 commented Sep 23, 2020

@douph1

Can you please Upload your Tools Folder in your Github, then i can download and use it for compiling.

@patris70
Copy link
Author

Compiled without ERROR, for Windows launcher Build, very bad settings in Source Files!
1

2

@patris70
Copy link
Author

@hendrikebbers
Hi, here is Info for Compiling Tools on Windows, you can using for Windows Build Document.

First, we need itw_win_devkit, here is link (we do not need MS VS or other), as Info you can using this Tools for Icedtea-Web 1.8.x compiling:
https://github.com/akashche/itw_win_devkit

Download MAVEN from here:
https://maven.apache.org/download.cgi

Download GIT from here:
https://git-scm.com/downloads

We need WINGEN.JAR File, copy this file in wix\bin Folder, here ist File:

wixgen.zip

For building Javaws.exe x64 (64bit), we need JDK x64, for Javaws.exe x86 (32bit), we need JDK x86.

Add in Windows %PATH%, ==> C:\maven\bin;c:\git\cmd;c:\64bit\wix\bin

Create this Variables with Value:
MAVEN_HOME=C:\maven
M2_HOME=C:\maven
WIX_TOOLSET_DIR=C:\64bit\wix\bin
WIXGEN_JAR=C:\64bit\wix\bin\wixgen.jar

For example, my Source files and Tools are in Folder C:\64bit and Icedtea-Web Source Folder Name is icedtea-web-2, create a Batch file with this content:

@echo off
set BAD_SLASH_SCRIPT_DIR=%~dp0
set SCRIPT_DIR=%BAD_SLASH_SCRIPT_DIR:=/%
set PATH=%PATH%;%SCRIPT_DIR%tortoisehg
set PATH=%PATH%;%SCRIPT_DIR%jdk/bin
set PATH=%PATH%;%SCRIPT_DIR%git/cmd
set PATH=%PATH%;%SCRIPT_DIR%cygwin/bin
set PATH=%PATH%;%SCRIPT_DIR%cygwin
set PATH=%PATH%;%SCRIPT_DIR%rust/bin
set JRE=C:\64bit\jdk
set JRE_Home=C:\64bit\jdk
set Java_Home=C:\64bit\jdk

Run your Batch File, then start cygwin.bat File.
Run this two commands:
PATH=/usr/bin:$PATH
export JRE=/cygdrive/c/64bit/jdk

Now Run this Command:
mvn clean install -DskipTests -P launchers

Now you compiled withot Error and MSI File is in Path C:\64bit\icedtea-web-2\launchers\target\images:

3

4

Hope to help other

@lherschi
Copy link
Contributor

lherschi commented Sep 24, 2020

For building Javaws.exe x64 (64bit), we need JDK x64, for Javaws.exe x86 (32bit), we need JDK x86.

That's not true. The Java bit version doesn't matter.

The following is necessary for a 32-bit target system:
Set "win64": false in installer.json.in.
Set the parameter "-arch x86" at candle.exe in buils.sh. This is optional because that is the default value.
The two things mentioned only affect the msi installer.
Make sure that rust uses a 32-bit toolkit when building, e.g. through "rustup default stable-i686-pc-windows-gnu".

The following is necessary for a 64-bit target system:
Set "win64": true in installer.json.in. This is optional because it is the default of wixgen.
Set the parameter "-arch x64" at candle.exe in buils.sh.
These two things ensure a pure 64-bit msi installer, but are not absolutely necessary, since the 32-bit msi installer also works on 64-bit systems.
Make sure that rust uses a 64-bit toolkit when building, e.g. through "rustup default stable-x86_64-pc-windows-gnu".

@patris70
Copy link
Author

patris70 commented Sep 24, 2020

@lherschi

i have comipled both x64 and x86 Javaws.exe Version with my trick (my Machine is x64).
Rust takes Java Version (x64 or x86) and compile automatic.

I tested nicht x86 for Icedtea-Web 2.x Version, but this Trick works for Icedtea-Web 1.8.x Version.
If Source Files for Rust not changed (i mean between 1.8.x and 2.x), take Time and test it!

Regards

@douph1
Copy link
Contributor

douph1 commented Sep 24, 2020

As @lherschi mentionned himself that

This Dev-Kit uses the old mercurial repository and is therefore obsolete
in #313

don't we must document a way without itw_win_devkit and just by

So we can test and use up-to-date tools ?

I think that yesterday when I have rebooted into Windows to build IceadTea, I have done it without itw_win_devkit
I will re-check it

@lherschi
Copy link
Contributor

lherschi commented Sep 24, 2020

Rust compiles the launcher, including javaws.exe, since the launcher is written in rust and not in java. Rust does not compile any java code, this is done using maven. Thus the java compiler is irrelevant for the bit version of the launcher.

@lherschi
Copy link
Contributor

The devkit is just a compilation of the tools needed. You need git, maven, jdk, cygwin, rust (including gnu-linker (stable-i686-pc-windows-gnu or default stable-x86_64-pc-windows-gnu)), WiX toolset and the wixgen library.

@patris70
Copy link
Author

@lherschi
you have right for Icedtea-Web 2.x.
I tested and do not work this Trick for Icedtea-Web 2.x but works for Icedtea-Web 1.8.x.
Why?

@lherschi
Copy link
Contributor

From my point of view, your trick should not work even with 1.8. I build 1.8 myself for 32 and 64 bit and always have to make the adjustments I mentioned above. The difference between 1.8 and 2.0 and the launchers is that 1.8 uses make to call cargo and the wix toolset and 2.0 uses a shell script.

@patris70
Copy link
Author

No, my trick works without Problem with 1.8.x Version.

But here is Trick for 2.x Version:

for Icedtea-Web 2.0 Version, you need just this trick for x86 building,
in .cargo folder create config file with this content (i used itw-dev kit):
target = "i686-pc-windows-gnu"

8

9

10

Hope help other

@lherschi
Copy link
Contributor

lherschi commented Sep 24, 2020

target = "i686-pc-windows-gnu"

This has the same effect as "rustup default stable-i686-pc-windows-gnu".

This gives you a 32-bit launcher, and candle.exe creates a 32-bit msi installer by default.
Conversely, this means that in your 64-bit build the launcher is 64-bit, but the msi-installer is still 32-bit.

@lherschi
Copy link
Contributor

lherschi commented Sep 24, 2020

Your msi-installer suggests "Program Files" instead of "Program Files (x86)" as the installation directory for your 32-bit build on a 64-bit Windows and if you follow the suggestion you will have 32-bit launcher in the 64-bit programs directory.

@patris70
Copy link
Author

I know, i do not need MSI File, becaues i build my self Openjdj 8uxxx+Icedtea-web MSI File.
For me is just important, both javaws.exe (x86 & x64).

@lherschi
Copy link
Contributor

Remember, however, that your installer must then also make the registry entries that the icedtea-web installer would otherwise make.

@patris70
Copy link
Author

As @lherschi mentionned himself that

This Dev-Kit uses the old mercurial repository and is therefore obsolete
in #313

don't we must document a way without itw_win_devkit and just by

* installing Wix

* adding https://github.com/akashche/wixgen/

* installing git

* installing cygwin

* installing Rust/Cargo

* adding https://github.com/DmitriiShamrikov/mslinks

* installing a JDK
  ...

So we can test and use up-to-date tools ?

I think that yesterday when I have rebooted into Windows to build IceadTea, I have done it without itw_win_devkit
I will re-check it

you donot need MSLINK.

@hfluz
Copy link

hfluz commented Apr 14, 2021

I built Icedtea 2.0 to run a jnlp file that doesn't work on 1.8 version. I had some trouble understanding what's needed to build it on Ubuntu, so I'm adding the instructions below, maybe it's going to be useful for someone:

# Install dependencies (it didn't work with openjdk 11, so I used openjdk 8)
sudo apt install mvn git cargo openjdk-8-jdk
# Set JRE variable
export JRE=/usr/lib/jvm/java-8-openjdk-amd64
# Run maven
mvn clean install -DskipTests -P launchers

If it builds successfully the javaws executable will be in the launchers/target/bin/ folder.

This isn't needed on Fedora as it's the only linux distribution that already ships icedtea 2.0.

@danieldjewell
Copy link

As with @hfluz, I too found the issue with building the launchers to be an unset JRE variable for use in the launchers/configure.sh script.

Maven auto-magically discovers the proper JRE/JDK based on the runtime version set in pom.xml ... would it not be possible to have Maven add the discovered JDK path either as an environment variable or as a parameter to configure.sh to avoid this?

(Since Maven is already doing a great job of discovering the proper runtime path, it seems silly to have to provide it again...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Native build All issues that are targeting the native build (installers & executables)
Projects
None yet
Development

No branches or pull requests

10 participants