Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ANT : What is the simplest way to add version number to built jar?

Tags:

java

ant

<?xml version="1.0" encoding="UTF-8"?>
<project name="myPlugin" default="all">
<target name="artifact.myPlugin:jar" depends="init.artifacts, compile.module.myPlugin" description="Build &#39;myPlugin:jar&#39; artifact">
    <mkdir dir="${artifact.output.myplugin:jar}" />
    <jar destfile="${temp.jar.path.myPlugin.jar}" duplicate="preserve" filesetmanifest="mergewithoutmain">
        <zipfileset file="${basedir}/META-INF/MANIFEST.MF" prefix="META-INF" />
        <zipfileset dir="${myPlugin.output.dir}" />
    </jar>

<!--How would I add a version number to this that reflects my projects version -->
    <copy file="${temp.jar.path.myPlugin.jar}" tofile="${artifact.output.myPlugin:jar}/plugin.company.jar" />
</target>

What is the typcial way that people do this?

Example (Pulled from above)

<copy file="${temp.jar.path.myPlugin.jar}" tofile="${artifact.output.myPlugin:jar}/plugin.company{version}.jar" />
like image 506
stackoverflow Avatar asked Jan 14 '23 06:01

stackoverflow


1 Answers

The simplest solution is to use the ANT buildnumber task.

<project name="myPlugin" default="all">

    <property name="version" value="1.0"/>

    <target...
        <buildnumber/>

        <jar destfile="/path/to/jar/myjar-${version}.${build.number}.jar" ...
            ...
        </jar>
    </target>

</project>

Each build will generate a unique release number:

  • myjar-1.0.0
  • myjar-1.0.1
  • myjar-1.0.2
  • ..
like image 126
Mark O'Connor Avatar answered Jan 30 '23 20:01

Mark O'Connor