Index: /applications/editors/josm/plugins/trustosm/.classpath
===================================================================
--- /applications/editors/josm/plugins/trustosm/.classpath	(revision 30749)
+++ /applications/editors/josm/plugins/trustosm/.classpath	(revision 30750)
@@ -13,6 +13,4 @@
 	</classpathentry>
 	<classpathentry kind="lib" path="lib/jcalendar-1.4.jar"/>
-	<classpathentry kind="lib" path="lib/jgoodies-common-1.2.0.jar"/>
-	<classpathentry kind="lib" path="lib/jgoodies-looks-2.4.1.jar"/>
 	<classpathentry kind="lib" path="lib/swingx-core-1.6.5-1.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
Index: /applications/editors/josm/plugins/trustosm/build.xml
===================================================================
--- /applications/editors/josm/plugins/trustosm/build.xml	(revision 30749)
+++ /applications/editors/josm/plugins/trustosm/build.xml	(revision 30750)
@@ -1,47 +1,29 @@
 <?xml version="1.0" encoding="utf-8"?>
 <project name="trustosm" default="dist" basedir=".">
+
     <!-- enter the SVN commit message -->
     <property name="commit.message" value="New plugin for digital signing osm data"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="7001"/>
-    <!--
-      ************************************************
-      ** should not be necessary to change the following properties
-     -->
-    <property name="josm" location="../../core/dist/josm-custom.jar"/>
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.src.dir" value="src"/>
-    <property name="plugin.lib.dir" value="lib"/>
-    <!-- this is the directory where the plugin jar is copied to -->
-    <property name="plugin.dist.dir" value="../../dist"/>
-    <property name="ant.build.javac.target" value="1.7"/>
-    <property name="plugin.dist.dir" value="../../dist"/>
-    <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
-    <!--
-    **********************************************************
-    ** init - initializes the build
-    **********************************************************
+    <property name="plugin.main.version" value="7001" />
+
+    <!-- Configure these properties (replace "..." accordingly).
+         See http://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins
     -->
-    <target name="init">
-        <mkdir dir="${plugin.build.dir}"/>
-    </target>
-    <!--
-    **********************************************************
-    ** compile - complies the source tree
-    **********************************************************
-    -->
-    <target name="compile" depends="init">
-        <echo message="compiling sources for  ${plugin.jar} ... "/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}" includeantruntime="false" encoding="UTF-8">
-            <compilerarg value="-Xlint:deprecation"/>
-            <compilerarg value="-Xlint:unchecked"/>
-            <classpath>
-                <pathelement location="${josm}"/>
-                <fileset dir="${plugin.lib.dir}">
-                    <include name="**/*.jar"/>
-                </fileset>
-            </classpath>
-        </javac>
-    </target>
+    <property name="plugin.author" value="Christoph Wagner" />
+    <property name="plugin.class" value="org.openstreetmap.josm.plugins.trustosm.TrustOSMplugin" />
+    <property name="plugin.description" value="Plugin to digital sign OSM-Data" />
+    <property name="plugin.icon" value="images/trustosm.png" />
+    <property name="plugin.link" value=""/>
+    <property name="plugin.requires" value="plastic_laf"/>
+
+    <property name="josm" location="../../core/dist/josm-custom.jar" />
+    <property name="plugin.dist.dir" value="../../dist" />
+
+    <!-- ** include targets that all plugins have in common ** -->
+    <import file="../build-common.xml" />
+
+    <fileset id="plugin.requires.jars" dir="${plugin.dist.dir}">
+        <include name="plastic_laf.jar"/>
+    </fileset>
     <!-- create a property containing all .jar files, prefix lib/, and seperated with a space -->
     <pathconvert property="libs.project" pathsep=" ">
@@ -61,4 +43,21 @@
         </path>
     </pathconvert>
+    <!-- additional entry in manifest -->
+    <target name="additional-manifest">
+        <manifest file="MANIFEST" mode="update">
+            <attribute name="Class-Path" value="${libs.project}"/>
+        </manifest>
+    </target>
+    <!--
+    **********************************************************
+    ** setup-dist - copies files for distribution
+    **********************************************************
+    -->
+    <target name="setup-dist">
+        <antcall target="setup-dist-default" />
+        <copy todir="${plugin.build.dir}/lib">
+            <fileset dir="${plugin.lib.dir}"/>
+        </copy>
+    </target>
     <!--
     **********************************************************
@@ -68,176 +67,43 @@
     <target name="dist" depends="compile,revision">
         <echo message="creating ${ant.project.name}.jar ... "/>
