source: osm/applications/editors/josm/plugins/00_plugin_dir_template/build.xml@ 14837

Last change on this file since 14837 was 14837, checked in by stoecker, 15 years ago

cleanup recently added build.xmls and demo plugin - before changing the build system all side effects should be fully understood

File size: 5.3 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 you default plugin directory) run
16**
17** > ant install
18**
19** The generated plugin jar is not automatically available in JOSMs plugin configuration
20** dialog. You have to check it in first.
21**
22-->
23<project name="myPluginName" default="dist" basedir=".">
24 <!--
25 ************************************************
26 ** should not be necessary to change the following properties
27 -->
28 <property name="josm" location="../../core/dist/josm-custom.jar"/>
29 <property name="plugin.build.dir" value="build"/>
30 <property name="plugin.src.dir" value="src"/>
31 <!-- this is the directory where the plugin jar is copied to -->
32 <property name="plugin.dist.dir" value="../../dist"/>
33 <property name="ant.build.javac.target" value="1.5"/>
34 <property name="plugin.dist.dir" value="../../dist"/>
35 <property name="plugin.jar" value="${plugin.dist.dir}/${plugin.jar.name}"/>
36
37 <!--
38 **********************************************************
39 ** init - initializes the build
40 **********************************************************
41 -->
42 <target name="init">
43 <mkdir dir="${plugin.build.dir}"/>
44 </target>
45
46 <!--
47 **********************************************************
48 ** compile - complies the source tree
49 **********************************************************
50 -->
51 <target name="compile" depends="init">
52 <echo message="compiling sources for ${plugin.jar.name} ... "/>
53 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
54 <compilerarg value="-Xlint:deprecation"/>
55 <compilerarg value="-Xlint:unchecked"/>
56 </javac>
57 </target>
58
59 <!--
60 **********************************************************
61 ** dist - creates the plugin jar
62 **********************************************************
63 -->
64 <target name="dist" depends="compile,revision">
65 <echo message="creating ${plugin.jar.name} ... "/>
66 <copy todir="${plugin.build.dir}/resources">
67 <fileset dir="resources"/>
68 </copy>
69 <copy todir="${plugin.build.dir}">
70 <fileset dir=".">
71 <include name="README" />
72 <include name="LICENSE" />
73 </fileset>
74 </copy>
75 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
76 <!--
77 ************************************************
78 ** configure these properties. Most of them will be copied to the plugins
79 ** manifest file. Property values will also show up in the list available
80 ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
81 **
82 ************************************************
83 -->
84 <manifest>
85 <attribute name="Author" value="..."/>
86 <attribute name="Plugin-Class" value="..."/>
87 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
88 <attribute name="Plugin-Description" value="..."/>
89 <attribute name="Plugin-Link" value="..."/>
90 <attribute name="Plugin-Mainversion" value="..."/>
91 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
92 </manifest>
93 </jar>
94 </target>
95
96 <!--
97 **********************************************************
98 ** revision - extracts the current revision number for the
99 ** file build.number and stores it in the XML property
100 ** version.*
101 **********************************************************
102 -->
103 <target name="revision">
104
105 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
106 <env key="LANG" value="C"/>
107 <arg value="info"/>
108 <arg value="--xml"/>
109 <arg value="."/>
110 </exec>
111 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
112 <delete file="REVISION"/>
113 </target>
114
115 <!--
116 **********************************************************
117 ** clean - clean up the build environment
118 **********************************************************
119 -->
120 <target name="clean">
121 <delete dir="${plugin.build.dir}"/>
122 <delete file="${plugin.jar}"/>
123 </target>
124
125 <!--
126 **********************************************************
127 ** install - install the plugin in your local JOSM installation
128 **********************************************************
129 -->
130 <target name="install" depends="dist">
131 <property environment="env"/>
132 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
133 <and>
134 <os family="windows"/>
135 </and>
136 </condition>
137 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
138 </target>
139</project>
Note: See TracBrowser for help on using the repository browser.