source: subversion/applications/editors/josm/plugins/utilsplugin/build.xml @ 18926

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

'Updated to new referrer support in OsmPrimitive?'

File size: 6.3 KB
Line 
1<!--
2** This is the buld file for the utilsplugin 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="utilsplugin" 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="Updated to new referrer support in OsmPrimitive" />         
35    <property name="plugin.main.version" value="2565" />
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="Martijn van Oosterhout"/>
55                <attribute name="Plugin-Class" value="UtilsPlugin.UtilsPlugin"/>
56                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
57                <attribute name="Plugin-Description" value="Several utilities that make your life easier: e.g. simplify way, join areas, jump to position."/>
58                <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
59                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
60            </manifest>
61        </jar>
62    </target>
63    <target name="revision">
64        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
65            <env key="LANG" value="C"/>
66            <arg value="info"/>
67            <arg value="--xml"/>
68            <arg value="."/>
69        </exec>
70        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
71        <delete file="REVISION"/>
72    </target>
73    <target name="clean">
74        <delete dir="${plugin.build.dir}"/>
75        <delete file="${plugin.jar}"/>
76    </target>
77    <target name="install" depends="dist">
78        <property environment="env"/>
79        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
80            <and>
81                <os family="windows"/>
82            </and>
83        </condition>
84        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
85    </target>
86       
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} *****
145                Commit message    : '${commit.message}'                                 
146                Plugin-Mainversion: ${plugin.main.version}
147                JOSM build version: ${coreversion.info.entry.revision}
148                Plugin-Version    : ${version.entry.commit.revision}
149                ***** / Properties of published ${plugin.jar} *****                                     
150                                                       
151                Now 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                                <target name="publish" depends="core-info,commit-current,update-current,clean,dist,commit-dist">
162                                </target>               
163</project>
Note: See TracBrowser for help on using the repository browser.