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

Last change on this file since 14837 was 14837, checked in by Dirk Stoecker, 10 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.2 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="PicLayer" 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}/images">
70            <fileset dir="images"/>
71        </copy>
72        <copy todir="${plugin.build.dir}">
73            <fileset dir=".">
74                <include name="README" />
75                <include name="LICENSE" />
76            </fileset>
77        </copy>
78        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
79            <manifest>
80                <attribute name="Author" value="Tomasz Stelmach"/>
81                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.piclayer.PicLayerPlugin"/>
82                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
83                <attribute name="Plugin-Description" value="This plugin allows to display any picture as a background in the editor and align it with the map."/>
84                <attribute name="Plugin-Mainversion" value="1529"/>
85                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
86            </manifest>
87        </jar>
88    </target>
89
90    <!--
91    **********************************************************
92    ** revision - extracts the current revision number for the
93    **    file build.number and stores it in the XML property
94    **    version.*
95    **********************************************************
96    -->
97    <target name="revision">
98
99        <!-- extract the SVN revision information for file build.number -->
100        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
101            <env key="LANG" value="C"/>
102            <arg value="info"/>
103            <arg value="--xml"/>
104            <arg value="."/>
105        </exec>
106        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
107        <delete file="REVISION"/>
108    </target>
109
110    <!--
111    **********************************************************
112    ** clean - clean up the build environment
113    **********************************************************
114    -->
115    <target name="clean">
116        <delete dir="${plugin.build.dir}"/>
117        <delete file="${plugin.jar}"/>
118    </target>
119
120    <!--
121    **********************************************************
122    ** install - install the plugin in your local JOSM installation
123    **********************************************************
124    -->
125    <target name="install" depends="dist">
126        <property environment="env"/>
127        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
128            <and>
129                <os family="windows"/>
130            </and>
131        </condition>
132        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
133    </target>
134</project>
Note: See TracBrowser for help on using the repository browser.