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

Last change on this file since 26119 was 26119, checked in by hassans, 8 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.