Ignore:
Timestamp:
2012-11-27T16:56:18+01:00 (12 years ago)
Author:
simon04
Message:

fix #josm8222 - Update plugin build system

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/build-common.xml

    r28807 r28990  
    3838    <target name="compile" depends="init">
    3939        <echo message="compiling sources for ${plugin.jar} ..."/>
    40         <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}" includeantruntime="false">
     40        <javac srcdir="src" debug="true" destdir="${plugin.build.dir}" includeantruntime="false">
    4141            <compilerarg value="-Xlint:deprecation"/>
    4242            <compilerarg value="-Xlint:unchecked"/>
     43            <classpath>
     44                <pathelement location="${josm}"/>
     45                <fileset dir="${plugin.lib.dir}" erroronmissingdir="no">
     46                    <include name="**/*.jar"/>
     47                </fileset>
     48            </classpath>
    4349        </javac>
     50    </target>
     51    <!--
     52    **********************************************************
     53    ** dist - creates the plugin jar
     54    **********************************************************
     55    -->
     56    <target name="dist" depends="compile,revision">
     57        <echo message="creating ${ant.project.name}.jar ... "/>
     58        <copy todir="${plugin.build.dir}/resources" failonerror="no" includeemptydirs="no">
     59            <fileset dir="resources"/>
     60        </copy>
     61        <copy todir="${plugin.build.dir}/images" failonerror="no" includeemptydirs="no">
     62            <fileset dir="images"/>
     63        </copy>
     64        <copy todir="${plugin.build.dir}/data" failonerror="no" includeemptydirs="no">
     65            <fileset dir="data"/>
     66        </copy>
     67        <copy todir="${plugin.build.dir}">
     68            <fileset dir=".">
     69                <include name="README"/>
     70                <include name="LICENSE"/>
     71            </fileset>
     72        </copy>
     73        <delete file="MANIFEST" failonerror="no"/>
     74        <manifest file="MANIFEST" mode="update">
     75            <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
     76            <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
     77            <attribute name="Plugin-Class" value="${plugin.class}" />
     78            <attribute name="Plugin-Description" value="${plugin.description}" />
     79            <attribute name="Plugin-Date" value="${version.entry.commit.date}" />
     80            <attribute name="Author" value="${plugin.author}"/>
     81        </manifest>
     82        <antcall target="add-manifest-attribute">
     83            <param name="manifest.attribute" value="Plugin-Link"/>
     84            <param name="propery.name" value="plugin.link"/>
     85            <param name="propery.value" value="${plugin.link}"/>
     86        </antcall>
     87        <antcall target="add-manifest-attribute">
     88            <param name="manifest.attribute" value="Plugin-Icon"/>
     89            <param name="propery.name" value="plugin.icon"/>
     90            <param name="propery.value" value="${plugin.icon}"/>
     91        </antcall>
     92        <antcall target="add-manifest-attribute">
     93            <param name="manifest.attribute" value="Plugin-Early"/>
     94            <param name="propery.name" value="plugin.early"/>
     95            <param name="propery.value" value="${plugin.early}"/>
     96        </antcall>
     97        <antcall target="add-manifest-attribute">
     98            <param name="manifest.attribute" value="Plugin-Requires"/>
     99            <param name="propery.name" value="plugin.requires"/>
     100            <param name="propery.value" value="${plugin.requires}"/>
     101        </antcall>
     102        <antcall target="add-manifest-attribute">
     103            <param name="manifest.attribute" value="Plugin-Stage"/>
     104            <param name="propery.name" value="plugin.stage"/>
     105            <param name="propery.value" value="${plugin.stage}"/>
     106        </antcall>
     107        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}" manifest="MANIFEST">
     108            <zipgroupfileset dir="${plugin.lib.dir}" includes="*.jar" erroronmissingdir="no"/>
     109        </jar>
     110        <delete file="MANIFEST" failonerror="no"/>
     111    </target>
     112    <target name="add-manifest-attribute" depends="check-manifest-attribute" if="have-${propery.name}">
     113        <manifest file="MANIFEST" mode="update">
     114            <attribute name="${manifest.attribute}" value="${propery.value}" />
     115        </manifest>
     116    </target>
     117    <target name="check-manifest-attribute">
     118        <condition property="have-${propery.name}">
     119            <and>
     120                <isset property="${propery.name}"/>
     121                <not>
     122                    <equals arg1="${propery.value}" arg2=""/>
     123                </not>
     124                <not>
     125                    <equals arg1="${propery.value}" arg2="..."/>
     126                </not>
     127            </and>
     128        </condition>
    44129    </target>
    45130    <!--
Note: See TracChangeset for help on using the changeset viewer.