Windows 32-bit executable build

I notice that in 32bitBuild.bat there is an instruction to:

:: Copy gui/deploy.Bitsquare.jar file from mac build to windows

Where do I get this if I don’t have a Mac build?? And where is it copied to??

Here’s the result of invoking the batch file:

C:\Users\Rob\bitsquare>package\windows\32bitBuild.bat C:\Users\Rob\bitsquare>SET version=0.4.9.6 C:\Users\Rob\bitsquare>SET jdk=C:\Program Files\Java\jdk1.8.0_101 C:\Users\Rob\bitsquare>SET outdir=\\VBOXSVR\vm_shared_windows_32bit C:\Users\Rob\bitsquare>call "C:\Program Files\Java\jdk1.8.0_101\bin\javapackager.exe" -deploy -BappVersion="0.4.9.6" -native exe -name Bitsquare -title Bitsquare -vendor Bitsquare -outdir \\VBOXSVR\vm_shared_windows_32bit -appclass io.bitsquare.app.BitsquareAppMain -srcfiles \\VBOXSVR\vm_shared_windows_32bit\Bitsquare-0.4.9.6.jar -outfile Bitsquare -Bruntime="C:\Program Files\Java\jdk1.8.0_101\jre" -BjvmProperties=-Djava.net.preferIPv4Stack=true

Using base JDK at: C:\Program Files\Java\jdk1.8.0_101\jre
JNLP failed : \VBOXSVR\vm_shared_windows_32bit\Bitsquare.jnlp (The network path was not found)
java.io.FileNotFoundException: \VBOXSVR\vm_shared_windows_32bit\Bitsquare.jnlp
(The network path was not found)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:162)
at com.oracle.tools.packager.jnlp.JNLPBundler.save(JNLPBundler.java:1087
)
at com.oracle.tools.packager.jnlp.JNLPBundler.save(JNLPBundler.java:1080
)
at com.oracle.tools.packager.jnlp.JNLPBundler.execute(JNLPBundler.java:5
19)
at com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(Packa
gerLib.java:352)
at com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(
PackagerLib.java:318)
at com.sun.javafx.tools.packager.Main.main(Main.java:476)
Error: Bundler “WebStart JNLP Bundler” (jnlp) failed to produce a bundle.

C:\Users\Rob\bitsquare>

OK, I fixed an obvious error with -outdir and now I get this:

C:\Users\Rob\bitsquare>package\windows\32bitBuild.bat C:\Users\Rob\bitsquare>SET version=0.4.9.6 C:\Users\Rob\bitsquare>SET jdk=C:\Program Files\Java\jdk1.8.0_101 C:\Users\Rob\bitsquare>SET outdir=.\ C:\Users\Rob\bitsquare>call "C:\Program Files\Java\jdk1.8.0_101\bin\javapackager.exe" -deploy -BappVersion="0.4.9.6" -native exe -name Bitsquare -title Bitsquare -vendor Bitsquare -outdir .\ -appclass io.bitsquare.app.BitsquareAppMain -srcfiles .\\Bitsquare-0.4.9.6.jar -outfile Bitsquare -Bruntime="C:\Program Files\Java\jdk1.8.0_101\jre" -BjvmProperties=-Djava.net.preferIPv4Stack=true

Error: Unknown argument: Files\Java\jdk1.8.0_101\jre -BjvmProperties=-Djava.net.preferIPv4Stack=true

Huh? It appears that ‘call’ can’t parse a standard command line. Clearly this script can’t possibly work.

All right, one more bug fixed. Since any STANDARD installation of Java has %JAVA_HOME% defined in the environment, I ignored the bogus 'SET jdk=…" and used the predefined variable. It now works, but throws this error:

Bundler EXE Installer skipped because of a configuration problem: Main application jar is missing. Advice to fix: Make sure to use fx:jar task to create main application jar.

So where is this mysterious Bitsquare-0.4.9.6.jar and how do I create it?

GRRRRR.

u can build the jar file for any platform. look at the mac build script before the packager starts, there is the maven build.

Here is the build instructions:

the windows packager build u only need if u want to build an exe, which is usually not what a dev wants.

Is not relevant. I am not sure if that really helps, was added once when we had issues with IPv6 addresses in the old DHT network (not used anymore).
So if that arg does nto work on your jdk just remove it.

The problem is I don’t have the Bitsquare-0.4.9.6.jar file. The maven build outputs two files, called shaded.jar and gui-0.4.9.6.jar

If you look closely at the Unknown argument error you will see that it has nothing to do with IPv6. The batchfile ‘call’ statement doesn’t work, it truncates between ‘Program Files’. I already fixed that by using the %JAVA_HOME% environment variable.

Why do I want to build the executable? Because I want to be able to use my changes now, not after the merge and release cycle.

Looked at the Mac scripts and figured out that shaded.jar = Bitsquare-0.4.9.6.jar so fixed the batch file. It builds! It installs! It works!