-        <copy todir="${plugin.build.dir}/lib">
-            <fileset dir="${plugin.lib.dir}"/>
-        </copy>
-        <copy todir="${plugin.build.dir}/resources">
-            <fileset dir="resources"/>
-        </copy>
-        <copy todir="${plugin.build.dir}/images">
-            <fileset dir="images"/>
-        </copy>
-        <copy todir="${plugin.build.dir}/data">
-            <fileset dir="data"/>
-        </copy>
-        <copy todir="${plugin.build.dir}">
-            <fileset dir=".">
-                <include name="README"/>
-                <include name="LICENSE"/>
-            </fileset>
-        </copy>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <!--
-        ************************************************
-        ** configure these properties. Most of them will be copied to the plugins
-        ** manifest file. Property values will also show up in the list available
-        ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
-        **
-        ************************************************
-    -->
-            <manifest>
-                <attribute name="Author" value="Christoph Wagner"/>
-                <attribute name="Class-Path" value="${libs.project}"/>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.trustosm.TrustOSMplugin"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Description" value="Plugin to digital sign OSM-Data"/>
-                <attribute name="Plugin-Icon" value="images/trustosm.png"/>
-                <!--<attribute name="Plugin-Link" value="..."/>-->
-                <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-            </manifest>
-        </jar>
-    </target>
-    <!--
-    **********************************************************
-    ** revision - extracts the current revision number for the
-    **    file build.number and stores it in the XML property
-    **    version.*
-    **********************************************************
-    -->
-    <target name="revision">
-        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
-            <env key="LANG" value="C"/>
-            <arg value="info"/>
-            <arg value="--xml"/>
-            <arg value="."/>
-        </exec>
-        <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
-        <delete file="REVISION"/>
-    </target>
-    <!--
-    **********************************************************
-    ** clean - clean up the build environment
-    **********************************************************
-    -->
-    <target name="clean">
-        <delete dir="${plugin.build.dir}"/>
-        <delete file="${plugin.jar}"/>
-    </target>
-    <!--
-    **********************************************************
-    ** install - install the plugin in your local JOSM installation
-    **********************************************************
-    -->
-    <target name="install" depends="dist">
-        <property environment="env"/>
-        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
-            <and>
-                <os family="windows"/>
-            </and>
-        </condition>
-        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
-    </target>
-    <!--
-    ************************** Publishing the plugin *********************************** 
-    -->
-    <!--
-        ** extracts the JOSM release for the JOSM version in ../core and saves it in the 
-        ** property ${coreversion.info.entry.revision}
-        **
-        -->
-    <target name="core-info">
-        <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
-            <env key="LANG" value="C"/>
-            <arg value="info"/>
-            <arg value="--xml"/>
-            <arg value="../../core"/>
-        </exec>
-        <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
-        <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
-        <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
-        <delete file="core.info.xml"/>
-    </target>
-    <!--
-        ** commits the source tree for this plugin
-        -->
-    <target name="commit-current">
-        <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
-        <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
-            <env key="LANG" value="C"/>
-            <arg value="commit"/>
-            <arg value="-m '${commit.message}'"/>
-            <arg value="."/>
-        </exec>
-    </target>
-    <!--
-        ** updates (svn up) the source tree for this plugin
-        -->
-    <target name="update-current">
-        <echo>Updating plugin source ...</echo>
-        <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
-            <env key="LANG" value="C"/>
-            <arg value="up"/>
-            <arg value="."/>
-        </exec>
-        <echo>Updating ${plugin.jar} ...</echo>
-        <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
-            <env key="LANG" value="C"/>
-            <arg value="up"/>
-            <arg value="../dist/${plugin.jar}"/>
-        </exec>
-    </target>
-    <!--
-        ** commits the plugin.jar 
-        -->
-    <target name="commit-dist">
-        <echo>
-    ***** Properties of published ${plugin.jar} *****
-    Commit message    : '${commit.message}'                    
-    Plugin-Mainversion: ${plugin.main.version}
-    JOSM build version: ${coreversion.info.entry.revision}
-    Plugin-Version    : ${version.entry.commit.revision}
-    ***** / Properties of published ${plugin.jar} *****                    
-                        
-    Now commiting ${plugin.jar} ...
-    </echo>
-        <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
-            <env key="LANG" value="C"/>
-            <arg value="-m '${commit.message}'"/>
-            <arg value="commit"/>
-            <arg value="${plugin.jar}"/>
-        </exec>
-    </target>
-    <!-- ** make sure svn is present as a command line tool ** -->
-    <target name="ensure-svn-present">
-        <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
-            <env key="LANG" value="C"/>
-            <arg value="--version"/>
-        </exec>
-        <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
-            <!-- return code not set at all? Most likely svn isn't installed -->
-            <condition>
-                <not>
-                    <isset property="svn.exit.code"/>
-                </not>
-            </condition>
-        </fail>
-        <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
-            <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
-            <condition>
-                <isfailure code="${svn.exit.code}"/>
-            </condition>
-        </fail>
-    </target>
-    <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
+        <antcall target="setup-dist" />
+        <delete file="MANIFEST" failonerror="no"/>
+        <manifest file="MANIFEST" mode="update">
+            <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
+            <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            <attribute name="Plugin-Class" value="${plugin.class}" />
+            <attribute name="Plugin-Description" value="${plugin.description}" />
+            <attribute name="Plugin-Date" value="${version.entry.commit.date}" />
+            <attribute name="Author" value="${plugin.author}"/>
+        </manifest>
+        <antcall target="add-manifest-attribute">
+            <param name="manifest.attribute" value="Plugin-Link"/>
+            <param name="property.name" value="plugin.link"/>
+            <param name="property.value" value="${plugin.link}"/>
+        </antcall>
+        <antcall target="add-manifest-attribute">
+            <param name="manifest.attribute" value="Plugin-Icon"/>
+            <param name="property.name" value="plugin.icon"/>
+            <param name="property.value" value="${plugin.icon}"/>
+        </antcall>
+        <antcall target="add-manifest-attribute">
+            <param name="manifest.attribute" value="Plugin-Early"/>
+            <param name="property.name" value="plugin.early"/>
+            <param name="property.value" value="${plugin.early}"/>
+        </antcall>
+        <antcall target="add-manifest-attribute">
+            <param name="manifest.attribute" value="Plugin-Requires"/>
+            <param name="property.name" value="plugin.requires"/>
+            <param name="property.value" value="${plugin.requires}"/>
+        </antcall>
+        <antcall target="add-manifest-attribute">
+            <param name="manifest.attribute" value="Plugin-Stage"/>
+            <param name="property.name" value="plugin.stage"/>
+            <param name="property.value" value="${plugin.stage}"/>
+        </antcall>
+        <antcall target="additional-manifest" />
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}" manifest="MANIFEST"/>
+        <delete file="MANIFEST" failonerror="no"/>
+        <antcall target="post-dist" />
     </target>
 </project>
