Changeset 29841 in osm


Ignore:
Timestamp:
2013-08-11T22:59:50+02:00 (11 years ago)
Author:
donvip
Message:

[josm_surveyor] simplify build.xml

File:
1 edited

Legend:

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

    r29435 r29841  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <!--
    3 ** This is the build file for the surveyor plugin.
    4 **
    5 ** Maintaining versions
    6 ** ====================
    7 ** see README.template
    8 **
    9 ** Usage
    10 ** =====
    11 ** To build it run
    12 **
    13 **    > ant  dist
    14 **
    15 ** To install the generated plugin locally (in you default plugin directory) run
    16 **
    17 **    > ant  install
    18 **
    19 ** The generated plugin jar is not automatically available in JOSMs plugin configuration
    20 ** dialog. You have to check it in first.
    21 **
    22 ** Use the ant target 'publish' to check in the plugin and make it available to other
    23 ** JOSM users:
    24 **    set the properties commit.message and plugin.main.version
    25 ** and run
    26 **    > ant  publish
    27 **
    28 **
    29 -->
    302<project name="surveyor" default="dist" basedir=".">
     3    <!-- ** include targets that all plugins have in common ** -->
     4    <import file="../build-common.xml"/>
     5       
    316    <!-- enter the SVN commit message -->
    327    <property name="commit.message" value="Changed the constructor signature of the plugin main class"/>
    338    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
    349    <property name="plugin.main.version" value="4980"/>
    35     <property name="josm" location="../../core/dist/josm-custom.jar"/>
    36     <property name="plugin.dist.dir" value="../../dist"/>
    37     <property name="plugin.build.dir" value="build"/>
    38     <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
    3910    <property name="livegpsplugin.jar" value="${plugin.dist.dir}/livegps.jar"/>
    40     <property name="ant.build.javac.target" value="1.5"/>
    41     <target name="init">
    42         <mkdir dir="${plugin.build.dir}"/>
    43     </target>
     11
     12    <!-- Configure these properties (replace "..." accordingly).
     13         See http://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins
     14    -->
     15    <property name="plugin.author" value="Christof Dallermassl"/>
     16    <property name="plugin.class" value="at.dallermassl.josm.plugin.surveyor.SurveyorPlugin"/>
     17    <property name="plugin.description" value="Allow adding markers/nodes on current gps positions."/>
     18    <property name="plugin.icon" value="images/surveyormenu.png"/>
     19    <property name="plugin.link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/Surveyor"/>
     20    <property name="plugin.requires" value="livegps"/>
     21    <property name="plugin.stage" value="60"/>
     22       
    4423    <target name="compile" depends="init">
    45         <echo message="creating ${plugin.jar}"/>
    46         <javac srcdir="src" debug="true" destdir="${plugin.build.dir}">
     24        <echo message="compiling sources for ${plugin.jar} ..."/>
     25        <javac srcdir="src" debug="true" destdir="${plugin.build.dir}" includeantruntime="false" encoding="UTF-8">
    4726            <compilerarg value="-Xlint:deprecation"/>
    4827            <compilerarg value="-Xlint:unchecked"/>
     
    5332        </javac>
    5433    </target>
    55     <target name="dist" depends="compile,revision">
    56         <copy todir="${plugin.build.dir}/">
    57             <fileset dir="resources">
    58                 <include name="*.xml"/>
    59                 <include name="audio/*"/>
    60             </fileset>
    61         </copy>
    62         <copy todir="${plugin.build.dir}/images">
    63             <fileset dir="images"/>
    64         </copy>
    65         <copy todir="${plugin.build.dir}/data">
    66             <fileset dir="data"/>
    67         </copy>
    68         <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
    69             <manifest>
    70                 <attribute name="Author" value="Christof Dallermassl"/>
    71                 <attribute name="Plugin-Class" value="at.dallermassl.josm.plugin.surveyor.SurveyorPlugin"/>
    72                 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
    73                 <attribute name="Plugin-Description" value="Allow adding markers/nodes on current gps positions."/>
    74                 <attribute name="Plugin-Icon" value="images/surveyormenu.png"/>
    75                 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/Surveyor"/>
    76                 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
    77                 <attribute name="Plugin-Requires" value="livegps"/>
    78                 <attribute name="Plugin-Stage" value="60"/>
    79                 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    80             </manifest>
    81         </jar>
    82     </target>
    83     <target name="revision">
    84         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
    85             <env key="LANG" value="C"/>
    86             <arg value="info"/>
    87             <arg value="--xml"/>
    88             <arg value="."/>
    89         </exec>
    90         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
    91         <delete file="REVISION"/>
    92     </target>
    93     <target name="clean">
    94         <delete dir="${plugin.build.dir}"/>
    95         <delete file="${plugin.jar}"/>
    96     </target>
    97     <target name="install" depends="dist">
    98         <property environment="env"/>
    99         <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
    100             <and>
    101                 <os family="windows"/>
    102             </and>
    103         </condition>
    104         <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
    105     </target>
    106     <!--
    107         ************************** Publishing the plugin ***********************************
    108         -->
    109     <!--
    110             ** extracts the JOSM release for the JOSM version in ../core and saves it in the
    111             ** property ${coreversion.info.entry.revision}
    112             **
    113             -->
    114     <target name="core-info">
    115         <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
    116             <env key="LANG" value="C"/>
    117             <arg value="info"/>
    118             <arg value="--xml"/>
    119             <arg value="../../core"/>
    120         </exec>
    121         <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
    122         <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
    123         <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
    124         <delete file="core.info.xml"/>
    125     </target>
    126     <!--
    127             ** commits the source tree for this plugin
    128             -->
    129     <target name="commit-current">
    130         <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
    131         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    132             <env key="LANG" value="C"/>
    133             <arg value="commit"/>
    134             <arg value="-m '${commit.message}'"/>
    135             <arg value="."/>
    136         </exec>
    137     </target>
    138     <!--
    139             ** updates (svn up) the source tree for this plugin
    140             -->
    141     <target name="update-current">
    142         <echo>Updating plugin source ...</echo>
    143         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    144             <env key="LANG" value="C"/>
    145             <arg value="up"/>
    146             <arg value="."/>
    147         </exec>
    148         <echo>Updating ${plugin.jar} ...</echo>
    149         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    150             <env key="LANG" value="C"/>
    151             <arg value="up"/>
    152             <arg value="../dist/${plugin.jar}"/>
    153         </exec>
    154     </target>
    155     <!--
    156             ** commits the plugin.jar
    157             -->
    158     <target name="commit-dist">
    159         <echo>
    160         ***** Properties of published ${plugin.jar} *****
    161         Commit message    : '${commit.message}'                 
    162         Plugin-Mainversion: ${plugin.main.version}
    163         JOSM build version: ${coreversion.info.entry.revision}
    164         Plugin-Version    : ${version.entry.commit.revision}
    165         ***** / Properties of published ${plugin.jar} *****                 
    166                            
    167         Now commiting ${plugin.jar} ...
    168         </echo>
    169         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    170             <env key="LANG" value="C"/>
    171             <arg value="-m '${commit.message}'"/>
    172             <arg value="commit"/>
    173             <arg value="${plugin.jar}"/>
    174         </exec>
    175     </target>
    176     <!-- ** make sure svn is present as a command line tool ** -->
    177     <target name="ensure-svn-present">
    178         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
    179             <env key="LANG" value="C"/>
    180             <arg value="--version"/>
    181         </exec>
    182         <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
    183             <!-- return code not set at all? Most likely svn isn't installed -->
    184             <condition>
    185                 <not>
    186                     <isset property="svn.exit.code"/>
    187                 </not>
    188             </condition>
    189         </fail>
    190         <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
    191             <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
    192             <condition>
    193                 <isfailure code="${svn.exit.code}"/>
    194             </condition>
    195         </fail>
    196     </target>
    197     <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
    198     </target>
    19934</project>
Note: See TracChangeset for help on using the changeset viewer.