This diff is against the 0.9 version of the app. It adds a number of features and fixes some big bugs with native library files.
HUGE THANK YOU TO THE DEVELOPERS of this tool! This made an impossibly painful webstart experience not that bad at all.
--------------------------------------------------------------------
Extension JNLP's
--------------------------------------------------------------------
BIG CHANGE -- the ability to create JNLP extensions. This creates a separate JNLP file that is then referred to as an extension in your
launch.jnlp. This allows you to have jars in your project that AREN'T signed with the same certificate as your main project files. For us, we use
JNIWrapper which is signed by an external vendor, so this allows you to
<!-- an extension is a reference to another jnlp file that contains items that are signed with a different cert, e.g. jniwrap stuff
This block actually generates another jnlp file named jniwrapper.jnlp.
-->
<jw:extension name="jniwrapper" title="JNIWrapper resources" vendor="TeamDev Ltd." codebase="${webstart_codebase_url}">
<jw:description>JNIWrapper Application</jw:description>
<jw:description kind="short">JNIWrapper Application</jw:description>
<!-- define jars that are externally signed -->
<lib dir="${package.dir.lib}">
<include name="**/jniwrap-3.5.jar"/>
<include name="**/winpack-3.5.jar"/>
</lib>
</jw:extension>
--------------------------------------------------------------------
Native library files now actually propagate os and arch (arch was added)
--------------------------------------------------------------------
Previously, native library files just dropped os and arch on the floor. Now they do get propagated to the launch.jnlp.
Can't remember if I changed the syntax, but it's as such:
<jw:nativeLib os="Windows" arch="x86" dir="${package.dir.lib}" >
<include name="**/jniwrap.jar"/>
</jw:nativeLib>
--------------------------------------------------------------------
Native library files now get jarred correctly
--------------------------------------------------------------------
Native library files that aren't jars are supposed to be jarred, but that code was broken. (lots of null pointers because setProject wasn't call
on the new Jar() object) This is now fixed.
--------------------------------------------------------------------
Be able to use other keystores other than default
--------------------------------------------------------------------
Added "keystorepath" that allows to use a different keystore path than C:\Documents and Settings\YourUsername. Here's how you use it:
<jw:jnlpwar [...] keystorepath="${bin.dir}/hedgehog.keys">
--------------------------------------------------------------------
Application doesn't try to copy jar again anymore.
--------------------------------------------------------------------
Removed the additional copy of the mainclass's jar because a) it didn't properly sign the jar, and b) if that jar is already included in the <lib>
section, it causes exceptions. With this version, I assume that the jar that contains the mainclass is included in the lib section.
I did this to fix my project -- your mileage may vary, since you may have a different configuration.
Patch to 0.9 version of ant-jnlp-war