source: subversion/applications/editors/josm/plugins/osmarender/build.xml @ 18922

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

'Updated to new referrer support in OsmPrimitive?'

File size: 6.4 KB
Line 
1<!--
2** This is a template build file for the osmarender 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="osmarender" default="install" 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    <property name="stylesheets"            location="./stylesheets"/>
33    <property name="xslt"                   location="./xslt"/>
34       
35
36    <property name="commit.message" value="Updated to new referrer support in OsmPrimitive" />         
37    <property name="plugin.main.version" value="2565" />
38       
39    <target name="init">
40        <mkdir dir="${plugin.build.dir}"/>
41    </target>
42    <target name="compile" depends="init">
43        <echo message="creating ${plugin.jar}"/>
44        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
45            <compilerarg value="-Xlint:deprecation"/>
46            <compilerarg value="-Xlint:unchecked"/>
47        </javac>
48    </target>
49    <target name="dist" depends="compile,revision">
50        <copy todir="${plugin.build.dir}" file="${xslt}/osmarender.xsl"/>
51        <copy tofile="${plugin.build.dir}/osm-map-features.xml" file="${stylesheets}/osm-map-features-z17.xml"/>
52        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
53            <manifest>
54                <attribute name="Author" value="80n"/>
55                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.osmarender.OsmarenderPlugin"/>
56                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
57                <attribute name="Plugin-Description" value="Launches FireFox to display the current visible screen as a nice SVG image."/>
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="perl" failifexecutionfails="false">
65            <env key="LANG" value="C"/>
66            <arg value="../getrevision.pl"/>
67            <arg value="xslt"/>
68            <arg value="stylesheets"/>
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.