source: osm/applications/editors/josm/plugins/smed/build.xml@ 24428

Last change on this file since 24428 was 23883, checked in by postfix, 14 years ago
  • Property svn:executable set to *
File size: 6.8 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** Use the ant target 'publish' to check in the plugin and make it available to other
23** JOSM users:
24** set the properties commit.message and plugin.main.version
25** and run
26** > ant publish
27**
28**
29-->
30<project name="smed" basedir=".">
31
32 <!-- enter the SVN commit message -->
33 <property name="commit.message" value="some new internationalized messages" />
34 <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
35 <property name="plugin.main.version" value="3514" />
36
37
38 <!--
39 ************************************************
40 ** should not be necessary to change the following properties
41 -->
42 <property name="josm" location="../../core/dist/josm-custom.jar"/>
43 <property name="plugin.build.dir" value="build/"/>
44 <property name="plugin.src.dir" value="src/"/>
45 <property name="smed.dist.dir" value="dist/"/>
46 <!-- this is the directory where the plugin jar is copied to -->
47 <property name="plugin.dist.dir" value="../../dist/"/>
48 <property name="smed_core.dist.dir" value="core/dist/"/>
49 <property name="ant.build.javac.target" value="1.5"/>
50 <property name="plugin.jar" value="${plugin.dist.dir}${ant.project.name}.jar"/>
51
52 <!--
53 **********************************************************
54 ** init - initializes the build
55 **********************************************************
56 -->
57 <target name="init">
58 <mkdir dir="${plugin.build.dir}"/>
59 <mkdir dir="${smed_core.dist.dir}"/>
60 <mkdir dir="${smed.dist.dir}"/>
61 </target>
62
63 <!--
64 **********************************************************
65 ** compile - complies the source tree
66 **********************************************************
67 -->
68 <target name="compile" depends="init">
69 <echo message="compiling sources for ${plugin.jar} ... "/>
70 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
71 <compilerarg value="-Xlint:deprecation"/>
72 <compilerarg value="-Xlint:unchecked"/>
73 </javac>
74 </target>
75
76 <!--
77 **********************************************************
78 ** dist - creates the plugin jar
79 **********************************************************
80 -->
81 <target name="dist" depends="compile, revision">
82 <echo message="creating ${ant.project.name}.jar ... "/>
83
84 <copy todir="${plugin.build.dir}/images">
85 <fileset dir="${plugin.src.dir}/images"/>
86 </copy>
87
88 <copy todir="${plugin.build.dir}/images">
89 <fileset dir="images"/>
90 </copy>
91
92 <copy todir="${plugin.build.dir}/smed/msg">
93 <fileset dir="${plugin.src.dir}/smed/msg"/>
94 </copy>
95
96 <copy todir="${plugin.build.dir}">
97 <fileset dir="${smed.dist.dir}"/>
98 </copy>
99
100 <copy todir="${plugin.build.dir}">
101 <fileset dir=".">
102 <include name="*.txt" />
103 </fileset>
104 </copy>
105 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
106 <!--
107 ************************************************
108 ** configure these properties. Most of them will be copied to the plugins
109 ** manifest file. Property values will also show up in the list available
110 ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
111 **
112 ************************************************
113 -->
114 <manifest>
115 <attribute name="Author" value="Werner, Malcolm"/>
116 <attribute name="Plugin-Class" value="smed.Smed"/>
117 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
118 <attribute name="Plugin-Description" value="Create and edit seamaps for OpenSeaMap"/>
119 <attribute name="Plugin-Icon" value="images/Smed.png"/>
120 <attribute name="Plugin-Link" value="http://openseamap.org/"/>
121 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
122 <!--
123 <attribute name="Plugin-Version" value="23456"/>
124 -->
125 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
126
127 </manifest>
128 </jar>
129
130 <!-- install interface -->
131 <copy file="${plugin.jar}" todir="${smed_core.dist.dir}"/>
132 </target>
133
134 <!--
135 **********************************************************
136 ** revision - extracts the current revision number for the
137 ** file build.number and stores it in the XML property
138 ** version.*
139 **********************************************************
140 -->
141 <target name="revision">
142
143 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
144 <env key="LANG" value="C"/>
145 <arg value="info"/>
146 <arg value="--xml"/>
147 <arg value="."/>
148 </exec>
149 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
150 <!--
151 <delete file="REVISION"/>
152 -->
153 </target>
154
155
156 <!--
157 **********************************************************
158 ** clean - clean up the build environment
159 **********************************************************
160 -->
161 <target name="clean">
162 <delete dir="${plugin.build.dir}"/>
163 <delete file="${plugin.jar}"/>
164 </target>
165
166 <!--
167 **********************************************************
168 ** install - install the plugin in your local JOSM installation
169 **********************************************************
170 -->
171 <target name="install" depends="dist">
172 <property environment="env"/>
173 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
174 <and>
175 <os family="windows"/>
176 </and>
177 </condition>
178 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
179 </target>
180
181 <!--
182 ** commits the source tree for this plugin
183 -->
184 <target name="commit-current">
185 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
186 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
187 <env key="LANG" value="C"/>
188 <arg value="commit"/>
189 <arg value="-m '${commit.message}'"/>
190 <arg value="."/>
191 </exec>
192 </target>
193
194 <!--
195 ** updates (svn up) the source tree for this plugin
196 -->
197 <target name="update-current">
198 <echo>Updating plugin source ...</echo>
199 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
200 <env key="LANG" value="C"/>
201 <arg value="up"/>
202 <arg value="."/>
203 </exec>
204 <echo>Updating ${plugin.jar} ...</echo>
205 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
206 <env key="LANG" value="C"/>
207 <arg value="up"/>
208 <arg value="../dist/${plugin.jar}"/>
209 </exec>
210 </target>
211
212</project>
Note: See TracBrowser for help on using the repository browser.