source: osm/applications/editors/josm/plugins/editgpx/build.xml@ 29332

Last change on this file since 29332 was 27977, checked in by jttt, 13 years ago

Select zoom tool in case select tool is not available (ie activate layer is not osm data layer)

File size: 7.4 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3** This is the build file for the editgpx 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 your default plugin directory) run
16**
17** > ant install
18**
19** To build against the core in ../../core, create a correct manifest and deploy to
20** SVN,
21** set the properties commit.message and plugin.main.version
22** and run
23** > ant publish
24**
25**
26-->
27<project name="editgpx" default="dist" basedir=".">
28 <property name="commit.message" value="Changed constructor signature of plugin main class"/>
29 <property name="plugin.main.version" value="5035"/>
30 <property name="josm" location="../../core/dist/josm-custom.jar"/>
31 <property name="plugin.dist.dir" value="../../dist"/>
32 <property name="plugin.build.dir" value="build"/>
33 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
34 <property name="ant.build.javac.target" value="1.5"/>
35 <target name="init">
36 <mkdir dir="${plugin.build.dir}"/>
37 </target>
38 <target name="compile" depends="init">
39 <echo message="creating ${plugin.jar}"/>
40 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
41 <compilerarg value="-Xlint:deprecation"/>
42 <compilerarg value="-Xlint:unchecked"/>
43 </javac>
44 </target>
45 <target name="dist" depends="compile,revision">
46 <copy todir="${plugin.build.dir}/images">
47 <fileset dir="images"/>
48 </copy>
49 <copy todir="${plugin.build.dir}/data">
50 <fileset dir="data"/>
51 </copy>
52 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
53 <manifest>
54 <attribute name="Author" value="Martin Garbe"/>
55 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.editgpx.EditGpxPlugin"/>
56 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
57 <attribute name="Plugin-Description" value="Allows the user to anonymize timestamps and delete parts of huge GPX tracks very fast."/>
58 <attribute name="Plugin-Icon" value="images/mapmode/editgpx_mode.png"/>
59 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/EditGpx"/>
60 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
61 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
62 </manifest>
63 </jar>
64 </target>
65 <target name="revision">
66 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
67 <env key="LANG" value="C"/>
68 <arg value="info"/>
69 <arg value="--xml"/>
70 <arg value="."/>
71 </exec>
72 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
73 <delete file="REVISION"/>
74 </target>
75 <target name="clean">
76 <delete dir="${plugin.build.dir}"/>
77 <delete file="${plugin.jar}"/>
78 </target>
79 <target name="install" depends="dist">
80 <property environment="env"/>
81 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
82 <and>
83 <os family="windows"/>
84 </and>
85 </condition>
86 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
87 </target>
88 <!--
89 ************************** Publishing the plugin ***********************************
90 -->
91 <!--
92 ** extracts the JOSM release for the JOSM version in ../core and saves it in the
93 ** property ${coreversion.info.entry.revision}
94 **
95 -->
96 <target name="core-info">
97 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
98 <env key="LANG" value="C"/>
99 <arg value="info"/>
100 <arg value="--xml"/>
101 <!-- <arg value="../../core"/>-->
102 <arg value="../JOSM"/>
103 </exec>
104 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
105 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
106 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
107 <delete file="core.info.xml"/>
108 </target>
109 <!--
110 ** commits the source tree for this plugin
111 -->
112 <target name="commit-current">
113 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
114 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
115 <env key="LANG" value="C"/>
116 <arg value="commit"/>
117 <arg value="-m '${commit.message}'"/>
118 <arg value="."/>
119 </exec>
120 </target>
121 <!--
122 ** updates (svn up) the source tree for this plugin
123 -->
124 <target name="update-current">
125 <echo>Updating plugin source ...</echo>
126 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
127 <env key="LANG" value="C"/>
128 <arg value="up"/>
129 <arg value="."/>
130 </exec>
131 <echo>Updating ${plugin.jar} ...</echo>
132 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
133 <env key="LANG" value="C"/>
134 <arg value="up"/>
135 <arg value="../dist/${plugin.jar}"/>
136 </exec>
137 </target>
138 <!--
139 ** commits the plugin.jar
140 -->
141 <target name="commit-dist">
142 <echo>
143***** Properties of published ${plugin.jar} *****
144Commit message : '${commit.message}'
145Plugin-Mainversion: ${plugin.main.version}
146JOSM build version: ${coreversion.info.entry.revision}
147Plugin-Version : ${version.entry.commit.revision}
148***** / Properties of published ${plugin.jar} *****
149
150Now commiting ${plugin.jar} ...
151</echo>
152 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
153 <env key="LANG" value="C"/>
154 <arg value="-m '${commit.message}'"/>
155 <arg value="commit"/>
156 <arg value="${plugin.jar}"/>
157 </exec>
158 </target>
159 <!-- ** make sure svn is present as a command line tool ** -->
160 <target name="ensure-svn-present">
161 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
162 <env key="LANG" value="C"/>
163 <arg value="--version"/>
164 </exec>
165 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
166 <!-- return code not set at all? Most likely svn isn't installed -->
167 <condition>
168 <not>
169 <isset property="svn.exit.code"/>
170 </not>
171 </condition>
172 </fail>
173 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
174 <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
175 <condition>
176 <isfailure code="${svn.exit.code}"/>
177 </condition>
178 </fail>
179 </target>
180 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
181 </target>
182</project>
Note: See TracBrowser for help on using the repository browser.