source: subversion/applications/editors/josm/plugins/tageditor/build.xml @ 16919

Last change on this file since 16919 was 16919, checked in by guggis, 10 years ago

Replacing deprecated APIs

File size: 7.5 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 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, run
21**
22**    > ant  deploy
23**
24**
25-->
26<project name="tageditor" default="dist" basedir=".">
27    <!--
28      ************************************************
29      ** should not be necessary to change the following properties
30     -->
31    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
32    <property name="plugin.build.dir"       value="build"/>
33    <property name="plugin.src.dir"         value="src"/>
34    <!-- this is the directory where the plugin jar is copied to -->
35    <property name="plugin.dist.dir"        value="../../dist"/>
36    <property name="ant.build.javac.target" value="1.5"/>
37    <property name="plugin.dist.dir"        value="../../dist"/>
38    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
39    <property name="commit.message" value="" /> 
40
41    <!--
42    **********************************************************
43    ** init - initializes the build
44    **********************************************************
45    -->
46    <target name="init">
47        <mkdir dir="${plugin.build.dir}"/>
48    </target>
49
50    <!--
51    **********************************************************
52    ** compile - complies the source tree
53    **********************************************************
54    -->
55    <target name="compile" depends="init">
56        <echo message="compiling sources for  ${plugin.jar} ... "/>
57        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
58            <compilerarg value="-Xlint:deprecation"/>
59            <compilerarg value="-Xlint:unchecked"/>
60        </javac>
61    </target>
62
63    <!--
64    **********************************************************
65    ** dist - creates the plugin jar
66    **********************************************************
67    -->
68    <target name="dist" depends="compile,revision">
69        <echo message="creating ${plugin.jar} for version ${version.entry.commit.revision} ... "/>
70        <copy todir="${plugin.build.dir}/resources">
71            <fileset dir="resources"/>
72        </copy>
73        <copy todir="${plugin.build.dir}">
74            <fileset dir=".">
75                <include name="README" />
76                <include name="LICENSE" />
77            </fileset>
78        </copy>
79        <copy todir="${plugin.build.dir}">
80            <fileset dir="${plugin.src.dir}">
81                <include name="**/*.dtd"/>
82            </fileset>
83        </copy>
84        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
85            <manifest>
86                <attribute name="Author" value="Karl Guggisberg"/>
87                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.tageditor.TagEditorPlugin"/>
88                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
89                <attribute name="Plugin-Description" value="Provides a dialog for editing tags in a tabular grid."/>
90                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/TagEditor"/>
91                <attribute name="Plugin-Mainversion" value="1935"/>
92                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
93            </manifest>
94        </jar>
95    </target>
96
97    <!--
98    **********************************************************
99    ** revision - extracts the current revision number for the
100    **    file build.number and stores it in the XML property
101    **    version.*
102    **********************************************************
103    -->
104    <target name="revision">
105        <!-- extract the SVN revision information  -->
106        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
107                    <env key="LANG" value="C"/>
108                    <arg value="info"/>
109                    <arg value="--xml"/>
110                    <arg value="."/>
111        </exec>
112        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
113        <delete file="REVISION"/>
114    </target>
115       
116    <!--
117    **********************************************************
118    ** clean - clean up the build environment
119    **********************************************************
120    -->
121    <target name="clean">
122        <delete dir="${plugin.build.dir}"/>
123        <delete file="${plugin.jar}"/>
124    </target>
125
126    <!--
127    **********************************************************
128    ** install - install the plugin in your local JOSM installation
129    **********************************************************
130    -->
131    <target name="install" depends="dist">
132        <property environment="env"/>
133        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
134            <and>
135                <os family="windows"/>
136            </and>
137        </condition>
138        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
139    </target>
140
141        <target name="core-info">
142        <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
143                    <env key="LANG" value="C"/>
144                    <arg value="info"/>
145                    <arg value="--xml"/>
146                    <arg value="../../core"/>
147        </exec>
148        <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
149                <echo>Building against core revision ${coreversion.info.entry.revision} ...</echo>
150                <delete file="core.info.xml" />
151        </target>
152
153       
154        <target name="commit-current">
155                <echo>Commiting the plugin source ...</echo>
156            <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
157                            <env key="LANG" value="C"/>
158                            <arg value="commit"/>
159                            <arg value="-m &quot;${commit.message}&quot;"/>
160                            <arg value="."/>
161            </exec>         
162        </target>
163
164       
165        <target name="update-current">
166                <echo>Updating basedir ...</echo>
167            <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
168                            <env key="LANG" value="C"/>
169                            <arg value="up"/>
170                            <arg value="."/>
171            </exec>         
172                <echo>Updating ${plugin.jar} ...</echo>
173            <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
174                            <env key="LANG" value="C"/>
175                            <arg value="up"/>
176                            <arg value="../dist/${plugin.jar}"/>
177            </exec>         
178        </target>
179       
180        <target name="commit-dist">
181                        <echo>Commiting ${plugin.jar} ...</echo>
182                    <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
183                                    <env key="LANG" value="C"/>
184                                    <arg value="commit"/>
185                                        <arg value="-m &quot;${commit.message}&quot;"/>
186                                    <arg value="../dist/${plugin.jar}"/>
187                    </exec>         
188        </target>
189       
190        <target name="deploy" depends="core-info,commit-current,update-current,clean,dist,commit-dist">
191        </target>
192</project>
Note: See TracBrowser for help on using the repository browser.