source: subversion/applications/editors/josm/plugins/DirectUpload/build.xml @ 21706

Last change on this file since 21706 was 21706, checked in by bastik, 9 years ago

add icon links

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