Changeset 22568 in osm
- Timestamp:
- 2010-08-04T15:53:02+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/00_plugin_dir_template/build.xml
r21729 r22568 30 30 <project name="myPluginName" default="dist" basedir="."> 31 31 32 <!-- enter the SVN commit message -->33 <property name="commit.message" value="Commit message" />34 <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->35 <property name="plugin.main.version" value="" />36 37 38 <!--32 <!-- enter the SVN commit message --> 33 <property name="commit.message" value="Commit message" /> 34 <!-- enter the *lowest* JOSM version this plugin is currently compatible with --> 35 <property name="plugin.main.version" value="" /> 36 37 38 <!-- 39 39 ************************************************ 40 40 ** should not be necessary to change the following properties 41 41 --> 42 <property name="josm" location="../../core/dist/josm-custom.jar"/>43 <property name="plugin.build.dir" value="build"/>44 <property name="plugin.src.dir" value="src"/>45 <!-- this is the directory where the plugin jar is copied to -->46 <property name="plugin.dist.dir" value="../../dist"/>47 <property name="ant.build.javac.target" value="1.5"/>48 <property name="plugin.dist.dir" value="../../dist"/>49 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>50 51 <!--42 <property name="josm" location="../../core/dist/josm-custom.jar"/> 43 <property name="plugin.build.dir" value="build"/> 44 <property name="plugin.src.dir" value="src"/> 45 <!-- this is the directory where the plugin jar is copied to --> 46 <property name="plugin.dist.dir" value="../../dist"/> 47 <property name="ant.build.javac.target" value="1.5"/> 48 <property name="plugin.dist.dir" value="../../dist"/> 49 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/> 50 51 <!-- 52 52 ********************************************************** 53 53 ** init - initializes the build 54 54 ********************************************************** 55 55 --> 56 <target name="init">57 <mkdir dir="${plugin.build.dir}"/>58 </target>59 60 <!--56 <target name="init"> 57 <mkdir dir="${plugin.build.dir}"/> 58 </target> 59 60 <!-- 61 61 ********************************************************** 62 62 ** compile - complies the source tree 63 63 ********************************************************** 64 64 --> 65 <target name="compile" depends="init">66 <echo message="compiling sources for ${plugin.jar} ... "/>67 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">68 <compilerarg value="-Xlint:deprecation"/>69 <compilerarg value="-Xlint:unchecked"/>70 </javac>71 </target>72 73 <!--65 <target name="compile" depends="init"> 66 <echo message="compiling sources for ${plugin.jar} ... "/> 67 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}"> 68 <compilerarg value="-Xlint:deprecation"/> 69 <compilerarg value="-Xlint:unchecked"/> 70 </javac> 71 </target> 72 73 <!-- 74 74 ********************************************************** 75 75 ** dist - creates the plugin jar 76 76 ********************************************************** 77 77 --> 78 <target name="dist" depends="compile,revision">79 <echo message="creating ${ant.project.name}.jar ... "/>80 <copy todir="${plugin.build.dir}/resources">81 <fileset dir="resources"/>82 </copy>83 <copy todir="${plugin.build.dir}/images">84 <fileset dir="images"/>85 </copy>86 <copy todir="${plugin.build.dir}">87 <fileset dir=".">88 <include name="README" />89 <include name="LICENSE" />90 </fileset>91 </copy>92 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">93 <!--78 <target name="dist" depends="compile,revision"> 79 <echo message="creating ${ant.project.name}.jar ... "/> 80 <copy todir="${plugin.build.dir}/resources"> 81 <fileset dir="resources"/> 82 </copy> 83 <copy todir="${plugin.build.dir}/images"> 84 <fileset dir="images"/> 85 </copy> 86 <copy todir="${plugin.build.dir}"> 87 <fileset dir="."> 88 <include name="README" /> 89 <include name="LICENSE" /> 90 </fileset> 91 </copy> 92 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}"> 93 <!-- 94 94 ************************************************ 95 95 ** configure these properties. Most of them will be copied to the plugins … … 99 99 ************************************************ 100 100 --> 101 <manifest>102 <attribute name="Author" value="..."/>103 <attribute name="Plugin-Class" value="..."/>104 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>105 <attribute name="Plugin-Description" value="..."/>106 <attribute name="Plugin-Icon" value="..."/>107 <attribute name="Plugin-Link" value="..."/>108 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>109 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>110 </manifest>111 </jar>112 </target>113 114 <!--101 <manifest> 102 <attribute name="Author" value="..."/> 103 <attribute name="Plugin-Class" value="..."/> 104 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/> 105 <attribute name="Plugin-Description" value="..."/> 106 <attribute name="Plugin-Icon" value="..."/> 107 <attribute name="Plugin-Link" value="..."/> 108 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/> 109 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/> 110 </manifest> 111 </jar> 112 </target> 113 114 <!-- 115 115 ********************************************************** 116 116 ** revision - extracts the current revision number for the … … 119 119 ********************************************************** 120 120 --> 121 <target name="revision">122 123 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">124 <env key="LANG" value="C"/>125 <arg value="info"/>126 <arg value="--xml"/>127 <arg value="."/>128 </exec>129 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>130 <delete file="REVISION"/>131 </target>132 133 <!--121 <target name="revision"> 122 123 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false"> 124 <env key="LANG" value="C"/> 125 <arg value="info"/> 126 <arg value="--xml"/> 127 <arg value="."/> 128 </exec> 129 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/> 130 <delete file="REVISION"/> 131 </target> 132 133 <!-- 134 134 ********************************************************** 135 135 ** clean - clean up the build environment 136 136 ********************************************************** 137 137 --> 138 <target name="clean">139 <delete dir="${plugin.build.dir}"/>140 <delete file="${plugin.jar}"/>141 </target>142 143 <!--138 <target name="clean"> 139 <delete dir="${plugin.build.dir}"/> 140 <delete file="${plugin.jar}"/> 141 </target> 142 143 <!-- 144 144 ********************************************************** 145 145 ** install - install the plugin in your local JOSM installation 146 146 ********************************************************** 147 147 --> 148 <target name="install" depends="dist">149 <property environment="env"/>150 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">151 <and>152 <os family="windows"/>153 </and>154 </condition>155 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>156 </target>157 158 159 <!--160 ************************** Publishing the plugin ***********************************161 -->162 <!--163 ** extracts the JOSM release for the JOSM version in ../core and saves it in the164 ** property ${coreversion.info.entry.revision}165 **166 -->167 <target name="core-info">168 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">169 <env key="LANG" value="C"/>170 <arg value="info"/>171 <arg value="--xml"/>172 <arg value="../../core"/>173 </exec>174 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>175 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>176 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>177 <delete file="core.info.xml" />178 </target>179 180 <!--181 ** commits the source tree for this plugin182 -->183 <target name="commit-current">184 <echo>Commiting the plugin source with message '${commit.message}' ...</echo>185 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">186 <env key="LANG" value="C"/>187 <arg value="commit"/>188 <arg value="-m '${commit.message}'"/>189 <arg value="."/>190 </exec>191 </target>192 193 <!--194 ** updates (svn up) the source tree for this plugin195 -->196 <target name="update-current">197 <echo>Updating plugin source ...</echo>198 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">199 <env key="LANG" value="C"/>200 <arg value="up"/>201 <arg value="."/>202 </exec>203 <echo>Updating ${plugin.jar} ...</echo>204 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">205 <env key="LANG" value="C"/>206 <arg value="up"/>207 <arg value="../dist/${plugin.jar}"/>208 </exec>209 </target>210 211 <!--212 ** commits the plugin.jar213 -->214 <target name="commit-dist">215 <echo>216 ***** Properties of published ${plugin.jar} *****217 Commit message : '${commit.message}'218 Plugin-Mainversion: ${plugin.main.version}219 JOSM build version: ${coreversion.info.entry.revision}220 Plugin-Version : ${version.entry.commit.revision}221 ***** / Properties of published ${plugin.jar} *****222 223 Now commiting ${plugin.jar} ...224 </echo>225 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">226 <env key="LANG" value="C"/>227 <arg value="-m '${commit.message}'"/>228 <arg value="commit"/>229 <arg value="${plugin.jar}"/>230 </exec>231 </target>232 233 <!-- ** make sure svn is present as a command line tool ** -->234 <target name="ensure-svn-present">235 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">236 <env key="LANG" value="C" />237 <arg value="--version" />238 </exec>239 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">240 <!-- return code not set at all? Most likely svn isn't installed -->241 <condition>242 <not>243 <isset property="svn.exit.code" />244 </not>245 </condition>246 </fail>247 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">248 <!-- error code from SVN? Most likely svn is not what we are looking on this system -->249 <condition>250 <isfailure code="${svn.exit.code}" />251 </condition>252 </fail>253 </target>254 255 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">256 </target>148 <target name="install" depends="dist"> 149 <property environment="env"/> 150 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins"> 151 <and> 152 <os family="windows"/> 153 </and> 154 </condition> 155 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/> 156 </target> 157 158 159 <!-- 160 ************************** Publishing the plugin *********************************** 161 --> 162 <!-- 163 ** extracts the JOSM release for the JOSM version in ../core and saves it in the 164 ** property ${coreversion.info.entry.revision} 165 ** 166 --> 167 <target name="core-info"> 168 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false"> 169 <env key="LANG" value="C"/> 170 <arg value="info"/> 171 <arg value="--xml"/> 172 <arg value="../../core"/> 173 </exec> 174 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/> 175 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo> 176 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo> 177 <delete file="core.info.xml" /> 178 </target> 179 180 <!-- 181 ** commits the source tree for this plugin 182 --> 183 <target name="commit-current"> 184 <echo>Commiting the plugin source with message '${commit.message}' ...</echo> 185 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 186 <env key="LANG" value="C"/> 187 <arg value="commit"/> 188 <arg value="-m '${commit.message}'"/> 189 <arg value="."/> 190 </exec> 191 </target> 192 193 <!-- 194 ** updates (svn up) the source tree for this plugin 195 --> 196 <target name="update-current"> 197 <echo>Updating plugin source ...</echo> 198 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 199 <env key="LANG" value="C"/> 200 <arg value="up"/> 201 <arg value="."/> 202 </exec> 203 <echo>Updating ${plugin.jar} ...</echo> 204 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 205 <env key="LANG" value="C"/> 206 <arg value="up"/> 207 <arg value="../dist/${plugin.jar}"/> 208 </exec> 209 </target> 210 211 <!-- 212 ** commits the plugin.jar 213 --> 214 <target name="commit-dist"> 215 <echo> 216 ***** Properties of published ${plugin.jar} ***** 217 Commit message : '${commit.message}' 218 Plugin-Mainversion: ${plugin.main.version} 219 JOSM build version: ${coreversion.info.entry.revision} 220 Plugin-Version : ${version.entry.commit.revision} 221 ***** / Properties of published ${plugin.jar} ***** 222 223 Now commiting ${plugin.jar} ... 224 </echo> 225 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 226 <env key="LANG" value="C"/> 227 <arg value="-m '${commit.message}'"/> 228 <arg value="commit"/> 229 <arg value="${plugin.jar}"/> 230 </exec> 231 </target> 232 233 <!-- ** make sure svn is present as a command line tool ** --> 234 <target name="ensure-svn-present"> 235 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code"> 236 <env key="LANG" value="C" /> 237 <arg value="--version" /> 238 </exec> 239 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system."> 240 <!-- return code not set at all? Most likely svn isn't installed --> 241 <condition> 242 <not> 243 <isset property="svn.exit.code" /> 244 </not> 245 </condition> 246 </fail> 247 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system."> 248 <!-- error code from SVN? Most likely svn is not what we are looking on this system --> 249 <condition> 250 <isfailure code="${svn.exit.code}" /> 251 </condition> 252 </fail> 253 </target> 254 255 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist"> 256 </target> 257 257 </project>
Note:
See TracChangeset
for help on using the changeset viewer.
