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

Last change on this file since 14774 was 14774, checked in by tstelmach, 10 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.