source: osm/applications/editors/josm/plugins/piclayer/build.xml@ 14774

Last change on this file since 14774 was 14774, checked in by tstelmach, 15 years ago

Adding PicLayer plugin - directory created

File size: 6.9 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. To check in run
21**
22** > ant publish
23**
24-->
25<project name="PicLayer" default="dist" basedir=".">
26
27
28 <!--
29 ************************************************
30 ** configure these properties. Most of them will be copied to the plugins
31 ** manifest file. Property values will also show up in the list available
32 ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
33 **
34 ************************************************
35 -->
36 <property name="plugin.author" value="Tomasz Stelmach"/>
37 <property name="plugin.class" value="org.openstreetmap.josm.plugins.piclayer.PicLayerPlugin"/>
38 <property name="plugin.description" value="This plugin allows to display any picture as a background in the editor and align it with the map."/>
39 <property name="plugin.doc.url" value=""/>
40 <property name="plugin.main.version" value="2"/>
41 <property name="plugin.jar.name" value="${ant.project.name}.jar"/>
42
43
44 <!--
45 ************************************************
46 ** should not be necessary to change the following properties
47 -->
48 <property name="josm" location="../../core/dist/josm-custom.jar"/>
49 <property name="plugin.build.dir" value="build"/>
50 <property name="plugin.src.dir" value="src"/>
51 <!-- this is the directory where the plugin jar is copied to -->
52 <property name="plugin.dist.dir" value="../../dist"/>
53 <property name="ant.build.javac.target" value="1.5"/>
54 <property name="plugin.dist.dir" value="../../dist"/>
55 <property name="plugin.jar" value="${plugin.dist.dir}/${plugin.jar.name}"/>
56
57 <!--
58 **********************************************************
59 ** init - initializes the build
60 **********************************************************
61 -->
62 <target name="init">
63 <!-- make sure we increment the build number ... -->
64 <buildnumber file="build.number" />
65
66 <!-- ... and check it back in -->
67 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
68 <env key="LANG" value="C"/>
69 <arg value="commit"/>
70 <arg value="--message"/>
71 <arg value="increment build number"/>
72 <arg value="build.number"/>
73 </exec>
74 <mkdir dir="${plugin.build.dir}"/>
75 </target>
76
77 <!--
78 **********************************************************
79 ** compile - complies the source tree
80 **********************************************************
81 -->
82 <target name="compile" depends="init">
83 <echo message="compiling sources for ${plugin.jar.name} ... "/>
84 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
85 <compilerarg value="-Xlint:deprecation"/>
86 <compilerarg value="-Xlint:unchecked"/>
87 </javac>
88 </target>
89
90 <!--
91 **********************************************************
92 ** dist - creates the plugin jar
93 **********************************************************
94 -->
95 <target name="dist" depends="compile,revision">
96 <echo message="creating ${plugin.jar.name} ... "/>
97 <copy todir="${plugin.build.dir}/resources">
98 <fileset dir="resources"/>
99 </copy>
100 <copy todir="${plugin.build.dir}/images">
101 <fileset dir="images"/>
102 </copy>
103 <copy todir="${plugin.build.dir}">
104 <fileset dir=".">
105 <include name="README" />
106 <include name="LICENSE" />
107 </fileset>
108 </copy>
109 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
110 <manifest>
111 <attribute name="Author" value="${plugin.author}"/>
112 <attribute name="Plugin-Class" value="${plugin.class}"/>
113 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
114 <attribute name="Plugin-Description" value="${plugin.description}"/>
115 <attribute name="Plugin-Link" value="${plugin.doc.url}"/>
116 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
117 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
118 </manifest>
119 </jar>
120 </target>
121
122 <!--
123 **********************************************************
124 ** revision - extracts the current revision number for the
125 ** file build.number and stores it in the XML property
126 ** version.*
127 **********************************************************
128 -->
129 <target name="revision">
130
131 <!-- extract the SVN revision information for file build.number -->
132 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
133 <env key="LANG" value="C"/>
134 <arg value="info"/>
135 <arg value="--xml"/>
136 <arg value="build.number"/>
137 </exec>
138 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
139 <delete file="REVISION"/>
140 </target>
141
142 <!--
143 **********************************************************
144 ** clean - clean up the build environment
145 **********************************************************
146 -->
147 <target name="clean">
148 <delete dir="${plugin.build.dir}"/>
149 <delete file="${plugin.jar}"/>
150 </target>
151
152 <!--
153 **********************************************************
154 ** install - install the plugin in your local JOSM installation
155 **********************************************************
156 -->
157 <target name="install" depends="dist">
158 <property environment="env"/>
159 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
160 <and>
161 <os family="windows"/>
162 </and>
163 </condition>
164 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
165 </target>
166
167 <!--
168 **********************************************************
169 ** publish - publish the plugin jar
170 **********************************************************
171 -->
172 <target name="publish">
173 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
174 <env key="LANG" value="C"/>
175 <arg value="commit"/>
176 <arg value="--message"/>
177 <arg value="manual build"/>
178 <arg value="${plugin.jar}"/>
179 </exec>
180 </target>
181
182</project>
Note: See TracBrowser for help on using the repository browser.