source: osm/applications/editors/josm/plugins/mapdust/build.xml@ 24515

Last change on this file since 24515 was 24515, checked in by beata.jancso, 14 years ago

modified dist task

File size: 7.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<project name="mapdust" default="dist" basedir=".">
3
4 <!-- properties -->
5 <property name="commit.message" value="MapDust bug reporter plugin" />
6 <property name="plugin.main.version" value="3592" />
7 <property name="josm.dir" value="../../core/dist/" />
8 <property name="plugin.build.dir" value="build/classes" />
9 <property name="apidoc.dir" value="build/doc" />
10 <property name="plugin.src.dir" value="src" />
11 <property name="plugin.lib.dir" value="lib" />
12 <property name="plugin.dist.dir" value="../../dist" />
13 <property name="ant.build.javac.target" value="1.5" />
14 <property name="plugin.dist.dir" value="../../dist" />
15 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar" />
16
17 <!-- classpath -->
18 <path id="classpath">
19 <fileset dir="${plugin.lib.dir}" includes="**/*.jar" />
20 <fileset dir="${josm.dir}" includes="josm-custom.jar" />
21 </path>
22
23 <!-- clean the build -->
24 <target name="clean">
25 <delete dir="${plugin.build.dir}" />
26 <delete file="${plugin.jar}" />
27 </target>
28
29 <!-- initialize the build -->
30 <target name="init" depends="clean">
31 <mkdir dir="${plugin.build.dir}" />
32 </target>
33
34 <!-- compiles the sources -->
35 <target name="compile" depends="init">
36 <echo message="compiling sources for ${plugin.jar} ... " />
37 <javac srcdir="src" classpathref="classpath" debug="true" destdir="${plugin.build.dir}" includeantruntime="true" target="1.5" source="1.5">
38 <compilerarg value="-Xlint:deprecation" />
39 <compilerarg value="-Xlint:unchecked" />
40 </javac>
41 </target>
42
43 <!-- creates the javadocs -->
44 <target name="javadoc">
45 <mkdir dir="${apidoc.dir}" />
46 <javadoc destdir="${apidoc.dir}" source="1.6" classpathref="classpath" windowtitle="MapDust plugin API">
47 <link href="http://java.sun.com/javase/6/docs/api/" />
48 <link href="http://docs.jboss.org/hibernate/stable/core/api/" />
49 <packageset dir="${plugin.src.dir}">
50 </packageset>
51 </javadoc>
52
53 </target>
54
55 <!-- revision -->
56 <target name="revision">
57 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
58 <env key="LANG" value="C" />
59 <arg value="info" />
60 <arg value="--xml" />
61 <arg value="." />
62 </exec>
63 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true" />
64 <delete file="REVISION" />
65 </target>
66
67 <!-- creates the .jar file of the plugin -->
68 <target name="dist" depends="compile,revision">
69 <echo message="creating ${ant.project.name}.jar ... " />
70 <copy todir="${plugin.build.dir}">
71 <fileset dir="conf" />
72 </copy>
73 <copy todir="${plugin.build.dir}/images">
74 <fileset dir="images" />
75 </copy>
76 <copy todir="${plugin.build.dir}">
77 <fileset dir=".">
78 <include name="README" />
79 <include name="LICENSE" />
80 </fileset>
81 </copy>
82 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
83 <zipfileset src="lib/gson-1.5.jar" includes="**/*.class" />
84 <manifest>
85 <attribute name="Author" value="Beata Jancso" />
86 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.mapdust.MapdustPlugin" />
87 <attribute name="Plugin-Date" value="${version.entry.commit.date}" />
88 <attribute name="Plugin-Description" value="The MapDust Plug-In shows the MapDust bug reports
89 on the map. You can create, close, invalidate, re-open and
90 comment bug reports by using this plugin." />
91 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/MapDust" />
92 <attribute name="Plugin-Mainversion" value="${plugin.main.version}" />
93 <attribute name="Plugin-Version" value="${version.entry.commit.revision}" />
94 <attribute name="Plugin-Icon" value="images/dialogs/mapdust_icon25.png" />
95 </manifest>
96 </jar>
97 </target>
98
99 <!-- installs the plugin -->
100 <target name="install" depends="dist">
101 <property environment="env" />
102 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
103 <and>
104 <os family="windows" />
105 </and>
106 </condition>
107 <copy file="${plugin.jar}" todir="${josm.plugins.dir}" />
108 </target>
109
110 <!-- displays the information about the core josm -->
111 <target name="core-info">
112 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
113 <env key="LANG" value="C" />
114 <arg value="info" />
115 <arg value="--xml" />
116 <arg value="../../core" />
117 </exec>
118 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true" />
119 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
120 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
121 <delete file="core.info.xml" />
122 </target>
123
124 <!-- commits the current sources -->
125 <target name="commit-current">
126 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
127 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
128 <env key="LANG" value="C" />
129 <arg value="commit" />
130 <arg value="-m '${commit.message}'" />
131 <arg value="." />
132 </exec>
133 </target>
134
135 <!-- updates the plugin -->
136 <target name="update-current">
137 <echo>Updating plugin source ...</echo>
138 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
139 <env key="LANG" value="C" />
140 <arg value="up" />
141 <arg value="." />
142 </exec>
143 <echo>Updating ${plugin.jar} ...</echo>
144 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
145 <env key="LANG" value="C" />
146 <arg value="up" />
147 <arg value="../dist/${plugin.jar}" />
148 </exec>
149 </target>
150
151 <!-- commit the .jar of the plugin -->
152 <target name="commit-dist">
153 <echo>
154 ***** Properties of published ${plugin.jar} *****
155 Commit message : '${commit.message}'
156 Plugin-Mainversion: ${plugin.main.version}
157 JOSM build version: ${coreversion.info.entry.revision}
158 Plugin-Version : ${version.entry.commit.revision}
159 ***** / Properties of published ${plugin.jar} *****
160
161 Now commiting ${plugin.jar} ...
162 </echo>
163 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
164 <env key="LANG" value="C" />
165 <arg value="-m '${commit.message}'" />
166 <arg value="commit" />
167 <arg value="${plugin.jar}" />
168 </exec>
169 </target>
170
171 <!-- ** make sure svn is present as a command line tool ** -->
172 <target name="ensure-svn-present">
173 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
174 <env key="LANG" value="C" />
175 <arg value="--version" />
176 </exec>
177 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
178 <!-- return code not set at all? Most likely svn isn't installed -->
179 <condition>
180 <not>
181 <isset property="svn.exit.code" />
182 </not>
183 </condition>
184 </fail>
185 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
186 <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
187 <condition>
188 <isfailure code="${svn.exit.code}" />
189 </condition>
190 </fail>
191 </target>
192
193 <!-- publish the plugin -->
194 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
195 </target>
196</project>
Note: See TracBrowser for help on using the repository browser.