source: subversion/applications/editors/josm/plugins/public_transport/build.xml @ 28318

Last change on this file since 28318 was 28318, checked in by roland, 8 years ago

Prepared the introduction of routing for route construction.

File size: 5.5 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3** Usage
4** =====
5** To build it run
6**
7**    > ant  dist
8**
9** To install the generated plugin locally (in you default plugin directory) run
10**
11**    > ant  install
12**
13** The generated plugin jar is not automatically available in JOSMs plugin configuration
14** dialog. You have to check it in first.
15**
16-->
17<project name="public_transport" default="dist" basedir=".">
18    <property name="josm.basedir" location="../.."/>
19    <!--
20      ************************************************
21      ** should not be necessary to change the following properties
22     -->
23    <property name="plugin.main.version" value="5053"/>
24    <property name="josm" location="${josm.basedir}/core/dist/josm-custom.jar"/>
25    <property name="plugin.build.dir" value="build"/>
26    <property name="plugin.src.dir" value="src"/>
27    <!-- this is the directory where the plugin jar is copied to -->
28    <property name="plugin.dist.dir" value="${josm.basedir}/dist"/>
29    <property name="ant.build.javac.source" value="1.6"/>
30    <property name="ant.build.javac.target" value="1.6"/>
31    <property name="plugin.dist.dir" value="${josm.basedir}/dist"/>
32    <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
33    <!--
34    **********************************************************
35    ** init - initializes the build
36    **********************************************************
37    -->
38    <target name="init">
39        <mkdir dir="${plugin.build.dir}"/>
40    </target>
41    <!--
42    **********************************************************
43    ** compile - complies the source tree
44    **********************************************************
45    -->
46    <target name="compile" depends="init">
47        <echo message="compiling sources for  ${plugin.jar} ... "/>
48        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
49            <compilerarg value="-Xlint:deprecation"/>
50            <compilerarg value="-Xlint:unchecked"/>
51        </javac>
52    </target>
53    <!--
54    **********************************************************
55    ** dist - creates the plugin jar
56    **********************************************************
57    -->
58    <target name="dist" depends="compile,revision">
59        <echo message="creating ${ant.project.name}.jar ... "/>
60        <copy todir="${plugin.build.dir}/resources">
61            <fileset dir="resources"/>
62        </copy>
63        <copy todir="${plugin.build.dir}/images">
64            <fileset dir="images"/>
65        </copy>
66        <copy todir="${plugin.build.dir}/data">
67            <fileset dir="data"/>
68        </copy>
69        <copy todir="${plugin.build.dir}">
70            <fileset dir=".">
71                <include name="README"/>
72                <include name="LICENSE"/>
73            </fileset>
74        </copy>
75        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
76            <!--
77        ************************************************
78        ** configure these properties. Most of them will be copied to the plugins
79        ** manifest file. Property values will also show up in the list available
80        ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
81        **
82        ************************************************
83    -->
84            <manifest>
85                <attribute name="Author" value="Roland M. Olbricht"/>
86                <attribute name="Plugin-Class" value="public_transport.PublicTransportPlugin"/>
87                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
88                <attribute name="Plugin-Description" value="This plugin simplifies the mapping and editing of public transport routes."/>
89                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/public_transport"/>
90                <attribute name="Plugin-Mainversion" value="4980"/>
91                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
92            </manifest>
93        </jar>
94    </target>
95    <!--
96    **********************************************************
97    ** revision - extracts the current revision number for the
98    **    file build.number and stores it in the XML property
99    **    version.*
100    **********************************************************
101    -->
102    <target name="revision">
103        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
104            <env key="LANG" value="C"/>
105            <arg value="info"/>
106            <arg value="--xml"/>
107            <arg value="."/>
108        </exec>
109        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
110        <delete file="REVISION"/>
111    </target>
112    <!--
113    **********************************************************
114    ** clean - clean up the build environment
115    **********************************************************
116    -->
117    <target name="clean">
118        <delete dir="${plugin.build.dir}"/>
119        <delete file="${plugin.jar}"/>
120    </target>
121    <!--
122    **********************************************************
123    ** install - install the plugin in your local JOSM installation
124    **********************************************************
125    -->
126    <target name="install" depends="dist">
127        <property environment="env"/>
128        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
129            <and>
130                <os family="windows"/>
131            </and>
132        </condition>
133        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
134    </target>
135</project>
Note: See TracBrowser for help on using the repository browser.