source: osm/applications/editors/josm/plugins/livegps/build.xml@ 3410

Last change on this file since 3410 was 3410, checked in by christofd, 17 years ago

added site generation for pluginmanagement
most values are put into property values

File size: 3.9 KB
Line 
1<project name="livegps" default="dist" basedir=".">
2 <!-- compilation properties -->
3 <property name="josm.build.dir" value="../JOSM"/>
4 <property name="josm.home.dir" value="${user.home}/.josm"/>
5 <property name="plugin.build.dir" value="build"/>
6 <property name="plugin.name" value="${ant.project.name}"/>
7 <property name="plugin.jar" value="${plugin.name}.jar"/>
8 <property name="livegpsplugin.jar" value="${josm.home.dir}/plugins/livegps.jar"/>
9
10 <!-- plugin meta data (enter new version number if anything changed!) -->
11 <property name="plugin.version" value="1.0.1"/>
12 <property name="plugin.description" value="Allow live GPS feed from a gpsd server (V${plugin.version})."/>
13 <property name="plugin.stage" value="50"/>
14 <property name="plugin.class" value="livegps.LiveGpsPlugin"/>
15
16 <!-- update site meta data -->
17 <property name="plugin.site.file" value="josm-site.xml"/>
18 <property name="plugin.site.description" value="Josm's LiveGps Update Site"/>
19 <property name="plugin.site.url" value="http://www.tegmento.org/~cdaller/josm/livegps/"/>
20 <property name="plugin.site.upload.target" value="cdaller@www.tegmento.org:public_html/josm/livegps/"/>
21
22
23 <target name="dist" depends="compile,site">
24 <!-- images -->
25 <copy todir="${plugin.build.dir}/images">
26 <fileset dir="images" />
27 </copy>
28
29 <!-- create jar file -->
30 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
31 <manifest>
32 <attribute name="Plugin-Class" value="${plugin.class}" />
33 <attribute name="Plugin-Description" value="${plugin.description}" />
34 <attribute name="Plugin-Version" value="${plugin.version}" />
35 <!--attribute name="Plugin-Dependencies" value="org.eigenheimstrasse.josm" /-->
36 <attribute name="Plugin-Stage" value="${plugin.stage}" />
37 </manifest>
38 </jar>
39 </target>
40
41 <target name="compile" depends="init">
42 <mkdir dir="${plugin.build.dir}"/>
43 <javac srcdir="livegps" destdir="${plugin.build.dir}" debug="true" source="1.5" target="1.5">
44 <classpath>
45 <pathelement path="${josm.build.dir}/build"/>
46 <fileset dir="${josm.build.dir}/lib">
47 <include name="**/*.jar"/>
48 </fileset>
49 <pathelement location="${livegpsplugin.jar}"/>
50 </classpath>
51 </javac>
52 </target>
53
54 <target name="install" depends="dist">
55 <copy file="${plugin.jar}" todir="${josm.home.dir}/plugins" />
56 </target>
57
58 <target name="init">
59 <echo>java version: ${java.version}</echo>
60 </target>
61
62 <target name="clean">
63 <delete dir="${plugin.build.dir}" />
64 <delete dir="${plugin.site.file}" />
65 <delete dir="${plugin.jar}" />
66 </target>
67
68 <!-- write site description for the given plugin -->
69 <target name="site">
70 <echo message="creating site description in ${plugin.site.file}"/>
71 <echo file="${plugin.site.file}">&lt;?xml version="1.0"?>
72&lt;site version="1.0">
73 &lt;!-- meta data of site -->
74 &lt;site-info>
75 &lt;site-name>${plugin.site.description}&lt;/site-name>
76 &lt;site-url>${plugin.site.url}&lt;/site-url>
77 &lt;/site-info>
78
79 &lt;!-- plugins available on this site -->
80 &lt;plugins>
81 &lt;plugin id="${ant.project.name}" version="${plugin.version}">
82 &lt;name>${ant.project.name}&lt;/name>
83 &lt;description>${plugin.description}&lt;/description>
84 &lt;resources>
85 &lt;resource src="${plugin.site.url}/${plugin.jar}"
86 target="$${josm.user.dir}/plugins/${plugin.jar}"/>
87 &lt;/resources>
88 &lt;/plugin>
89 &lt;/plugins>
90&lt;/site>
91 </echo>
92 </target>
93
94 <!-- upload the site description and the jar file via ssh -->
95 <target name="upload" depends="dist,site">
96 <echo message="uploading jar and site description to ${plugin.site.upload.target}"/>
97 <exec executable="scp">
98 <arg value="${plugin.jar}"/>
99 <arg value="${plugin.site.file}"/>
100 <arg value="${plugin.site.upload.target}"/>
101 </exec>
102 </target>
103
104</project>
Note: See TracBrowser for help on using the repository browser.