source: osm/applications/editors/josm/plugins/piclayer/build.xml@ 24969

Last change on this file since 24969 was 24302, checked in by ocroquette, 14 years ago

Reverted wrong change to build.xml and updated JAR with the latest code and SVN revision number

File size: 8.3 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="PicLayer" default="dist" basedir=".">
24
25 <property name="commit.message" value="Changed the constructor signature of the plugin main class" />
26 <property name="plugin.main.version" value="3408" />
27
28 <!--
29 ************************************************
30 ** should not be necessary to change the following properties
31 -->
32 <property name="josm" location="../../core/dist/josm-custom.jar"/>
33 <property name="plugin.build.dir" value="build"/>
34 <property name="plugin.src.dir" value="src"/>
35 <!-- this is the directory where the plugin jar is copied to -->
36 <property name="plugin.dist.dir" value="../../dist"/>
37 <property name="ant.build.javac.target" value="1.5"/>
38 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
39
40 <!--
41 **********************************************************
42 ** init - initializes the build
43 **********************************************************
44 -->
45 <target name="init">
46 <mkdir dir="${plugin.build.dir}"/>
47 </target>
48
49 <!--
50 **********************************************************
51 ** compile - complies the source tree
52 **********************************************************
53 -->
54 <target name="compile" depends="init">
55 <echo message="compiling sources for ${ant.project.name} ... "/>
56 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
57 <compilerarg value="-Xlint:deprecation"/>
58 <compilerarg value="-Xlint:unchecked"/>
59 </javac>
60 </target>
61
62 <!--
63 **********************************************************
64 ** dist - creates the plugin jar
65 **********************************************************
66 -->
67 <target name="dist" depends="compile,revision">
68 <echo message="creating ${plugin.jar} ... "/>
69 <copy todir="${plugin.build.dir}/resources">
70 <fileset dir="resources"/>
71 </copy>
72 <copy todir="${plugin.build.dir}/images">
73 <fileset dir="images"/>
74 </copy>
75 <copy todir="${plugin.build.dir}">
76 <fileset dir=".">
77 <include name="README" />
78 <include name="LICENSE" />
79 </fileset>
80 </copy>
81 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
82 <manifest>
83 <attribute name="Author" value="Tomasz Stelmach"/>
84 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.piclayer.PicLayerPlugin"/>
85 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
86 <attribute name="Plugin-Description" value="This plugin allows to display any picture as a background in the editor and align it with the map."/>
87 <attribute name="Plugin-Icon" value="images/layericon.png"/>
88 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
89 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
90 </manifest>
91 </jar>
92 </target>
93
94 <!--
95 **********************************************************
96 ** revision - extracts the current revision number for the
97 ** file build.number and stores it in the XML property
98 ** version.*
99 **********************************************************
100 -->
101 <target name="revision">
102
103 <!-- extract the SVN revision information for file build.number -->
104 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
105 <env key="LANG" value="C"/>
106 <arg value="info"/>
107 <arg value="--xml"/>
108 <arg value="."/>
109 </exec>
110 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
111 <delete file="REVISION"/>
112 </target>
113
114 <!--
115 **********************************************************
116 ** clean - clean up the build environment
117 **********************************************************
118 -->
119 <target name="clean">
120 <delete dir="${plugin.build.dir}"/>
121 <delete file="${plugin.jar}"/>
122 </target>
123
124 <!--
125 **********************************************************
126 ** install - install the plugin in your local JOSM installation
127 **********************************************************
128 -->
129 <target name="install" depends="dist">
130 <property environment="env"/>
131 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
132 <and>
133 <os family="windows"/>
134 </and>
135 </condition>
136 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
137 </target>
138
139 <!--
140 ************************** Publishing the plugin ***********************************
141 -->
142 <!--
143 ** extracts the JOSM release for the JOSM version in ../core and saves it in the
144 ** property ${coreversion.info.entry.revision}
145 **
146 -->
147 <target name="core-info">
148 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
149 <env key="LANG" value="C"/>
150 <arg value="info"/>
151 <arg value="--xml"/>
152 <arg value="../../core"/>
153 </exec>
154 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
155 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
156 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
157 <delete file="core.info.xml" />
158 </target>
159
160 <!--
161 ** commits the source tree for this plugin
162 -->
163 <target name="commit-current">
164 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
165 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
166 <env key="LANG" value="C"/>
167 <arg value="commit"/>
168 <arg value="-m '${commit.message}'"/>
169 <arg value="."/>
170 </exec>
171 </target>
172
173 <!--
174 ** updates (svn up) the source tree for this plugin
175 -->
176 <target name="update-current">
177 <echo>Updating plugin source ...</echo>
178 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
179 <env key="LANG" value="C"/>
180 <arg value="up"/>
181 <arg value="."/>
182 </exec>
183 <echo>Updating ${plugin.jar} ...</echo>
184 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
185 <env key="LANG" value="C"/>
186 <arg value="up"/>
187 <arg value="../dist/${plugin.jar}"/>
188 </exec>
189 </target>
190
191 <!--
192 ** commits the plugin.jar
193 -->
194 <target name="commit-dist">
195 <echo>
196 ***** Properties of published ${plugin.jar} *****
197 Commit message : '${commit.message}'
198 Plugin-Mainversion: ${plugin.main.version}
199 JOSM build version: ${coreversion.info.entry.revision}
200 Plugin-Version : ${version.entry.commit.revision}
201 ***** / Properties of published ${plugin.jar} *****
202
203 Now commiting ${plugin.jar} ...
204 </echo>
205 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
206 <env key="LANG" value="C"/>
207 <arg value="-m '${commit.message}'"/>
208 <arg value="commit"/>
209 <arg value="${plugin.jar}"/>
210 </exec>
211 </target>
212
213 <!-- ** make sure svn is present as a command line tool ** -->
214 <target name="ensure-svn-present">
215 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
216 <env key="LANG" value="C" />
217 <arg value="--version" />
218 </exec>
219 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
220 <!-- return code not set at all? Most likely svn isn't installed -->
221 <condition>
222 <not>
223 <isset property="svn.exit.code" />
224 </not>
225 </condition>
226 </fail>
227 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
228 <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
229 <condition>
230 <isfailure code="${svn.exit.code}" />
231 </condition>
232 </fail>
233 </target>
234
235 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
236 </target>
237</project>
Note: See TracBrowser for help on using the repository browser.