Ignore:
Timestamp:
2012-12-05T23:14:18+01:00 (12 years ago)
Author:
donvip
Message:

[josm_reltoolbox] simplify build.xml + bump JOSM main version as this plugin needs to be recompiled

File:
1 edited

Legend:

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

    r28857 r29044  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <!--
    3 ** This is a template build file for a JOSM  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="reltoolbox" default="dist" basedir=".">
    313    <!-- enter the SVN commit message -->
    324    <property name="commit.message" value="RelToolbox: make natural sort for relation and find relation lists"/>
    335    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
    34     <property name="plugin.main.version" value="5018"/>
    35     <!--
    36       ************************************************
    37       ** should not be necessary to change the following properties
    38      -->
    39     <property name="josm" location="../../core/dist/josm-custom.jar"/>
    40     <property name="plugin.build.dir" value="build"/>
    41     <property name="plugin.src.dir" value="src"/>
    42     <!-- this is the directory where the plugin jar is copied to -->
    43     <property name="plugin.dist.dir" value="../../dist"/>
    44     <!--property name="plugin.dist.dir"        value="/Users/Zverik/AppData/Roaming/JOSM/plugins"/-->
    45     <property name="ant.build.javac.target" value="1.5"/>
    46     <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
    47     <!--
    48     **********************************************************
    49     ** init - initializes the build
    50     **********************************************************
    51     -->
    52     <target name="init">
    53         <mkdir dir="${plugin.build.dir}"/>
    54     </target>
    55     <!--
    56     **********************************************************
    57     ** compile - complies the source tree
    58     **********************************************************
    59     -->
    60     <target name="compile" depends="init">
    61         <echo message="compiling sources for  ${plugin.jar} ... "/>
    62         <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
    63             <compilerarg value="-Xlint:deprecation"/>
    64             <compilerarg value="-Xlint:unchecked"/>
    65         </javac>
    66     </target>
    67     <!--
    68     **********************************************************
    69     ** dist - creates the plugin jar
    70     **********************************************************
    71     -->
    72     <target name="dist" depends="compile,revision">
    73         <echo message="creating ${ant.project.name}.jar ... "/>
    74         <copy todir="${plugin.build.dir}/images">
    75             <fileset dir="images"/>
    76         </copy>
    77         <copy todir="${plugin.build.dir}/data">
    78             <fileset dir="data"/>
    79         </copy>
    80         <copy todir="${plugin.build.dir}">
    81             <fileset dir="src" includes="**/*.txt"/>
    82         </copy>
    83         <copy todir="${plugin.build.dir}">
    84             <fileset dir=".">
    85                 <include name="README"/>
    86                 <include name="LICENSE"/>
    87             </fileset>
    88         </copy>
    89         <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
    90             <!--
    91         ************************************************
    92         ** configure these properties. Most of them will be copied to the plugins
    93         ** manifest file. Property values will also show up in the list available
    94         ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
    95         **
    96         ************************************************
    97     -->
    98             <manifest>
    99                 <attribute name="Author" value="Ilya Zverev"/>
    100                 <attribute name="Plugin-Class" value="relcontext.RelContextPlugin"/>
    101                 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
    102                 <attribute name="Plugin-Description" value="Relation and multipolygon creating and editing panel."/>
    103                 <attribute name="ru_Plugin-Description" value="Панель создания и редактирования отношений, особенно мультиполигонов."/>
    104                 <attribute name="Plugin-Icon" value="images/reltoolbox.png"/>
    105                 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/Relation_Toolbox"/>
    106                 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
    107                 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    108                 <attribute name="Plugin-Stage" value="10"/>
    109             </manifest>
    110         </jar>
    111     </target>
    112     <!--
    113     **********************************************************
    114     ** revision - extracts the current revision number for the
    115     **    file build.number and stores it in the XML property
    116     **    version.*
    117     **********************************************************
    118     -->
    119     <target name="revision">
    120         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
    121             <env key="LANG" value="C"/>
    122             <arg value="info"/>
    123             <arg value="--xml"/>
    124             <arg value="."/>
    125         </exec>
    126         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
    127         <delete file="REVISION"/>
    128     </target>
    129     <!--
    130     **********************************************************
    131     ** clean - clean up the build environment
    132     **********************************************************
    133     -->
    134     <target name="clean">
    135         <delete dir="${plugin.build.dir}"/>
    136         <delete file="${plugin.jar}"/>
    137     </target>
    138     <!--
    139     **********************************************************
    140     ** install - install the plugin in your local JOSM installation
    141     **********************************************************
    142     -->
    143     <target name="install" depends="dist">
    144         <property environment="env"/>
    145         <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
    146             <and>
    147                 <os family="windows"/>
    148             </and>
    149         </condition>
    150         <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
    151     </target>
    152     <!--
    153     ************************** Publishing the plugin ***********************************
    154     -->
    155     <!--
    156         ** extracts the JOSM release for the JOSM version in ../core and saves it in the
    157         ** property ${coreversion.info.entry.revision}
    158         **
    159         -->
    160     <target name="core-info">
    161         <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
    162             <env key="LANG" value="C"/>
    163             <arg value="info"/>
    164             <arg value="--xml"/>
    165             <arg value="../../core"/>
    166         </exec>
    167         <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
    168         <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
    169         <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
    170         <delete file="core.info.xml"/>
    171     </target>
    172     <!--
    173         ** commits the source tree for this plugin
    174         -->
    175     <target name="commit-current">
    176         <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
    177         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    178             <env key="LANG" value="C"/>
    179             <arg value="commit"/>
    180             <arg value="-m '${commit.message}'"/>
    181             <arg value="."/>
    182         </exec>
    183     </target>
    184     <!--
    185         ** updates (svn up) the source tree for this plugin
    186         -->
    187     <target name="update-current">
    188         <echo>Updating plugin source ...</echo>
    189         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    190             <env key="LANG" value="C"/>
    191             <arg value="up"/>
    192             <arg value="."/>
    193         </exec>
    194         <echo>Updating ${plugin.jar} ...</echo>
    195         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    196             <env key="LANG" value="C"/>
    197             <arg value="up"/>
    198             <arg value="../dist/${plugin.jar}"/>
    199         </exec>
    200     </target>
    201     <!--
    202         ** commits the plugin.jar
    203         -->
    204     <target name="commit-dist">
    205         <echo>
    206     ***** Properties of published ${plugin.jar} *****
    207     Commit message    : '${commit.message}'                   
    208     Plugin-Mainversion: ${plugin.main.version}
    209     JOSM build version: ${coreversion.info.entry.revision}
    210     Plugin-Version    : ${version.entry.commit.revision}
    211     ***** / Properties of published ${plugin.jar} *****                   
    212                        
    213     Now commiting ${plugin.jar} ...
    214     </echo>
    215         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    216             <env key="LANG" value="C"/>
    217             <arg value="-m '${commit.message}'"/>
    218             <arg value="commit"/>
    219             <arg value="${plugin.jar}"/>
    220         </exec>
    221     </target>
    222     <!-- ** make sure svn is present as a command line tool ** -->
    223     <target name="ensure-svn-present">
    224         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
    225             <env key="LANG" value="C"/>
    226             <arg value="--version"/>
    227         </exec>
    228         <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
    229             <!-- return code not set at all? Most likely svn isn't installed -->
    230             <condition>
    231                 <not>
    232                     <isset property="svn.exit.code"/>
    233                 </not>
    234             </condition>
    235         </fail>
    236         <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
    237             <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
    238             <condition>
    239                 <isfailure code="${svn.exit.code}"/>
    240             </condition>
    241         </fail>
    242     </target>
    243     <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
    244     </target>
    245     <target name="runjosm" depends="install">
     6    <property name="plugin.main.version" value="5613"/>
     7
     8    <property name="plugin.author" value="Ilya Zverev"/>
     9    <property name="plugin.class" value="relcontext.RelContextPlugin"/>
     10    <property name="plugin.description" value="Relation and multipolygon creating and editing panel."/>
     11    <property name="plugin.icon" value="images/reltoolbox.png"/>
     12    <property name="plugin.link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/Relation_Toolbox"/>
     13    <property name="plugin.stage" value="10"/>
     14
     15    <!-- ** include targets that all plugins have in common ** -->
     16    <import file="../build-common.xml"/>
     17
     18        <target name="runjosm" depends="install">
    24619        <java jar="${josm}" fork="true">
    24720            <arg line="e:/test.osm"/>
Note: See TracChangeset for help on using the changeset viewer.