Ticket #8222: plugin_build_v2.patch
File plugin_build_v2.patch, 8.0 KB (added by , 11 years ago) |
---|
-
00_plugin_dir_template/build.xml
35 35 <property name="plugin.main.version" value="4394"/> 36 36 37 37 <!-- 38 ********************************************************** 39 ** include targets that all plugins have in common 40 ********************************************************** 38 ************************************************ 39 ** configure these properties. Most of them will be copied to the plugins 40 ** manifest file. Property values will also show up in the list available 41 ** plugins: http://josm.openstreetmap.de/wiki/Plugins. 42 ** 43 ************************************************ 41 44 --> 45 <property name="plugin.author" value="..."/> 46 <property name="plugin.class" value="..."/> 47 <property name="plugin.description" value="..."/> 48 <property name="plugin.icon" value="..."/> 49 <property name="plugin.link" value="..."/> 50 <property name="plugin.early" value="..."/> 51 <property name="plugin.requires" value="..."/> 52 <property name="plugin.stage" value="..."/> 53 54 <!-- ** include targets that all plugins have in common ** --> 42 55 <import file="../build-common.xml"/> 43 56 44 <!--45 **********************************************************46 ** dist - creates the plugin jar47 **********************************************************48 -->49 <target name="dist" depends="compile,revision">50 <echo message="creating ${ant.project.name}.jar ... "/>51 <copy todir="${plugin.build.dir}/resources">52 <fileset dir="resources"/>53 </copy>54 <copy todir="${plugin.build.dir}/images">55 <fileset dir="images"/>56 </copy>57 <copy todir="${plugin.build.dir}/data">58 <fileset dir="data"/>59 </copy>60 <copy todir="${plugin.build.dir}">61 <fileset dir=".">62 <include name="README"/>63 <include name="LICENSE"/>64 </fileset>65 </copy>66 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">67 <!--68 ************************************************69 ** configure these properties. Most of them will be copied to the plugins70 ** manifest file. Property values will also show up in the list available71 ** plugins: http://josm.openstreetmap.de/wiki/Plugins.72 **73 ************************************************74 -->75 <manifest>76 <attribute name="Author" value="..."/>77 <attribute name="Plugin-Class" value="..."/>78 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>79 <attribute name="Plugin-Description" value="..."/>80 <attribute name="Plugin-Icon" value="..."/>81 <attribute name="Plugin-Link" value="..."/>82 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>83 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>84 </manifest>85 </jar>86 </target>87 57 </project> -
build-common.xml
37 37 --> 38 38 <target name="compile" depends="init"> 39 39 <echo message="compiling sources for ${plugin.jar} ..."/> 40 <javac srcdir="src" classpath="${josm}"debug="true" destdir="${plugin.build.dir}" includeantruntime="false">40 <javac srcdir="src" debug="true" destdir="${plugin.build.dir}" includeantruntime="false"> 41 41 <compilerarg value="-Xlint:deprecation"/> 42 42 <compilerarg value="-Xlint:unchecked"/> 43 <classpath> 44 <pathelement location="${josm}"/> 45 <fileset dir="${plugin.lib.dir}"> 46 <include name="**/*.jar"/> 47 </fileset> 48 </classpath> 43 49 </javac> 44 50 </target> 45 51 <!-- 46 52 ********************************************************** 53 ** dist - creates the plugin jar 54 ********************************************************** 55 --> 56 <target name="dist" depends="compile,revision"> 57 <echo message="creating ${ant.project.name}.jar ... "/> 58 <copy todir="${plugin.build.dir}/resources"> 59 <fileset dir="resources"/> 60 </copy> 61 <copy todir="${plugin.build.dir}/images"> 62 <fileset dir="images"/> 63 </copy> 64 <copy todir="${plugin.build.dir}/data"> 65 <fileset dir="data"/> 66 </copy> 67 <copy todir="${plugin.build.dir}"> 68 <fileset dir="."> 69 <include name="README"/> 70 <include name="LICENSE"/> 71 </fileset> 72 </copy> 73 <delete file="MANIFEST" failonerror="no"/> 74 <manifest file="MANIFEST" mode="update"> 75 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/> 76 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/> 77 <attribute name="Plugin-Class" value="${plugin.class}" /> 78 <attribute name="Plugin-Description" value="${plugin.description}" /> 79 <attribute name="Plugin-Date" value="${version.entry.commit.date}" /> 80 <attribute name="Author" value="${plugin.author}"/> 81 </manifest> 82 <antcall target="add-manifest-attribute"> 83 <param name="manifest.attribute" value="Plugin-Link"/> 84 <param name="propery.name" value="plugin.link"/> 85 <param name="propery.value" value="${plugin.link}"/> 86 </antcall> 87 <antcall target="add-manifest-attribute"> 88 <param name="manifest.attribute" value="Plugin-Icon"/> 89 <param name="propery.name" value="plugin.icon"/> 90 <param name="propery.value" value="${plugin.icon}"/> 91 </antcall> 92 <antcall target="add-manifest-attribute"> 93 <param name="manifest.attribute" value="Plugin-Early"/> 94 <param name="propery.name" value="plugin.early"/> 95 <param name="propery.value" value="${plugin.early}"/> 96 </antcall> 97 <antcall target="add-manifest-attribute"> 98 <param name="manifest.attribute" value="Plugin-Requires"/> 99 <param name="propery.name" value="plugin.requires"/> 100 <param name="propery.value" value="${plugin.requires}"/> 101 </antcall> 102 <antcall target="add-manifest-attribute"> 103 <param name="manifest.attribute" value="Plugin-Stage"/> 104 <param name="propery.name" value="plugin.stage"/> 105 <param name="propery.value" value="${plugin.stage}"/> 106 </antcall> 107 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}" manifest="MANIFEST"> 108 <zipgroupfileset dir="${plugin.lib.dir}" includes="*.jar"/> 109 </jar> 110 <!--<delete file="MANIFEST" failonerror="no"/>--> 111 </target> 112 <target name="add-manifest-attribute" depends="check-manifest-attribute" if="have-${propery.name}"> 113 <manifest file="MANIFEST" mode="update"> 114 <attribute name="${manifest.attribute}" value="${propery.value}" /> 115 </manifest> 116 </target> 117 <target name="check-manifest-attribute"> 118 <condition property="have-${propery.name}"> 119 <and> 120 <isset property="${propery.name}"/> 121 <not> 122 <equals arg1="${propery.value}" arg2=""/> 123 </not> 124 <not> 125 <equals arg1="${propery.value}" arg2="..."/> 126 </not> 127 </and> 128 </condition> 129 </target> 130 <!-- 131 ********************************************************** 47 132 ** revision - extracts the current revision number for the 48 133 ** file build.number and stores it in the XML property 49 134 ** version.*