source: osm/applications/editors/josm/plugins/epsg31287/build.xml@ 28445

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

adapted to latest josm, not tested (plugin is not in josm plugin list so I'm not sure i'ts actually used)

  • Property svn:mime-type set to text/plain
File size: 10.6 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** 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-->
30<project name="epsg31287" default="dist" basedir=".">
31 <!-- read build.properties for local settings -->
32 <property file="build.properties"/>
33 <!-- enter the SVN command file name -->
34 <property name="svn" value="svn"/>
35 <!-- enter the SVN commit message -->
36 <property name="commit.message" value="fixed proj4 Parameters (thanks to Hetzi + Mikael Rittri)"/>
37 <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
38 <property name="plugin.main.version" value="5248"/>
39 <!--
40 ************************************************
41 ** should not be necessary to change the following properties
42 -->
43 <property name="josm" location="../../core/dist/josm-custom.jar"/>
44 <property name="plugin.build.dir" value="build"/>
45 <property name="plugin.src.dir" value="src"/>
46 <!-- this is the directory where the plugin jar is copied to -->
47 <property name="plugin.dist.dir" value="../../dist"/>
48 <property name="ant.build.javac.target" value="1.5"/>
49 <property name="plugin.dist.dir" value="../../dist"/>
50 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
51 <!--
52 **********************************************************
53 ** init - initializes the build
54 **********************************************************
55 -->
56 <target name="init">
57 <mkdir dir="${plugin.build.dir}"/>
58 </target>
59 <!--
60 **********************************************************
61 ** compile - complies the source tree
62 **********************************************************
63 -->
64 <target name="compile" depends="init">
65 <echo message="compiling sources for ${plugin.jar} ... "/>
66 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
67 <compilerarg value="-Xlint:deprecation"/>
68 <compilerarg value="-Xlint:unchecked"/>
69 </javac>
70 </target>
71 <!--
72 **********************************************************
73 ** dist - creates the plugin jar
74 **********************************************************
75 -->
76 <target name="dist" depends="compile,revision">
77 <echo message="creating ${ant.project.name}.jar ... "/>
78 <copy todir="${plugin.build.dir}/resources">
79 <fileset dir="resources"/>
80 </copy>
81 <copy todir="${plugin.build.dir}/images">
82 <fileset dir="images"/>
83 </copy>
84 <copy todir="${plugin.build.dir}/data">
85 <fileset dir="data"/>
86 </copy>
87 <copy todir="${plugin.build.dir}">
88 <fileset dir=".">
89 <include name="README"/>
90 <include name="LICENSE"/>
91 </fileset>
92 </copy>
93 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
94 <!-- <zipfileset src="lib/javaproj-1.0.6.jar" /> -->
95 <!--
96 ************************************************
97 ** configure these properties. Most of them will be copied to the plugins
98 ** manifest file. Property values will also show up in the list available
99 ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
100 **
101 ************************************************
102 -->
103 <manifest>
104 <attribute name="Author" value="Fichtennadel"/>
105 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.epsg31287.Epsg31287"/>
106 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
107 <attribute name="Plugin-Description" value="sets current projection to EPSG:31287 - Bessel 1841 in Lambert Conformal Conic. For use with WMS plugin to load geoimage.at WMS, see link for details"/>
108 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/epsg31287"/>
109 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
110 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
111 <!-- <attribute name="Plugin-Version" value="0.3"/> -->
112 </manifest>
113 </jar>
114 </target>
115 <!--
116 **********************************************************
117 ** revision - extracts the current revision number for the
118 ** file build.number and stores it in the XML property
119 ** version.*
120 **********************************************************
121 -->
122 <target name="revision">
123 <exec append="false" output="REVISION" executable="${svn}" failifexecutionfails="false">
124 <env key="LANG" value="C"/>
125 <arg value="info"/>
126 <arg value="--xml"/>
127 <arg value="."/>
128 </exec>
129 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
130 <delete file="REVISION"/>
131 </target>
132 <!--
133 **********************************************************
134 ** clean - clean up the build environment
135 **********************************************************
136 -->
137 <target name="clean">
138 <delete dir="${plugin.build.dir}"/>
139 <delete file="${plugin.jar}"/>
140 </target>
141 <!--
142 **********************************************************
143 ** install - install the plugin in your local JOSM installation
144 **********************************************************
145 -->
146 <target name="install" depends="dist">
147 <property environment="env"/>
148 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
149 <and>
150 <os family="windows"/>
151 </and>
152 </condition>
153 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
154 </target>
155 <!--
156 ************************** Publishing the plugin ***********************************
157 -->
158 <!--
159 ** extracts the JOSM release for the JOSM version in ../core and saves it in the
160 ** property ${coreversion.info.entry.revision}
161 **
162 -->
163 <target name="core-info">
164 <exec append="false" output="core.info.xml" executable="${svn}" failifexecutionfails="false">
165 <env key="LANG" value="C"/>
166 <arg value="info"/>
167 <arg value="--xml"/>
168 <arg value="../../core"/>
169 </exec>
170 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
171 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
172 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
173 <delete file="core.info.xml"/>
174 </target>
175 <!--
176 ** commits the source tree for this plugin
177 -->
178 <target name="commit-current">
179 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
180 <exec append="true" output="svn.log" executable="${svn}" failifexecutionfails="false">
181 <env key="LANG" value="C"/>
182 <arg value="commit"/>
183 <arg value="-m '${commit.message}'"/>
184 <arg value="."/>
185 <arg value="${svn.username_arg}"/>
186 <arg value="${svn.username}"/>
187 <arg value="${svn.password_arg}"/>
188 <arg value="${svn.password}"/>
189 </exec>
190 </target>
191 <!--
192 ** updates (svn up) the source tree for this plugin
193 -->
194 <target name="update-current">
195 <echo>Updating plugin source ...</echo>
196 <exec append="true" output="svn.log" executable="${svn}" failifexecutionfails="false">
197 <env key="LANG" value="C"/>
198 <arg value="up"/>
199 <arg value="."/>
200 </exec>
201 <echo>Updating ${plugin.jar} ...</echo>
202 <exec append="true" output="svn.log" executable="${svn}" failifexecutionfails="false">
203 <env key="LANG" value="C"/>
204 <arg value="up"/>
205 <arg value="../dist/${plugin.jar}"/>
206 </exec>
207 </target>
208 <!--
209 ** commits the plugin.jar
210 -->
211 <target name="commit-dist">
212 <echo>
213 ***** Properties of published ${plugin.jar} *****
214 Commit message : '${commit.message}'
215 Plugin-Mainversion: ${plugin.main.version}
216 JOSM build version: ${coreversion.info.entry.revision}
217 Plugin-Version : ${version.entry.commit.revision}
218 ***** / Properties of published ${plugin.jar} *****
219
220 Now commiting ${plugin.jar} ...
221 </echo>
222 <exec append="true" output="svn.log" executable="${svn}" failifexecutionfails="false">
223 <env key="LANG" value="C"/>
224 <arg value="-m '${commit.message}'"/>
225 <arg value="commit"/>
226 <arg value="${plugin.jar}"/>
227 <arg value="${svn.username_arg}"/>
228 <arg value="${svn.username}"/>
229 <arg value="${svn.password_arg}"/>
230 <arg value="${svn.password}"/>
231 </exec>
232 </target>
233 <!-- ** make sure svn is present as a command line tool ** -->
234 <target name="ensure-svn-present">
235 <exec append="true" output="svn.log" executable="${svn}" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
236 <env key="LANG" value="C"/>
237 <arg value="--version"/>
238 </exec>
239 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
240 <!-- return code not set at all? Most likely svn isn't installed -->
241 <condition>
242 <not>
243 <isset property="svn.exit.code"/>
244 </not>
245 </condition>
246 </fail>
247 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
248 <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
249 <condition>
250 <isfailure code="${svn.exit.code}"/>
251 </condition>
252 </fail>
253 </target>
254 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
255 </target>
256</project>
Note: See TracBrowser for help on using the repository browser.