Changeset 29435 in osm for applications/editors/josm/plugins/wayselector
- Timestamp:
- 2013-03-30T01:26:46+01:00 (12 years ago)
- Location:
- applications/editors/josm/plugins/wayselector
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/wayselector/build.xml
-
Property svn:mime-type
set to
text/xml
r27852 r29435 5 5 ** Maintaining versions 6 6 ** ==================== 7 ** see README.template7 ** See README.template 8 8 ** 9 9 ** Usage 10 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 ** 11 ** Call "ant help" to get possible build targets. 28 12 ** 29 13 --> 30 14 <project name="wayselector" default="dist" basedir="."> 15 31 16 <!-- enter the SVN commit message --> 32 17 <property name="commit.message" value="recompile due to core change"/> 33 18 <!-- enter the *lowest* JOSM version this plugin is currently compatible with --> 34 19 <property name="plugin.main.version" value="4980"/> 35 <!--36 ************************************************37 ** should not be necessary to change the following properties38 -->39 <property name="josm" location="../../core/dist/josm-custom.jar"/>40 <property name="plugin.build.dir" value="build"/>41 <property name="plugin.src.dir" value="src"/>42 <!-- this is the directory where the plugin jar is copied to -->43 <property name="plugin.dist.dir" value="../../dist"/>44 <property name="ant.build.javac.target" value="1.5"/>45 <property name="plugin.dist.dir" value="../../dist"/>46 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>47 <!--48 **********************************************************49 ** init - initializes the build50 **********************************************************51 -->52 <target name="init">53 <mkdir dir="${plugin.build.dir}"/>54 </target>55 <!--56 **********************************************************57 ** compile - compiles the source tree58 **********************************************************59 -->60 <target name="compile" depends="init">61 <echo message="compiling sources for ${plugin.jar} ... "/>62 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}" includeantruntime="false">63 <compilerarg value="-Xlint:deprecation"/>64 <compilerarg value="-Xlint:unchecked"/>65 </javac>66 </target>67 <!--68 **********************************************************69 ** dist - creates the plugin jar70 **********************************************************71 -->72 <target name="dist" depends="compile,revision">73 <echo message="creating ${ant.project.name}.jar ... "/>74 <copy todir="${plugin.build.dir}/resources">75 <fileset dir="resources"/>76 </copy>77 <copy todir="${plugin.build.dir}/images">78 <fileset dir="images"/>79 </copy>80 <copy todir="${plugin.build.dir}/data">81 <fileset dir="data"/>82 </copy>83 <copy todir="${plugin.build.dir}">84 <fileset dir=".">85 <include name="README"/>86 <include name="LICENSE"/>87 </fileset>88 </copy>89 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">90 <!--91 ************************************************92 ** configure these properties. Most of them will be copied to the plugins93 ** manifest file. Property values will also show up in the list available94 ** plugins: http://josm.openstreetmap.de/wiki/Plugins.95 **96 ************************************************97 -->98 <manifest>99 <attribute name="Author" value="Marko Mäkelä"/>100 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.wayselector.WaySelectorPlugin"/>101 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>102 <attribute name="Plugin-Description" value="Select a sequence of non-branching connected ways"/>103 <attribute name="Plugin-Icon" value="images/way-select.png"/>104 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/WaySelectorPlugin"/>105 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>106 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>107 </manifest>108 </jar>109 </target>110 <!--111 **********************************************************112 ** revision - extracts the current revision number for the113 ** file build.number and stores it in the XML property114 ** version.*115 **********************************************************116 -->117 <target name="revision">118 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">119 <env key="LANG" value="C"/>120 <arg value="info"/>121 <arg value="--xml"/>122 <arg value="."/>123 </exec>124 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>125 <delete file="REVISION"/>126 </target>127 <!--128 **********************************************************129 ** clean - clean up the build environment130 **********************************************************131 -->132 <target name="clean">133 <delete dir="${plugin.build.dir}"/>134 <delete file="${plugin.jar}"/>135 </target>136 <!--137 **********************************************************138 ** install - install the plugin in your local JOSM installation139 **********************************************************140 -->141 <target name="install" depends="dist">142 <property environment="env"/>143 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">144 <and>145 <os family="windows"/>146 </and>147 </condition>148 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>149 </target>150 <!--151 ************************** Publishing the plugin ***********************************152 -->153 <!--154 ** extracts the JOSM release for the JOSM version in ../core and saves it in the155 ** property ${coreversion.info.entry.revision}156 **157 -->158 <target name="core-info">159 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">160 <env key="LANG" value="C"/>161 <arg value="info"/>162 <arg value="--xml"/>163 <arg value="../../core"/>164 </exec>165 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>166 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>167 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>168 <delete file="core.info.xml"/>169 </target>170 <!--171 ** commits the source tree for this plugin172 -->173 <target name="commit-current">174 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>175 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">176 <env key="LANG" value="C"/>177 <arg value="commit"/>178 <arg value="-m '${commit.message}'"/>179 <arg value="."/>180 </exec>181 </target>182 <!--183 ** updates (svn up) the source tree for this plugin184 -->185 <target name="update-current">186 <echo>Updating plugin source ...</echo>187 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">188 <env key="LANG" value="C"/>189 <arg value="up"/>190 <arg value="."/>191 </exec>192 <echo>Updating ${plugin.jar} ...</echo>193 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">194 <env key="LANG" value="C"/>195 <arg value="up"/>196 <arg value="../dist/${plugin.jar}"/>197 </exec>198 </target>199 <!--200 ** commits the plugin.jar201 -->202 <target name="commit-dist">203 <echo>204 ***** Properties of published ${plugin.jar} *****205 Commit message : '${commit.message}'206 Plugin-Mainversion: ${plugin.main.version}207 JOSM build version: ${coreversion.info.entry.revision}208 Plugin-Version : ${version.entry.commit.revision}209 ***** / Properties of published ${plugin.jar} *****210 20 211 Now commiting ${plugin.jar} ... 212 </echo> 213 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="true" failonerror="true"> 214 <env key="LANG" value="C"/> 215 <arg value="-m '${commit.message}'"/> 216 <arg value="commit"/> 217 <arg value="${plugin.jar}"/> 218 </exec> 219 </target> 220 <!-- ** make sure svn is present as a command line tool ** --> 221 <target name="ensure-svn-present"> 222 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code"> 223 <env key="LANG" value="C"/> 224 <arg value="--version"/> 225 </exec> 226 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system."> 227 <!-- return code not set at all? Most likely svn isn't installed --> 228 <condition> 229 <not> 230 <isset property="svn.exit.code"/> 231 </not> 232 </condition> 233 </fail> 234 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system."> 235 <!-- error code from SVN? Most likely svn is not what we are looking on this system --> 236 <condition> 237 <isfailure code="${svn.exit.code}"/> 238 </condition> 239 </fail> 240 </target> 241 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist"> 242 </target> 21 <property name="plugin.author" value="Marko Mäkelä"/> 22 <property name="plugin.class" value="org.openstreetmap.josm.plugins.wayselector.WaySelectorPlugin"/> 23 <property name="plugin.description" value="Select a sequence of non-branching connected ways"/> 24 <property name="plugin.icon" value="images/way-select.png"/> 25 <property name="plugin.link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/WaySelectorPlugin"/> 26 27 <!-- ** include targets that all plugins have in common ** --> 28 <import file="../build-common.xml"/> 29 243 30 </project> -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.