source: osm/applications/editors/josm/plugins/routing/build.xml@ 26119

Last change on this file since 26119 was 26119, checked in by hassans, 14 years ago

Construct graph immediately. Added rendering for graph route. Proper graph construction for all value of oneway=?. Hiding of toolbar and dialog when route layer is deactivated. Tweaked snapping and route line width.

File size: 7.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3** This is the build file for the routing 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="routing" default="dist" basedir=".">
28
29 <property name="commit.message" value="Changed the constructor signature of the plugin main class" />
30 <property name="plugin.main.version" value="3835" />
31
32 <!-- Define some properties -->
33 <property name="josm" location="../../core/dist/josm-custom.jar"/>
34 <property name="plugin.dist.dir" value="../../dist"/>
35 <property name="plugin.build.dir" value="build"/>
36 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
37 <property name="libdir" location="lib"/>
38 <property name="jgrapht" value="${libdir}/jgrapht-jdk1.5.jar"/>
39 <property name="log4j" value="${libdir}/log4j-1.2.15.jar"/>
40 <property name="ant.build.javac.target" value="1.5"/>
41 <!-- Some initializations for several other targets -->
42 <target name="init">
43 <mkdir dir="${plugin.dist.dir}"/>
44 <mkdir dir="${plugin.build.dir}"/>
45 </target>
46 <!-- Compile sources -->
47 <target name="compile" depends="init" description="Compile sources">
48 <echo message="creating ${plugin.jar}"/>
49 <javac srcdir="src" debug="true" destdir="${plugin.build.dir}">
50 <compilerarg value="-Xlint:deprecation"/>
51 <compilerarg value="-Xlint:unchecked"/>
52 <classpath>
53 <pathelement location="${josm}"/>
54 <pathelement location="${jgrapht}"/>
55 <pathelement location="${log4j}"/>
56 </classpath>
57 </javac>
58 </target>
59 <!-- Generate distribution -->
60 <target name="dist" depends="compile,revision" description="Generate distribution">
61 <unjar dest="${plugin.build.dir}" src="${jgrapht}"/>
62 <unjar dest="${plugin.build.dir}" src="${log4j}"/>
63 <copy todir="${plugin.build.dir}/">
64 <fileset dir="resources">
65 <include name="*.xml"/>
66 </fileset>
67 </copy>
68 <copy todir="${plugin.build.dir}/images">
69 <fileset dir="images"/>
70 </copy>
71 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
72 <manifest>
73 <attribute name="Author" value="Jose Vidal &lt;vidalfree@gmail.com&gt;, Juangui Jordán &lt;juangui@gmail.com&gt;, Hassan S &lt;hassan.sabirin@gmail.com&gt;"/>
74 <attribute name="Plugin-Class" value="com.innovant.josm.plugin.routing.RoutingPlugin"/>
75 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
76 <attribute name="Plugin-Description" value="Provides routing capabilities."/>
77 <attribute name="Plugin-Icon" value="images/preferences/routing.png"/>
78 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/Routing"/>
79 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
80 <attribute name="Plugin-Stage" value="50"/>
81 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
82 </manifest>
83 </jar>
84 </target>
85 <target name="revision">
86 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
87 <env key="LANG" value="C"/>
88 <arg value="info"/>
89 <arg value="--xml"/>
90 <arg value="."/>
91 </exec>
92 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
93 <delete file="REVISION"/>
94 </target>
95 <target name="clean">
96 <delete dir="${plugin.build.dir}"/>
97 <delete file="${plugin.jar}"/>
98 </target>
99 <target name="install" depends="dist">
100 <property environment="env"/>
101 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
102 <and>
103 <os family="windows"/>
104 </and>
105 </condition>
106 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
107 </target>
108
109 <!--
110 ************************** Publishing the plugin ***********************************
111 -->
112 <!--
113 ** extracts the JOSM release for the JOSM version in ../core and saves it in the
114 ** property ${coreversion.info.entry.revision}
115 **
116 -->
117 <target name="core-info">
118 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
119 <env key="LANG" value="C"/>
120 <arg value="info"/>
121 <arg value="--xml"/>
122 <arg value="../../core"/>
123 </exec>
124 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
125 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
126 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
127 <delete file="core.info.xml" />
128 </target>
129
130 <!--
131 ** commits the source tree for this plugin
132 -->
133 <target name="commit-current">
134 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
135 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
136 <env key="LANG" value="C"/>
137 <arg value="commit"/>
138 <arg value="-m '${commit.message}'"/>
139 <arg value="."/>
140 </exec>
141 </target>
142
143 <!--
144 ** updates (svn up) the source tree for this plugin
145 -->
146 <target name="update-current">
147 <echo>Updating plugin source ...</echo>
148 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
149 <env key="LANG" value="C"/>
150 <arg value="up"/>
151 <arg value="."/>
152 </exec>
153 <echo>Updating ${plugin.jar} ...</echo>
154 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
155 <env key="LANG" value="C"/>
156 <arg value="up"/>
157 <arg value="../dist/${plugin.jar}"/>
158 </exec>
159 </target>
160
161 <!--
162 ** commits the plugin.jar
163 -->
164 <target name="commit-dist">
165 <echo>
166 ***** Properties of published ${plugin.jar} *****
167 Commit message : '${commit.message}'
168 Plugin-Mainversion: ${plugin.main.version}
169 JOSM build version: ${coreversion.info.entry.revision}
170 Plugin-Version : ${version.entry.commit.revision}
171 ***** / Properties of published ${plugin.jar} *****
172
173 Now commiting ${plugin.jar} ...
174 </echo>
175 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
176 <env key="LANG" value="C"/>
177 <arg value="-m '${commit.message}'"/>
178 <arg value="commit"/>
179 <arg value="${plugin.jar}"/>
180 </exec>
181 </target>
182
183 <!-- ** make sure svn is present as a command line tool ** -->
184 <target name="ensure-svn-present">
185 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
186 <env key="LANG" value="C" />
187 <arg value="--version" />
188 </exec>
189 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
190 <!-- return code not set at all? Most likely svn isn't installed -->
191 <condition>
192 <not>
193 <isset property="svn.exit.code" />
194 </not>
195 </condition>
196 </fail>
197 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
198 <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
199 <condition>
200 <isfailure code="${svn.exit.code}" />
201 </condition>
202 </fail>
203 </target>
204
205 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
206 </target>
207</project>
Note: See TracBrowser for help on using the repository browser.