source: subversion/applications/editors/josm/plugins/terracer/build.xml @ 25199

Last change on this file since 25199 was 25199, checked in by Dirk Stoecker, 9 years ago

update all plugins

File size: 6.9 KB
Line 
1<!--
2** This is a template build file for the terracer plugin
3**
4** Maintaining versions
5** ====================
6** see README.template
7**
8** Usage
9** =====
10** To build it run
11**
12**    > ant  dist
13**
14** To install the generated plugin locally (in your default plugin directory) run
15**
16**    > ant  install
17**
18** To build against the core in ../../core, create a correct manifest and deploy to
19** SVN,
20**    set the properties commit.message and plugin.main.version
21** and run
22**    > ant  publish
23**
24**
25-->
26<project name="terracer" default="dist" basedir=".">
27    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
28    <property name="plugin.dist.dir"        value="../../dist"/>
29    <property name="plugin.build.dir"       value="build"/>
30    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
31    <property name="ant.build.javac.target" value="1.5"/>
32
33
34    <property name="commit.message" value="applied #j5760 (patch by robome) - Order of housenumbers not correct" />
35    <property name="plugin.main.version" value="3835" />
36
37
38    <target name="init">
39        <mkdir dir="${plugin.build.dir}"/>
40    </target>
41    <target name="compile" depends="init">
42        <echo message="creating ${plugin.jar}"/>
43        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
44            <compilerarg value="-Xlint:deprecation"/>
45            <compilerarg value="-Xlint:unchecked"/>
46        </javac>
47    </target>
48    <target name="dist" depends="compile,revision">
49        <copy todir="${plugin.build.dir}/images">
50            <fileset dir="images"/>
51        </copy>
52        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
53            <manifest>
54                <attribute name="Author" value="Matt Amos"/>
55                <attribute name="Plugin-Class" value="terracer.TerracerPlugin"/>
56                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
57                <attribute name="Plugin-Description" value="Make terraced houses out of single blocks."/>
58                <attribute name="Plugin-Icon" value="images/terrace.png"/>
59                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/Terracer"/>
60                <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
61                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
62            </manifest>
63        </jar>
64    </target>
65    <target name="revision">
66        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
67            <env key="LANG" value="C"/>
68            <arg value="info"/>
69            <arg value="--xml"/>
70            <arg value="."/>
71        </exec>
72        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
73        <delete file="REVISION"/>
74    </target>
75    <target name="clean">
76        <delete dir="${plugin.build.dir}"/>
77        <delete file="${plugin.jar}"/>
78    </target>
79    <target name="install" depends="dist">
80        <property environment="env"/>
81        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
82            <and>
83                <os family="windows"/>
84            </and>
85        </condition>
86        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
87    </target>
88
89    <!--
90         ************************** Publishing the plugin ***********************************
91        -->
92            <!--
93              ** extracts the JOSM release for the JOSM version in ../core and saves it in the
94              ** property ${coreversion.info.entry.revision}
95              **
96            -->
97            <target name="core-info">
98                <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
99                            <env key="LANG" value="C"/>
100                            <arg value="info"/>
101                            <arg value="--xml"/>
102                            <arg value="../../core"/>
103                </exec>
104                <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
105                <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
106                <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
107                <delete file="core.info.xml" />
108            </target>
109
110            <!--
111             ** commits the source tree for this plugin
112            -->
113            <target name="commit-current">
114                <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
115                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
116                                <env key="LANG" value="C"/>
117                                <arg value="commit"/>
118                                <arg value="-m '${commit.message}'"/>
119                                <arg value="."/>
120                </exec>
121            </target>
122
123            <!--
124            ** updates (svn up) the source tree for this plugin
125            -->
126            <target name="update-current">
127                <echo>Updating plugin source ...</echo>
128                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
129                                <env key="LANG" value="C"/>
130                                <arg value="up"/>
131                                <arg value="."/>
132                </exec>
133                <echo>Updating ${plugin.jar} ...</echo>
134                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
135                                <env key="LANG" value="C"/>
136                                <arg value="up"/>
137                                <arg value="../dist/${plugin.jar}"/>
138                </exec>
139            </target>
140
141            <!--
142             ** commits the plugin.jar
143             -->
144            <target name="commit-dist">
145                    <echo>
146    ***** Properties of published ${plugin.jar} *****
147    Commit message    : '${commit.message}'
148    Plugin-Mainversion: ${plugin.main.version}
149    JOSM build version: ${coreversion.info.entry.revision}
150    Plugin-Version    : ${version.entry.commit.revision}
151    ***** / Properties of published ${plugin.jar} *****
152
153    Now commiting ${plugin.jar} ...
154    </echo>
155                    <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
156                                    <env key="LANG" value="C"/>
157                                    <arg value="-m '${commit.message}'"/>
158                                    <arg value="commit"/>
159                                    <arg value="${plugin.jar}"/>
160                    </exec>
161               </target>
162
163            <target name="publish" depends="core-info,commit-current,update-current,clean,dist,commit-dist">
164            </target>
165</project>
Note: See TracBrowser for help on using the repository browser.