Could you create a correct patch?
Your patch rewrite all plugin lines. It's not simple to view changes.

After, you'll can post it in our issue tracker
(http://jira.codehaus.org/secure/BrowseProject.jspa?id=10342)
Thanks

Emmanuel

----- Original Message ----- 
From: "Brent Paschall" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, March 24, 2004 6:45 PM
Subject: [patch] jnlp plugin


> Greetings,
>
> The jnlp plugin has been a huge help to some recent development efforts of
> mine.  In order to meet all my requirements, I needed two additional
> features that I believe might be of use to others, so I am submitting a
> patch for the following:
>
> 1) Tweaked classpath generation.  I was having a problem where some
> dependencies of the jnlp app I was using had some (log4j) configuration
> files that were named identically to those in my app.  Because the
resource
> tags for dependencies are generated in the jnlp file prior to the resource
> tag for the project being built, the dependencies appear on the jnlp
> classpath before the project code, overriding the project's files.  The
> attached patch resolves this by always putting the resource tag for the
> current project ahead of any dependencies.
>
> 2) Added basic support for extensions.  The jnlp plugin already supports
the
> generation of jar and native jar resources.  The patch also adds support
for
> generating extension resources.  A <jnlp.extension>true</jnlp.extension>
> added to the properties of a dependency will create an extension resource
in
> the jnlp file with an href set to the url of the dependency. The patch
also
> updates the properties documentation to reflect this change.  Basic
support
> means that there are additional attributes and subtags of <extension> that
> are not included in this patch.
>
> Hope this helps!
>
> Brent A. Paschall
> Spheris
> 615-261-1575
> [EMAIL PROTECTED]
>
> Index: plugin.jelly
> ===================================================================
> retrieving revision 1.24
> diff -u -r1.24 plugin.jelly
> --- plugin.jelly 4 Mar 2004 18:36:13 -0000 1.24
> +++ plugin.jelly 24 Mar 2004 17:10:28 -0000
> @@ -41,313 +41,277 @@
>          description="Generate JNLP file and sign all jars"
>          prereqs="jnlp:generate-jnlp"/>
>
> -    <goal name="jnlp:generate-jnlp"
> -             description="Generate the .jnlp file and sign all jars"
> -             prereqs="jar:jar">
> -
> -        <ant:mkdir dir="${maven.jnlp.dir}"/>
> -        <ant:echo>Creating ${maven.jnlp.dir}/${pom.artifactId}.jnlp
> ...</ant:echo>
> -
> -        <!-- ================== -->
> -        <!-- Generate JNLP file -->
> -        <!-- ================== -->
> -        <maven:property name="maven.jnlp.description"
> defaultValue="${pom.description}"/>
> -        <maven:property name="maven.jnlp.description.short"
> defaultValue="${pom.shortDescription}"/>
> -        <maven:property name="maven.jnlp.http.codebase"
> defaultValue="${pom.url}"/>
> -        <maven:property name="maven.jnlp.signjar.alias"
> defaultValue="${pom.artifactId}"/>
> -        <maven:property name="maven.jnlp.signjar.dname.o"
> defaultValue="${pom.organization.name}"/>
> -        <maven:property name="maven.jnlp.title"
> defaultValue="${pom.name}"/>
> -        <j:set var="final.jar.name" value="${maven.final.name}.jar"/>
> -
> -        <j:file name="${maven.jnlp.dir}/${pom.artifactId}.jnlp"
> prettyPrint="true"
> -          xmlns="dummy">
> -
> -
> -            <jnlp spec="${maven.jnlp.spec}"
> -              codebase="${maven.jnlp.http.codebase}"
> -              href="${pom.artifactId}.jnlp">
> -            <j:if test="${context.getVariable('maven.jnlp.cert.version')
!=
> null}">
> -              <j:set var="certVer" value="${maven.jnlp.cert.version}"/>
> -              <ant:echo>Appending Certificate Version:
> ${certVer}</ant:echo>
> -            </j:if>
> -
> -              <information>
> -                <title>${maven.jnlp.title}</title>
> -                  <j:if test="${context.getVariable('maven.jnlp.vendor')
!=
> null}">
> -                    <vendor>${maven.jnlp.vendor}</vendor>
> -                  </j:if>
> -                  <j:if
test="${context.getVariable('maven.jnlp.homepage')
> != null}">
> -                    <homepage href="${maven.jnlp.homepage}"/>
> -                  </j:if>
> -                  <j:if test="${context.getVariable('maven.jnlp.icon') !=
> null}">
> -                    <icon href="${maven.jnlp.icon}"/>
> -                  </j:if>
> -                  <j:if
> test="${context.getVariable('maven.jnlp.icon.splash') != null}">
> -                    <icon kind="splash"
href="${maven.jnlp.icon.splash}"/>
> -                  </j:if>
> -                  <j:if
> test="${context.getVariable('maven.jnlp.description') != null}">
> -                    <description>${maven.jnlp.description}</description>
> -                  </j:if>
> -                  <j:if
> test="${context.getVariable('maven.jnlp.description.one-line') != null}">
> -                    <description
> kind="one-line">${maven.jnlp.description.one-line}</description>
> -                  </j:if>
> -                  <j:if
> test="${context.getVariable('maven.jnlp.description.short') != null}">
> -                    <description
> kind="short">${maven.jnlp.description.short}</description>
> -                  </j:if>
> -                  <j:if
> test="${context.getVariable('maven.jnlp.description.tooltip') != null}">
> -                    <description
> kind="tooltip">${maven.jnlp.description.tooltip}</description>
> -                    </j:if>
> -                    <j:if
> test="${context.getVariable('maven.jnlp.offline.allowed') != null}">
> -                        <offline-allowed/>
> -                    </j:if>
> -                </information>
> -                <security>
> -                    <j:set var="permission"
> value="${maven.jnlp.permission}X"/>
> -                    <j:if test="${permission == 'allX'}">
> -                        <all-permissions/>
> -                    </j:if>
> -                    <j:if test="${permission == 'j2eeX'}">
> -                        <j2ee-application-client-permissions/>
> -                    </j:if>
> -                </security>
> -
> -                <resources>
> -                    <j2se version="${maven.jnlp.j2se.version}"
> -
> initial-heap-size="${maven.jnlp.j2se.heapsize.initial}"
> -
> max-heap-size="${maven.jnlp.j2se.heapsize.max}"/>
> -                    <j:set var="mainExists" value="false"/>
> -
> -                    <j:forEach var="lib" items="${pom.artifacts}">
> -                        <j:set var="dep" value="${lib.dependency}"/>
> -                        <j:set var="depVer" value="${dep.version}"/>
> -                        <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> -                          <j:set var="depVer"
> value="${depVer.concat('-').concat(certVer)}"/>
> -                        </j:if>
> -                        <j:if
> test="${dep.getProperty('jnlp.jar')=='true'}">
> -                            <j:choose>
> -                              <j:when
> test="${dep.getProperty('jnlp.main.jar')=='true'}">
> -                                <j:set var="mainExists" value="true"/>
> -                                <j:choose>
> -                                  <j:when
> test="${(context.getVariable('maven.jnlp.usejarversions') != null) and
> (dep.version.indexOf('SNAPSHOT') lt 0)}">
> -                                       <jar href="${lib.file.name}"
> main="true" version="${depVer}"/>
> -                                  </j:when>
> -                                  <j:otherwise>
> -                                    <jar href="${lib.file.name}"
> main="true"/>
> -                                  </j:otherwise>
> -                                </j:choose>
> -                              </j:when>
> -                              <j:otherwise>
> -                                <j:choose>
> -                                  <j:when
> test="${(context.getVariable('maven.jnlp.usejarversions') != null) and
> (dep.version.indexOf('SNAPSHOT') lt 0)}">
> -                                      <jar href="${lib.file.name}"
> version="${depVer}"/>
> -                                  </j:when>
> -                                  <j:otherwise>
> -                                    <jar href="${lib.file.name}" />
> -                                  </j:otherwise>
> -                                </j:choose>
> -                              </j:otherwise>
> -                            </j:choose>
> -                        </j:if>
> -                        <j:if
> test="${dep.getProperty('jnlp.native.jar')=='true'}">
> -                            <nativelib href="${lib.file.name}"/>
> -                        </j:if>
> -                    </j:forEach>
> -                    <j:set var="depVer" value="${pom.currentVersion}"/>
> -                    <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> -                      <j:set var="depVer"
> value="${depVer.concat('-').concat(certVer)}"/>
> -                    </j:if>
> -                    <j:choose>
> -                        <j:when test="${mainExists=='false'}">
> -                            <j:choose>
> -                              <j:when
> test="${(context.getVariable('maven.jnlp.usejarversions') != null) and
> (pom.currentVersion.indexOf('SNAPSHOT') lt 0)}">
> -                                <jar href="${final.jar.name}" main="true"
> version="${depVer}"/>
> -                              </j:when>
> -                              <j:otherwise>
> -                                <jar href="${final.jar.name}"
main="true"/>
> -                              </j:otherwise>
> -                            </j:choose>
> -                        </j:when>
> -                        <j:otherwise>
> -                            <j:choose>
> -                              <j:when
> test="${(context.getVariable('maven.jnlp.usejarversions') != null) and
> (pom.currentVersion.indexOf('SNAPSHOT') lt 0)}">
> -                                <jar href="${final.jar.name}"
> version="${depVer}"/>
> -                              </j:when>
> -                              <j:otherwise>
> -                                <jar href="${final.jar.name}" />
> -                              </j:otherwise>
> -                            </j:choose>
> -                        </j:otherwise>
> -                    </j:choose>
> -                    <!--  This is close to what it WILL look like, but
for
> now it is the ugly ass thing below  it-->
> -
> -                    <u:tokenize var="listOfProperties" delim="
> ">${maven.jnlp.properties}</u:tokenize>
> -                    <j:forEach var="someProperty"
> items="${listOfProperties}">
> -                      <property name="${someProperty}"
> value="${context.getVariable(someProperty)}"/>
> -                    </j:forEach>
> -
> -                </resources>
> -                <j:choose>
> -                    <j:when test="${maven.jnlp.isapplet}">
> -                        <applet-desc main-class="${maven.jnlp.mainclass}"
> name="${maven.jnlp.applet.name}">
> -                            <u:tokenize var="listOfArguments" delim="
> ">${maven.jnlp.mainclass.arguments}</u:tokenize>
> -                            <j:forEach var="someArgument"
> items="${listOfArguments}">
> -                              <argument>${someArgument}</argument>
> -                            </j:forEach>
> -                        </applet-desc>
> -                    </j:when>
> -                    <j:when test="${maven.jnlp.isinstaller}">
> -                        <installer-desc
> main-class="${maven.jnlp.mainclass}"/>
> -                    </j:when>
> -                    <j:when test="${maven.jnlp.iscomponent}">
> -                        <component-desc/>
> -                    </j:when>
> -                    <j:otherwise>
> -                        <application-desc
> main-class="${maven.jnlp.mainclass}">
> -                            <u:tokenize var="listOfArguments" delim="
> ">${maven.jnlp.mainclass.arguments}</u:tokenize>
> -                            <j:forEach var="someArgument"
> items="${listOfArguments}">
> -                              <argument>${someArgument}</argument>
> -                            </j:forEach>
> -                        </application-desc>
> -                    </j:otherwise>
> -                </j:choose>
> -            </jnlp>
> -        </j:file>
> -
> -        <j:if test="${context.getVariable('maven.jnlp.usejarversions') !=
> null}">
> -
> -            <ant:echo>Creating ${maven.jnlp.dir}/version.xml
...</ant:echo>
> -
> -            <!-- ================== -->
> -            <!-- Generate version.xml file -->
> -            <!-- ================== -->
> -            <j:file name="${maven.jnlp.dir}/version.xml"
prettyPrint="true"
> -              xmlns="dummy">
> -               <jnlp-versions>
> -                <j:forEach var="lib" items="${pom.artifacts}">
> -                    <j:set var="dep" value="${lib.dependency}"/>
> -                    <j:if test="${(dep.getProperty('jnlp.jar')=='true' or
> dep.getProperty('jnlp.native.jar')=='true') and
> (dep.version.indexOf('SNAPSHOT') lt 0)}">
> -                      <resource>
> -                       <pattern>
> -                         <name>${lib.file.name}</name>
> -                         <j:set var="depVer" value="${dep.version}"/>
> -                         <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> -                           <j:set var="depVer"
> value="${depVer.concat('-').concat(certVer)}"/>
> -                         </j:if>
> -                         <version-id>${depVer}</version-id>
> -                       </pattern>
> -                       <file>${lib.file.name}</file>
> -                      </resource>
> -                    </j:if>
> -                </j:forEach>
> -                    <j:if test="${pom.currentVersion.indexOf('SNAPSHOT')
lt
> 0}">
> -                      <resource>
> -                       <pattern>
> -                         <name>${final.jar.name}</name>
> -                         <j:set var="depVer"
> value="${pom.currentVersion}"/>
> -                         <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> -                           <j:set var="depVer"
> value="${depVer.concat('-').concat(certVer)}"/>
> -                         </j:if>
> -                         <version-id>${depVer}</version-id>
> -                       </pattern>
> -                       <file>${final.jar.name}</file>
> -                      </resource>
> -                     </j:if>
> -               </jnlp-versions>
> -            </j:file>
> -        </j:if>
> -
> -
> -        <!-- =========================== -->
> -        <!-- Copy jars in jnlp directory -->
> -        <!-- =========================== -->
> -        <ant:available file="${maven.jnlp.signjar.store}"
> property="maven.jnlp.store.exists"/>
> -        <j:choose>
> -          <j:when test="${maven.jnlp.store.exists}">
> -
> -            <!-- ================ -->
> -            <!-- Updates Manifest -->
> -            <!-- ================ -->
> -            <ant:mkdir dir="${maven.jnlp.tmpdir}"/>
> -
> -            <jarfile:updateManifest
> -                inputJar="${maven.build.dir}/${maven.final.name}.jar"
> -                manifest="${plugin.resources}/jnlp.manifest"
> -                outputDir="${maven.jnlp.tmpdir}"
> -            />
> -
> -            <j:forEach var="lib" items="${pom.artifacts}">
> -              <j:set var="dep" value="${lib.dependency}"/>
> -              <j:if test="${dep.getProperty('jnlp.jar')=='true'}">
> -                <jarfile:updateManifest
> -                    inputJar="${lib.file.absolutePath}"
> -                    manifest="${plugin.resources}/jnlp.manifest"
> -                    outputDir="${maven.jnlp.tmpdir}"
> -                />
> -              </j:if>
> -              <j:if test="${dep.getProperty('jnlp.native.jar')=='true'}">
> -                <jarfile:updateManifest
> -                    inputJar="${lib.file.absolutePath}"
> -                    manifest="${plugin.resources}/jnlp.manifest"
> -                    outputDir="${maven.jnlp.tmpdir}"
> -                />
> -              </j:if>
> -            </j:forEach>
> -
> -            <!-- ========= -->
> -            <!-- Sign jars -->
> -            <!-- ========= -->
> -            <ant:echo>Found a store...signing jars</ant:echo>
> -
> -            <ant:echo>Signing jar files ...</ant:echo>
> -            <ant:signjar
> -                jar="${maven.jnlp.tmpdir}/${maven.final.name}.jar"
> -                signedjar="${maven.jnlp.dir}/${maven.final.name}.jar"
> -                alias="${maven.jnlp.signjar.alias}"
> -                storepass="${maven.jnlp.signjar.storepass}"
> -                keystore="${maven.jnlp.signjar.store}"/>
> -
> -            <j:forEach var="lib" items="${pom.artifacts}">
> -              <j:set var="dep" value="${lib.dependency}"/>
> -              <j:if test="${dep.getProperty('jnlp.jar')=='true'}">
> -                <ant:signjar
> -                  jar="${maven.jnlp.tmpdir}/${lib.file.name}"
> -                  signedjar="${maven.jnlp.dir}/${lib.file.name}"
> -                  alias="${maven.jnlp.signjar.alias}"
> -                  storepass="${maven.jnlp.signjar.storepass}"
> -                  keystore="${maven.jnlp.signjar.store}"/>
> -              </j:if>
> -              <j:if test="${dep.getProperty('jnlp.native.jar')=='true'}">
> -                <ant:signjar
> -                  jar="${maven.jnlp.tmpdir}/${lib.file.name}"
> -                  signedjar="${maven.jnlp.dir}/${lib.file.name}"
> -                  alias="${maven.jnlp.signjar.alias}"
> -                  storepass="${maven.jnlp.signjar.storepass}"
> -                  keystore="${maven.jnlp.signjar.store}"/>
> -              </j:if>
> -            </j:forEach>
> -          </j:when>
> -          <j:otherwise>
> -            <ant:copy todir="${maven.jnlp.dir}" flatten="true">
> -              <j:forEach var="lib" items="${pom.artifacts}">
> -                <j:set var="dep" value="${lib.dependency}"/>
> -                <j:if test="${dep.getProperty('jnlp.jar')=='true'}">
> -                  <ant:fileset dir="${lib.file.parent}">
> -                    <ant:include name="${lib.file.name}"/>
> -                  </ant:fileset>
> -                </j:if>
> -                <j:if
test="${dep.getProperty('jnlp.native.jar')=='true'}">
> -                  <ant:fileset dir="${lib.file.parent}">
> -                    <ant:include name="${lib.file.name}"/>
> -                  </ant:fileset>
> -                </j:if>
> -              </j:forEach>
> -              <ant:fileset dir="${maven.build.dir}">
> -                <ant:include name="${maven.final.name}.jar"/>
> -              </ant:fileset>
> -            </ant:copy>
> -          </j:otherwise>
> -        </j:choose>
> -    </goal>
> + <goal name="jnlp:generate-jnlp" description="Generate the
> .jnlp file and sign all jars" prereqs="jar:jar">
> + <ant:mkdir dir="${maven.jnlp.dir}"/>
> + <ant:echo>Creating ${maven.jnlp.dir}/${pom.artifactId}.jnlp
> ...</ant:echo>
> + <!-- ================== -->
> + <!-- Generate JNLP file -->
> + <!-- ================== -->
> + <maven:property name="maven.jnlp.description"
> defaultValue="${pom.description}"/>
> + <maven:property name="maven.jnlp.description.short"
> defaultValue="${pom.shortDescription}"/>
> + <maven:property name="maven.jnlp.http.codebase"
> defaultValue="${pom.url}"/>
> + <maven:property name="maven.jnlp.signjar.alias"
> defaultValue="${pom.artifactId}"/>
> + <maven:property name="maven.jnlp.signjar.dname.o"
> defaultValue="${pom.organization.name}"/>
> + <maven:property name="maven.jnlp.title"
> defaultValue="${pom.name}"/>
> + <j:set var="final.jar.name"
> value="${maven.final.name}.jar"/>
> + <j:file name="${maven.jnlp.dir}/${pom.artifactId}.jnlp"
> prettyPrint="true" xmlns="dummy">
> + <jnlp spec="${maven.jnlp.spec}"
> codebase="${maven.jnlp.http.codebase}" href="${pom.artifactId}.jnlp">
> + <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> + <j:set var="certVer"
> value="${maven.jnlp.cert.version}"/>
> + <ant:echo>Appending Certificate
> Version: ${certVer}</ant:echo>
> + </j:if>
> + <information>
> + <title>${maven.jnlp.title}</title>
> + <j:if
> test="${context.getVariable('maven.jnlp.vendor') != null}">
> +
> <vendor>${maven.jnlp.vendor}</vendor>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.homepage') != null}">
> + <homepage
> href="${maven.jnlp.homepage}"/>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.icon') != null}">
> + <icon
> href="${maven.jnlp.icon}"/>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.icon.splash') != null}">
> + <icon kind="splash"
> href="${maven.jnlp.icon.splash}"/>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.description') != null}">
> +
> <description>${maven.jnlp.description}</description>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.description.one-line') != null}">
> + <description
> kind="one-line">${maven.jnlp.description.one-line}</description>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.description.short') != null}">
> + <description
> kind="short">${maven.jnlp.description.short}</description>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.description.tooltip') != null}">
> + <description
> kind="tooltip">${maven.jnlp.description.tooltip}</description>
> + </j:if>
> + <j:if
> test="${context.getVariable('maven.jnlp.offline.allowed') != null}">
> + <offline-allowed/>
> + </j:if>
> + </information>
> + <security>
> + <j:set var="permission"
> value="${maven.jnlp.permission}X"/>
> + <j:if test="${permission ==
> 'allX'}">
> + <all-permissions/>
> + </j:if>
> + <j:if test="${permission ==
> 'j2eeX'}">
> +
> <j2ee-application-client-permissions/>
> + </j:if>
> + </security>
> + <resources>
> + <j2se
> version="${maven.jnlp.j2se.version}"
> initial-heap-size="${maven.jnlp.j2se.heapsize.initial}"
> max-heap-size="${maven.jnlp.j2se.heapsize.max}"/>
> + <j:set var="mainExists"
> value="false"/>
> + <!-- Determine if one of the
> dependencies is the main jar -->
> + <j:forEach var="lib"
> items="${pom.artifacts}">
> + <j:set var="dep"
> value="${lib.dependency}"/>
> + <j:if
> test="${dep.getProperty('jnlp.jar')=='true'}">
> + <j:choose>
> + <j:when
> test="${dep.getProperty('jnlp.main.jar')=='true'}">
> +
> <j:set var="mainExists" value="true"/>
> + </j:when>
> + </j:choose>
> + </j:if>
> + </j:forEach>
> +
> + <!-- Add resource info for current
> project -->
> + <j:set var="depVer"
> value="${pom.currentVersion}"/>
> + <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> + <j:set var="depVer"
> value="${depVer.concat('-').concat(certVer)}"/>
> + </j:if>
> + <j:choose>
> + <j:when
> test="${mainExists=='false'}">
> + <j:choose>
> + <j:when
> test="${(context.getVariable('maven.jnlp.usejarversions') != null) and
> (pom.currentVersion.indexOf('SNAPSHOT') lt 0)}">
> + <jar
> href="${final.jar.name}" main="true" version="${depVer}"/>
> + </j:when>
> +
> <j:otherwise>
> + <jar
> href="${final.jar.name}" main="true"/>
> +
> </j:otherwise>
> + </j:choose>
> + </j:when>
> + <j:otherwise>
> + <j:choose>
> + <j:when
> test="${(context.getVariable('maven.jnlp.usejarversions') != null) and
> (pom.currentVersion.indexOf('SNAPSHOT') lt 0)}">
> + <jar
> href="${final.jar.name}" version="${depVer}"/>
> + </j:when>
> +
> <j:otherwise>
> + <jar
> href="${final.jar.name}"/>
> +
> </j:otherwise>
> + </j:choose>
> + </j:otherwise>
> + </j:choose>
> + <!--  This is close to what it WILL
> look like, but for now it is the ugly ass thing below  it-->
> + <u:tokenize var="listOfProperties"
> delim=" ">${maven.jnlp.properties}</u:tokenize>
> + <j:forEach var="someProperty"
> items="${listOfProperties}">
> + <property
> name="${someProperty}" value="${context.getVariable(someProperty)}"/>
> + </j:forEach>
> +
> + <!-- Add dependencies to jnlp file
> -->
> + <j:forEach var="lib"
> items="${pom.artifacts}">
> + <j:set var="dep"
> value="${lib.dependency}"/>
> + <j:set var="depVer"
> value="${dep.version}"/>
> + <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> + <j:set var="depVer"
> value="${depVer.concat('-').concat(certVer)}"/>
> + </j:if>
> + <j:if
> test="${dep.getProperty('jnlp.jar')=='true'}">
> + <j:choose>
> + <j:when
> test="${dep.getProperty('jnlp.main.jar')=='true'}">
> +
> <j:set var="mainExists" value="true"/>
> +
> <j:choose>
> +
> <j:when test="${(context.getVariable('maven.jnlp.usejarversions') != null)
> and (dep.version.indexOf('SNAPSHOT') lt 0)}">
> +
> <jar href="${lib.file.name}" main="true" version="${depVer}"/>
> +
> </j:when>
> +
> <j:otherwise>
> +
> <jar href="${lib.file.name}" main="true"/>
> +
> </j:otherwise>
> +
> </j:choose>
> + </j:when>
> +
> <j:otherwise>
> +
> <j:choose>
> +
> <j:when test="${(context.getVariable('maven.jnlp.usejarversions') != null)
> and (dep.version.indexOf('SNAPSHOT') lt 0)}">
> +
> <jar href="${lib.file.name}" version="${depVer}"/>
> +
> </j:when>
> +
> <j:otherwise>
> +
> <jar href="${lib.file.name}"/>
> +
> </j:otherwise>
> +
> </j:choose>
> +
> </j:otherwise>
> + </j:choose>
> + </j:if>
> + <j:if
> test="${dep.getProperty('jnlp.native.jar')=='true'}">
> + <nativelib
> href="${lib.file.name}"/>
> + </j:if>
> + <j:if
> test="${dep.getProperty('jnlp.extension')=='true'}">
> + <extension
> href="${dep.url}"/>
> + </j:if>
> + </j:forEach>
> +
> +
> + </resources>
> + <j:choose>
> + <j:when
> test="${maven.jnlp.isapplet}">
> + <applet-desc
> main-class="${maven.jnlp.mainclass}" name="${maven.jnlp.applet.name}">
> + <u:tokenize
> var="listOfArguments" delim="
> ">${maven.jnlp.mainclass.arguments}</u:tokenize>
> + <j:forEach
> var="someArgument" items="${listOfArguments}">
> +
> <argument>${someArgument}</argument>
> + </j:forEach>
> + </applet-desc>
> + </j:when>
> + <j:when
> test="${maven.jnlp.isinstaller}">
> + <installer-desc
> main-class="${maven.jnlp.mainclass}"/>
> + </j:when>
> + <j:when
> test="${maven.jnlp.iscomponent}">
> + <component-desc/>
> + </j:when>
> + <j:otherwise>
> + <application-desc
> main-class="${maven.jnlp.mainclass}">
> + <u:tokenize
> var="listOfArguments" delim="
> ">${maven.jnlp.mainclass.arguments}</u:tokenize>
> + <j:forEach
> var="someArgument" items="${listOfArguments}">
> +
> <argument>${someArgument}</argument>
> + </j:forEach>
> + </application-desc>
> + </j:otherwise>
> + </j:choose>
> + </jnlp>
> + </j:file>
> + <j:if
> test="${context.getVariable('maven.jnlp.usejarversions') != null}">
> + <ant:echo>Creating ${maven.jnlp.dir}/version.xml
> ...</ant:echo>
> + <!-- ================== -->
> + <!-- Generate version.xml file -->
> + <!-- ================== -->
> + <j:file name="${maven.jnlp.dir}/version.xml"
> prettyPrint="true" xmlns="dummy">
> + <jnlp-versions>
> + <j:forEach var="lib"
> items="${pom.artifacts}">
> + <j:set var="dep"
> value="${lib.dependency}"/>
> + <j:if
> test="${(dep.getProperty('jnlp.jar')=='true' or
> dep.getProperty('jnlp.native.jar')=='true') and
> (dep.version.indexOf('SNAPSHOT') lt 0)}">
> + <resource>
> + <pattern>
> +
> <name>${lib.file.name}</name>
> +
> <j:set var="depVer" value="${dep.version}"/>
> +
> <j:if test="${context.getVariable('maven.jnlp.cert.version') != null}">
> +
> <j:set var="depVer" value="${depVer.concat('-').concat(certVer)}"/>
> +
> </j:if>
> +
> <version-id>${depVer}</version-id>
> + </pattern>
> +
> <file>${lib.file.name}</file>
> + </resource>
> + </j:if>
> + </j:forEach>
> + <j:if
> test="${pom.currentVersion.indexOf('SNAPSHOT') lt 0}">
> + <resource>
> + <pattern>
> +
> <name>${final.jar.name}</name>
> + <j:set
> var="depVer" value="${pom.currentVersion}"/>
> + <j:if
> test="${context.getVariable('maven.jnlp.cert.version') != null}">
> +
> <j:set var="depVer" value="${depVer.concat('-').concat(certVer)}"/>
> + </j:if>
> +
> <version-id>${depVer}</version-id>
> + </pattern>
> +
> <file>${final.jar.name}</file>
> + </resource>
> + </j:if>
> + </jnlp-versions>
> + </j:file>
> + </j:if>
> + <!-- =========================== -->
> + <!-- Copy jars in jnlp directory -->
> + <!-- =========================== -->
> + <ant:available file="${maven.jnlp.signjar.store}"
> property="maven.jnlp.store.exists"/>
> + <j:choose>
> + <j:when test="${maven.jnlp.store.exists}">
> + <!-- ================ -->
> + <!-- Updates Manifest -->
> + <!-- ================ -->
> + <ant:mkdir dir="${maven.jnlp.tmpdir}"/>
> + <jarfile:updateManifest
> inputJar="${maven.build.dir}/${maven.final.name}.jar"
> manifest="${plugin.resources}/jnlp.manifest"
> outputDir="${maven.jnlp.tmpdir}"/>
> + <j:forEach var="lib"
> items="${pom.artifacts}">
> + <j:set var="dep"
> value="${lib.dependency}"/>
> + <j:if
> test="${dep.getProperty('jnlp.jar')=='true'}">
> + <jarfile:updateManifest
> inputJar="${lib.file.absolutePath}"
> manifest="${plugin.resources}/jnlp.manifest"
> outputDir="${maven.jnlp.tmpdir}"/>
> + </j:if>
> + <j:if
> test="${dep.getProperty('jnlp.native.jar')=='true'}">
> + <jarfile:updateManifest
> inputJar="${lib.file.absolutePath}"
> manifest="${plugin.resources}/jnlp.manifest"
> outputDir="${maven.jnlp.tmpdir}"/>
> + </j:if>
> + </j:forEach>
> + <!-- ========= -->
> + <!-- Sign jars -->
> + <!-- ========= -->
> + <ant:echo>Found a store...signing
> jars</ant:echo>
> + <ant:echo>Signing jar files ...</ant:echo>
> + <ant:signjar
> jar="${maven.jnlp.tmpdir}/${maven.final.name}.jar"
> signedjar="${maven.jnlp.dir}/${maven.final.name}.jar"
> alias="${maven.jnlp.signjar.alias}"
> storepass="${maven.jnlp.signjar.storepass}"
> keystore="${maven.jnlp.signjar.store}"/>
> + <j:forEach var="lib"
> items="${pom.artifacts}">
> + <j:set var="dep"
> value="${lib.dependency}"/>
> + <j:if
> test="${dep.getProperty('jnlp.jar')=='true'}">
> + <ant:signjar
> jar="${maven.jnlp.tmpdir}/${lib.file.name}"
> signedjar="${maven.jnlp.dir}/${lib.file.name}"
> alias="${maven.jnlp.signjar.alias}"
> storepass="${maven.jnlp.signjar.storepass}"
> keystore="${maven.jnlp.signjar.store}"/>
> + </j:if>
> + <j:if
> test="${dep.getProperty('jnlp.native.jar')=='true'}">
> + <ant:signjar
> jar="${maven.jnlp.tmpdir}/${lib.file.name}"
> signedjar="${maven.jnlp.dir}/${lib.file.name}"
> alias="${maven.jnlp.signjar.alias}"
> storepass="${maven.jnlp.signjar.storepass}"
> keystore="${maven.jnlp.signjar.store}"/>
> + </j:if>
> + </j:forEach>
> + </j:when>
> + <j:otherwise>
> + <ant:copy todir="${maven.jnlp.dir}"
> flatten="true">
> + <j:forEach var="lib"
> items="${pom.artifacts}">
> + <j:set var="dep"
> value="${lib.dependency}"/>
> + <j:if
> test="${dep.getProperty('jnlp.jar')=='true'}">
> + <ant:fileset
> dir="${lib.file.parent}">
> + <ant:include
> name="${lib.file.name}"/>
> + </ant:fileset>
> + </j:if>
> + <j:if
> test="${dep.getProperty('jnlp.native.jar')=='true'}">
> + <ant:fileset
> dir="${lib.file.parent}">
> + <ant:include
> name="${lib.file.name}"/>
> + </ant:fileset>
> + </j:if>
> + </j:forEach>
> + <ant:fileset
> dir="${maven.build.dir}">
> + <ant:include
> name="${maven.final.name}.jar"/>
> + </ant:fileset>
> + </ant:copy>
> + </j:otherwise>
> + </j:choose>
> + </goal>
>
>      <!-- 
==================================================================
> -->
>      <!-- Generate keystore file for signing jar files
> -->
> Index: xdocs/properties.xml
> ===================================================================
> retrieving revision 1.8
> diff -u -r1.8 properties.xml
> --- xdocs/properties.xml 4 Mar 2004 18:36:13 -0000 1.8
> +++ xdocs/properties.xml 24 Mar 2004 17:10:28 -0000
> @@ -412,6 +412,21 @@
>        </properties>
>      </dependency>
>    ]]></source>
> +
> +      <p>
> +      Or for extensions :
> +      </p>
> +
> +  <source><![CDATA[
> +    <dependency>
> +      <id>jarid</id>
> +      <version>jarversion</version>
> +      <url>http://some.host/path/to/installer.jnlp</url>
> +      <properties>
> +        <jnlp.extension>true</jnlp.extension>
> +      </properties>
> +    </dependency>
> +  ]]></source>
>      </section>
>      <section name="How to define the main jar?">
>        <p>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to