source: subversion/applications/editors/josm/plugins/waydownloader/build.xml @ 18613

Last change on this file since 18613 was 18613, checked in by guggis, 11 years ago

Fixed merging of nodes
improved messages
completed I18n
now uses referrers and searching of nodes in a bounding box
now only enabled if current layer is a data layer
updated build.xml

File size: 8.9 KB
Line 
1<?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-->
23<project name="waydownloader" default="dist" basedir=".">
24       
25        <!--
26      ** update before publishing
27        -->
28        <property name="commit.message" value="Fixed merging of nodes; improved messages; completed I18n; now uses referers and searching of nodes in a bounding box; now only enabled if current layer is a data layer; Updated build.xml" />         
29        <property name="plugin.main.version" value="2457" />
30       
31       
32    <!--
33      ************************************************
34      ** should not be necessary to change the following properties
35     -->
36    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
37    <property name="plugin.build.dir"       value="build"/>
38    <property name="plugin.src.dir"         value="src"/>
39    <!-- this is the directory where the plugin jar is copied to -->
40    <property name="plugin.dist.dir"        value="../../dist"/>
41    <property name="ant.build.javac.target" value="1.5"/>
42    <property name="plugin.dist.dir"        value="../../dist"/>
43    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
44
45    <!--
46    **********************************************************
47    ** init - initializes the build
48    **********************************************************
49    -->
50    <target name="init">
51        <mkdir dir="${plugin.build.dir}"/>
52    </target>
53
54    <!--
55    **********************************************************
56    ** compile - complies the source tree
57    **********************************************************
58    -->
59    <target name="compile" depends="init">
60        <echo message="compiling sources for  ${plugin.jar} ... "/>
61        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
62            <compilerarg value="-Xlint:deprecation"/>
63            <compilerarg value="-Xlint:unchecked"/>
64        </javac>
65    </target>
66
67    <!--
68    **********************************************************
69    ** dist - creates the plugin jar
70    **********************************************************
71    -->
72    <target name="dist" depends="compile,revision">
73        <echo message="creating ${plugin.jar} ... "/>
74        <copy todir="${plugin.build.dir}/resources">
75            <fileset dir="resources"/>
76        </copy>
77        <copy todir="${plugin.build.dir}/images">
78            <fileset dir="images"/>
79        </copy>
80        <copy todir="${plugin.build.dir}">
81            <fileset dir=".">
82                <include name="README" />
83                <include name="LICENSE" />
84            </fileset>
85        </copy>
86        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
87    <!--
88        ************************************************
89        ** configure these properties. Most of them will be copied to the plugins
90        ** manifest file. Property values will also show up in the list available
91        ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
92        **
93        ************************************************
94    -->
95            <manifest>
96                <attribute name="Author" value="Harry Wood"/>
97                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.waydownloader.WayDownloaderPlugin"/>
98                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
99                <attribute name="Plugin-Description" value="Easy downloading along a long set of interconnected ways"/>
100                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/WayDownloaderPlugin"/>
101                <attribute name="Plugin-Mainversion" value="2401"/>
102                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
103            </manifest>
104        </jar>
105    </target>
106
107    <!--
108    **********************************************************
109    ** revision - extracts the current revision number for the
110    **    file build.number and stores it in the XML property
111    **    version.*
112    **********************************************************
113    -->
114    <target name="revision">
115
116        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
117            <env key="LANG" value="C"/>
118            <arg value="info"/>
119            <arg value="--xml"/>
120            <arg value="."/>
121        </exec>
122        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
123        <delete file="REVISION"/>
124    </target>
125
126    <!--
127    **********************************************************
128    ** clean - clean up the build environment
129    **********************************************************
130    -->
131    <target name="clean">
132        <delete dir="${plugin.build.dir}"/>
133        <delete file="${plugin.jar}"/>
134    </target>
135
136    <!--
137    **********************************************************
138    ** install - install the plugin in your local JOSM installation
139    **********************************************************
140    -->
141    <target name="install" depends="dist">
142        <property environment="env"/>
143        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
144            <and>
145                <os family="windows"/>
146            </and>
147        </condition>
148        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
149    </target>
150       
151       
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                        <!--
174                         ** commits the source tree for this plugin
175                        -->
176                        <target name="commit-current">
177                                <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
178                            <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
179                                            <env key="LANG" value="C"/>
180                                                <arg value="-m '${commit.message}'"/>
181                                                        <arg value="commit"/>
182                                            <arg value="."/>
183                            </exec>         
184                        </target>
185
186                        <!--
187                        ** updates (svn up) the source tree for this plugin
188                        -->
189                        <target name="update-current">
190                                <echo>Updating plugin source ...</echo>
191                            <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
192                                            <env key="LANG" value="C"/>
193                                            <arg value="up"/>
194                                            <arg value="."/>
195                            </exec>         
196                                <echo>Updating ${plugin.jar} ...</echo>
197                            <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
198                                            <env key="LANG" value="C"/>
199                                            <arg value="up"/>
200                                            <arg value="../dist/${plugin.jar}"/>
201                            </exec>         
202                        </target>
203                       
204                        <!--
205                         ** commits the plugin.jar
206                         -->
207                        <target name="commit-dist">
208                                        <echo>
209        ***** Properties of published ${plugin.jar} *****
210        Commit message    : '${commit.message}'                                 
211        Plugin-Mainversion: ${plugin.main.version}
212        JOSM build version: ${coreversion.info.entry.revision}
213        Plugin-Version    : ${version.entry.commit.revision}
214        ***** / Properties of published ${plugin.jar} *****                                     
215                                               
216        Now commiting ${plugin.jar} ...
217        </echo>                                 
218                                    <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
219                                                    <env key="LANG" value="C"/>
220                                                                <arg value="-m '${commit.message}'"/>
221                                                                <arg value="commit"/>                                           
222                                                <arg value="${plugin.jar}"/>
223                                    </exec>         
224                        </target>
225                                       
226                        <target name="publish" depends="core-info,commit-current,update-current,clean,dist,commit-dist">
227                        </target>       
228</project>
Note: See TracBrowser for help on using the repository browser.