source: subversion/applications/editors/josm/plugins/tageditor/build.xml @ 14520

Last change on this file since 14520 was 14520, checked in by guggis, 10 years ago

fixed problem with dirty state. Now sets the dialog into dirty state when either the name or the value of a tag is changed.

File size: 7.0 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="tageditor" 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="Karl Guggisberg"/>
37        <property name="plugin.class"           value="org.openstreetmap.josm.plugins.tageditor.TagEditorPlugin"/>
38        <property name="plugin.description"     value="Provides a dialog for editing tags in a tabular grid."/>
39        <property name="plugin.doc.url"         value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/TagEditor"/>
40        <property name="plugin.main.version"    value="1515"/> 
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}">
101            <fileset dir=".">
102                <include name="README" />
103                <include name="LICENSE" />
104            </fileset>
105        </copy>
106        <copy todir="${plugin.build.dir}">
107                <fileset dir="${plugin.src.dir}">
108                        <include name="**/*.dtd"/>
109                </fileset>                             
110        </copy>
111        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
112            <manifest>
113                <attribute name="Author" value="${plugin.author}"/>
114                <attribute name="Plugin-Class" value="${plugin.class}"/>
115                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
116                <attribute name="Plugin-Description" value="${plugin.description}"/>
117                <attribute name="Plugin-Link" value="${plugin.doc.url}"/>
118                <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
119                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/> 
120            </manifest>
121        </jar>
122    </target>
123       
124        <!--
125        **********************************************************
126        ** revision - extracts the current revision number for the
127        **    file build.number and stores it in the XML property
128        **    version.*
129        **********************************************************
130        -->     
131    <target name="revision">
132       
133        <!-- extract the SVN revision information for file build.number -->
134        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
135            <env key="LANG" value="C"/>
136            <arg value="info"/>
137            <arg value="--xml"/>
138            <arg value="build.number"/>
139        </exec>
140        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
141        <delete file="REVISION"/>
142    </target>
143       
144        <!--
145        **********************************************************
146        ** clean - clean up the build environment
147        **********************************************************
148        -->             
149    <target name="clean">
150        <delete dir="${plugin.build.dir}"/>
151        <delete file="${plugin.jar}"/>
152    </target>
153   
154        <!--
155        **********************************************************
156        ** install - install the plugin in your local JOSM installation
157        **********************************************************
158        -->                     
159        <target name="install" depends="dist">
160        <property environment="env"/>
161        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
162            <and>
163                <os family="windows"/>
164            </and>
165        </condition>
166        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
167    </target>
168       
169        <!--
170        **********************************************************
171        ** publish - publish the plugin jar
172        **********************************************************
173        -->                     
174        <target name="publish">
175        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
176            <env key="LANG" value="C"/>
177            <arg value="commit"/>
178                <arg value="--message"/>
179            <arg value="manual build"/>
180            <arg value="${plugin.jar}"/>
181                </exec>
182        </target>
183       
184</project>
Note: See TracBrowser for help on using the repository browser.