Index: /applications/editors/josm/plugins/DirectUpload/build.xml
===================================================================
--- /applications/editors/josm/plugins/DirectUpload/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/DirectUpload/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="DirectUpload" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,14 +10,26 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" destdir="${plugin.build.dir}" debug="true" encoding="UTF-8">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
         </javac>
     </target>
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
             <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Subhodip Biswas"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.DirectUpload.UploadDataGuiPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="This plugin directly upload GPS Traces from current active layer in JOSM to openstreetmap.org."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/User:Subhodip/GSoC_Doc#DirectUpload_Plugin_in_JOSM_:"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -28,18 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.DirectUpload.UploadDataGuiPlugin" />
-                <attribute name="Plugin-Description" value="Uploads GPS traces to openstreetmap.org" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Author" value="Subhodip Biswas &lt;subhodipbiswas@gmail.com&gt;" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: plications/editors/josm/plugins/DirectUpload/manifest.mf
===================================================================
--- /applications/editors/josm/plugins/DirectUpload/manifest.mf	(revision 14002)
+++ 	(revision )
@@ -1,3 +1,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
Index: /applications/editors/josm/plugins/agpifoj/build.xml
===================================================================
--- /applications/editors/josm/plugins/agpifoj/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/agpifoj/build.xml	(revision 14003)
@@ -1,31 +1,43 @@
-<project name="agpifoj" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"             location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
+<project name="AgPifoJ" default="dist" basedir=".">
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="dist" depends="compile">
-        <copy todir="build">
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}">
             <fileset dir=".">
                 <include name="CHANGELOG"/>
                 <include name="LICENSE"/>
-                <include name="README" />
+                <include name="README"/>
             </fileset>
         </copy>
-<!-- images -->
-        <copy todir="build/images">
-            <fileset dir="images" />
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Christian Gallioz"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.agpifoj.AgpifojPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Another geotag/> for JOSM. Correlates pictures with GPS tracks or import EXIF geotagged pictures."/>
+                <attribute name="Plugin-Early" value="false"/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/AgPifoJ"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -36,29 +48,16 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.agpifoj.AgpifojPlugin" />
-                <attribute name="Plugin-Description" value="An other geotag plugin for josm. Correlates pictures with GPS tracks, or import Exif geotagged pictures." />
-                <attribute name="Plugin-Early" value="false" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-            </manifest>
-        </jar>
-    </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" destdir="build">
-            <compilerarg value="-Xlint:deprecation"/>
-        </javac>
-    </target>
-    <target name="init">
-        <mkdir dir="${plugin.build.dir}" />
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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>
Index: /applications/editors/josm/plugins/cadastre-fr/build.xml
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/cadastre-fr/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="cadastre-fr" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,13 +10,27 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" destdir="${plugin.build.dir}" debug="true">
-            <include name="**/*.java" />
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
     </target>
-
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
             <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Pieren"/>
+                <attribute name="Plugin-Class" value="cadastre_fr.CadastrePlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="A special handler for the french land registry WMS server."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/FR:JOSM/Fr:Plugin/Cadastre"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Stage" value="60"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -26,20 +40,18 @@
         </exec>
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
-        <delete file="REVISION"/> 
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="cadastre_fr.CadastrePlugin"/>
-                <attribute name="Plugin-Description" value="A special handler for the french land registry WMS server"/>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Stage" value="60"/>
-                <attribute name="Plugin-Mainversion" value="1280" />
-                <attribute name="Author" value="Pieren &lt;pieren3@gmail.com>"/>
-            </manifest>
-        </jar>
+        <delete file="REVISION"/>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/colorscheme/build.xml
===================================================================
--- /applications/editors/josm/plugins/colorscheme/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/colorscheme/build.xml	(revision 14003)
@@ -1,28 +1,19 @@
 <project name="colorscheme" default="dist" basedir=".">
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.home.dir"    value="${user.home}/.josm"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-    <property name="plugin.description" value="Allows the user to create different color schemes and to switch between them. Just change the colors and create a new scheme. Used to switch to a white background with matching colors for better visibility in bright sunlight. See dialog in JOSM's preferences and 'Map Settings' (strange but true :-) (V${plugin.version})."/>
-    <property name="plugin.class" value="at.dallermassl.josm.plugin.colorscheme.ColorSchemePlugin"/>
-<!-- update site meta data -->
-    <property name="plugin.site.file" value="josm-site.xml"/>
-    <property name="plugin.site.description" value="Josm's ColorScheme Plugin Update Site"/>
-    <property name="plugin.site.url" value="http://www.tegmento.org/~cdaller/josm/colorscheme/"/>
-    <property name="plugin.site.upload.target" value="cdaller@www.tegmento.org:public_html/josm/colorscheme/"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="dist" depends="compile, site">
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-<!-- images -->
-<!--
-     <copy todir="${plugin.build.dir}/images">
-       <fileset dir="src/images" />
-     </copy>
-     -->
-<!-- copy configuration xml files -->
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}">
             <fileset dir="src">
@@ -30,4 +21,16 @@
             </fileset>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Christof Dallermassl"/>
+                <attribute name="Plugin-Class" value="at.dallermassl.josm.plugin.colorscheme.ColorSchemePlugin" />
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Allows the user to create different color schemes and to switch between them. Just change the colors and create a new scheme. Used to switch to a white background with matching colors for better visibility in bright sunlight. See dialog in JOSM's preferences and 'Map Settings' (strange but true :-)" />
+                <attribute name="Plugin-Mainversion" value="1180"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -38,83 +41,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-<!-- create jar file -->
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="${plugin.class}" />
-                <attribute name="Plugin-Description" value="${plugin.description}" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-            </manifest>
-        </jar>
     </target>
-    <target name="compile" depends="init">
-        <mkdir dir="${plugin.build.dir}"/>
-        <javac srcdir="src" destdir="${plugin.build.dir}" debug="true" source="1.5" target="1.5">
-            <classpath>
-                <pathelement path="${josm.build.dir}/build"/>
-                <fileset dir="${josm.build.dir}/lib">
-                    <include name="**/*.jar"/>
-                </fileset>
-            </classpath>
-        </javac>
+    <target name="clean">
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <target name="install" depends="dist">
-        <copy file="${plugin.jar}" todir="${josm.home.dir}/plugins" />
-    </target>
-    <target name="init">
-        <echo>java version: ${java.version}</echo>
-    </target>
-    <target name="clean">
-        <delete dir="${plugin.site.file}" />
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
-    </target>
-<!-- write site description for the given plugin so josm will accept it -->
-    <target name="site">
-        <echo message="creating site description in ${plugin.site.file}"/>
-        <echo file="${plugin.site.file}">&lt;!-- plugins available on this site -->
-  &lt;plugins>
-  &lt;plugin id="${ant.project.name}" version="${plugin.version}">
-  &lt;name>${ant.project.name}&lt;/name>
-  &lt;description>${plugin.description}&lt;/description>
-  &lt;resource>${plugin.site.url}${plugin.jar}&lt;/resource>
-  &lt;/plugin>
-  &lt;/plugins>
-</echo>
-    </target>
-<!-- write site description for the given plugin (not implemented in JOSM as full version yet!) -->
-    <target name="site-full-donotuse">
-        <echo message="creating site description in ${plugin.site.file}"/>
-        <echo file="${plugin.site.file}">&lt;?xml version="1.0"?>
-    &lt;site version="1.0">
-    &lt;!-- meta data of site -->
-&lt;site-info>
-&lt;site-name>${plugin.site.description}&lt;/site-name>
-&lt;site-url>${plugin.site.url}&lt;/site-url>
-&lt;/site-info>
-
-&lt;!-- plugins available on this site -->
-&lt;plugins>
-&lt;plugin id="${ant.project.name}" version="${plugin.version}">
-&lt;name>${ant.project.name}&lt;/name>
-&lt;description>${plugin.description}&lt;/description>
-&lt;resources>
-&lt;resource src="${plugin.site.url}${plugin.jar}"
-target="${josm.home.dir}/plugins/${plugin.jar}"/>
-&lt;/resources>
-&lt;/plugin>
-&lt;/plugins>
-&lt;/site>
-</echo>
-    </target>
-<!-- upload the site description and the jar file via ssh -->
-    <target name="upload" depends="dist,site">
-        <echo message="uploading jar and site description to ${plugin.site.upload.target}"/>
-        <exec executable="scp">
-            <arg value="${plugin.jar}"/>
-            <arg value="${plugin.site.file}"/>
-            <arg value="${plugin.site.upload.target}"/>
-        </exec>
+        <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>
 </project>
Index: /applications/editors/josm/plugins/globalsat/build.xml
===================================================================
--- /applications/editors/josm/plugins/globalsat/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/globalsat/build.xml	(revision 14003)
@@ -1,32 +1,41 @@
 <project name="globalsat" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"             location="../../core/dist/josm-custom.jar" />
-    <property name="RXTX"             location="./libs/RXTXcomm.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <path id="classpath">
-        <fileset id="RXTX" file="${RXTX}"/>
-        <fileset file="${josm}"/>
-    </path>
-    <target name="dist" depends="compile">
-        <unjar dest="build">
-            <fileset refid="RXTX" />
-        </unjar>
-<!-- images -->
-        <copy todir="build/images">
-            <fileset dir="images" />
+    <property name="RXTX"                   location="./libs/RXTXcomm.jar"/>
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+            <classpath>
+                <pathelement location="${josm}"/>
+                <pathelement location="${RXTX}"/>
+            </classpath>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <unjar dest="${plugin.build.dir}" src="${RXTX}"/>
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Raphael Mack"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.globalsat.GlobalsatPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Download GPS points from Globalsat dg100 data logger directly in JOSM."/>
+                <attribute name="Plugin-Link" value="http://www.raphael-mack.de/josm-globalsat-gpx-import-plugin/"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -37,29 +46,16 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.globalsat.GlobalsatPlugin" />
-                <attribute name="Plugin-Description" value="Provide a dialog to read stored tracks from a Globalsat DG100 datalogger into a GPX-layer. Depends on installed rxtx library." />
-                <attribute name="Plugin-Author" value="ramack@raphael-mack.de" />
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-            </manifest>
-        </jar>
-    </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpathref="classpath" destdir="build">
-            <compilerarg value="-Xlint:deprecation"/>
-        </javac>
-    </target>
-    <target name="init">
-        <mkdir dir="${plugin.build.dir}" />
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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>
Index: /applications/editors/josm/plugins/imagewaypoint/build.xml
===================================================================
--- /applications/editors/josm/plugins/imagewaypoint/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/imagewaypoint/build.xml	(revision 14003)
@@ -1,15 +1,35 @@
-<project name="imagewaypoint" default="dist" basedir=".">
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-    <target name="dist" depends="compile">
-        <copy todir="build/images">
-            <fileset dir="images" />
+<project name="ImageWayPoint" default="dist" basedir=".">
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
+    <property name="ant.build.javac.target" value="1.5"/>
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Flint"/>
+                <attribute name="Plugin-Class" value="org.insignificant.josm.plugins.imagewaypoint.ImageWayPointPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Another plugin to match images to the waypoints in a GPX file. A match is made when the 'name', 'cmt' or 'desc' attribute of a waypoint tag matches the filename of an image."/>
+                <attribute name="Plugin-Early" value="false"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -20,29 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <delete file="${plugin.jar}"/>
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.insignificant.josm.plugins.imagewaypoint.ImageWayPointPlugin" />
-                <attribute name="Plugin-Description" value="An other geotag plugin for josm. Correlates pictures with GPS tracks if the image name is sorted in the GPX trkpt tag." />
-                <attribute name="Plugin-Early" value="false" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1180" />
-            </manifest>
-        </jar>
-    </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="build">
-            <compilerarg value="-Xlint:deprecation"/>
-            <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
-        </javac>
-    </target>
-    <target name="init">
-        <mkdir dir="build" />
     </target>
     <target name="clean">
-        <delete dir="build" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/lakewalker/build.xml
===================================================================
--- /applications/editors/josm/plugins/lakewalker/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/lakewalker/build.xml	(revision 14003)
@@ -1,19 +1,7 @@
 <project name="lakewalker" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-    <property name="josm" location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
     <target name="init">
@@ -22,21 +10,26 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <mkdir dir="build"></mkdir>
-        <javac srcdir="src" classpath="${josm}" destdir="build" debug="true">
-            <include name="**/*.java" />
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
-        <mkdir dir="build/images"></mkdir>
-        <copy todir="build">
-            <fileset dir="${plugin.build.dir}" casesensitive="yes">
-                <filename name="**/*.class"/>
-            </fileset>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
-        <copy todir="build/images">
-            <fileset dir="images" casesensitive="yes">
-                <filename name="**/*.png"/>
-            </fileset>
-        </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Brent Easton, Jason Reid"/>
+                <attribute name="Main-Class" value="org.openstreetmap.josm.plugins.lakewalker.LakewalkerApp"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.lakewalker.LakewalkerPlugin" />
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Helps vectorizing WMS images." />
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
     </target>
-    <target name="dist" depends="compile">
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -47,25 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.lakewalker.LakewalkerPlugin" />
-                <attribute name="Plugin-Description" value="Interface to Lakewalker module" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Author" value="Brent Easton &lt;b.easton@uws.edu.au>, Jason Reid &lt;jrreid@ucalgary.ca>"/>
-                <attribute name="Main-Class" value="org.openstreetmap.josm.plugins.lakewalker.LakewalkerApp"/>
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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}"/>
-        <mkdir dir="${josm.plugins.dir}/Lakewalker/IR1"></mkdir>
-        <mkdir dir="${josm.plugins.dir}/Lakewalker/IR2"></mkdir>
-        <mkdir dir="${josm.plugins.dir}/Lakewalker/IR3"></mkdir>
     </target>
 </project>
Index: /applications/editors/josm/plugins/livegps/build.xml
===================================================================
--- /applications/editors/josm/plugins/livegps/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/livegps/build.xml	(revision 14003)
@@ -1,39 +1,36 @@
 <project name="livegps" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-<!--<property name="josm.build.dir"   value="../../JOSM/"/> -->
-    <property name="josm.build.dir"   value="../../core/"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-    <property name="plugin.jar" value="../../dist/${plugin.name}.jar"/>
-    <property name="livegpsplugin.jar" value="${josm.home.dir}/plugins/livegps.jar"/>
-<!-- plugin meta data (enter new version number if anything changed!) -->
-    <property name="plugin.description" value="Allow live GPS feed from a gpsd server (V${plugin.version})."/>
-    <property name="plugin.stage" value="50"/>
-    <property name="plugin.class" value="livegps.LiveGpsPlugin"/>
-<!-- update site meta data -->
-    <property name="plugin.site.file" value="josm-site.xml"/>
-    <property name="plugin.site.description" value="Josm's LiveGps Update Site"/>
-    <property name="plugin.site.url" value="http://www.tegmento.org/~cdaller/josm/livegps/"/>
-    <property name="plugin.site.upload.target" value="cdaller@www.tegmento.org:public_html/josm/livegps/"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
     <target name="init">
         <mkdir dir="${plugin.build.dir}"/>
     </target>
-    <target name="dist" depends="compile">
-<!-- images -->
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
-            <fileset dir="images" />
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Frederik Ramm"/>
+                <attribute name="Plugin-Class" value="livegps.LiveGpsPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Support live GPS input (moving dot) through a connection to gpsd server."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/LiveGPS"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Stage" value="50"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -44,37 +41,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-<!-- create jar file -->
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="${plugin.class}" />
-                <attribute name="Plugin-Description" value="${plugin.description}" />
-                <attribute name="Plugin-Mainversion" value="1180" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-<!--attribute name="Plugin-Dependencies" value="org.eigenheimstrasse.josm" /-->
-                <attribute name="Plugin-Stage" value="${plugin.stage}" />
-            </manifest>
-        </jar>
     </target>
-    <target name="compile" depends="init">
-        <javac srcdir="livegps" destdir="${plugin.build.dir}" debug="true" source="1.5" target="1.5">
-            <compilerarg value="-Xlint:deprecation"/>
-            <classpath>
-                <pathelement path="${josm.build.dir}/build"/>
-                <fileset dir="${josm.build.dir}/lib">
-                    <include name="../core/build/josm.jar"/>
-                    <include name="**/*.jar"/>
-                </fileset>
-                <pathelement location="${plugin.jar}"/>
-            </classpath>
-        </javac>
+    <target name="clean">
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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}"/>
-        <copy file="liveGPS.conf" todir="${josm.plugins.dir}/livegps/" />
-    </target>
-    <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
     </target>
 </project>
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsAcquirer.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsAcquirer.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsAcquirer.java	(revision 14003)
@@ -0,0 +1,249 @@
+package livegps;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.openstreetmap.josm.data.coor.LatLon;
+
+public class LiveGpsAcquirer implements Runnable {
+    Socket gpsdSocket;
+    BufferedReader gpsdReader;
+    boolean connected = false;
+    String gpsdHost = "localhost";
+    int gpsdPort = 2947;
+    String configFile = "liveGPS.conf";
+    boolean shutdownFlag = false;
+    private List<PropertyChangeListener> propertyChangeListener = new ArrayList<PropertyChangeListener>();
+    private PropertyChangeEvent lastStatusEvent;
+    private PropertyChangeEvent lastDataEvent;
+
+    public LiveGpsAcquirer(String pluginDir) {
+
+        Properties liveGPSconfig = new Properties();
+
+        FileInputStream fis = null;
+
+        try {
+            fis = new FileInputStream(pluginDir + configFile);
+        } catch (FileNotFoundException e) {
+            System.err.println("No liveGPS.conf found, using defaults");
+        }
+
+        if(fis != null)
+        {
+            try {
+                liveGPSconfig.load(fis);
+                this.gpsdHost = liveGPSconfig.getProperty("host");
+                this.gpsdPort = Integer.parseInt(liveGPSconfig.getProperty("port"));
+
+            } catch (IOException e) {
+                System.err.println("Error while loading liveGPS.conf, using defaults");
+            }
+
+            if(this.gpsdHost == null || this.gpsdPort == 0)
+            {
+                System.err.println("Error in liveGPS.conf, using defaults");
+                this.gpsdHost = "localhost";
+                this.gpsdPort = 2947;
+            }
+        }
+
+    }
+
+    /**
+     * Adds a property change listener to the acquirer.
+     * @param listener the new listener
+     */
+    public void addPropertyChangeListener(PropertyChangeListener listener) {
+        if(!propertyChangeListener.contains(listener)) {
+            propertyChangeListener.add(listener);
+        }
+    }
+
+    /**
+     * Fire a gps status change event. Fires events with key "gpsstatus" and a {@link LiveGpsStatus}
+     * object as value.
+     * @param status the status.
+     * @param statusMessage the status message.
+     */
+    public void fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus status, String statusMessage) {
+        PropertyChangeEvent event = new PropertyChangeEvent(this, "gpsstatus", null, new LiveGpsStatus(status, statusMessage));
+        if(!event.equals(lastStatusEvent)) {
+            firePropertyChangeEvent(event);
+            lastStatusEvent = event;
+        }
+    }
+
+    /**
+     * Fire a gps data change event to all listeners. Fires events with key "gpsdata" and a
+     * {@link LiveGpsData} object as values.
+     * @param oldData the old gps data.
+     * @param newData the new gps data.
+     */
+    public void fireGpsDataChangeEvent(LiveGpsData oldData, LiveGpsData newData) {
+        PropertyChangeEvent event = new PropertyChangeEvent(this, "gpsdata", oldData, newData);
+        if(!event.equals(lastDataEvent)) {
+            firePropertyChangeEvent(event);
+            lastDataEvent = event;
+        }
+    }
+
+    /**
+     * Fires the given event to all listeners.
+     * @param event the event to fire.
+     */
+    protected void firePropertyChangeEvent(PropertyChangeEvent event) {
+        for (PropertyChangeListener listener : propertyChangeListener) {
+            listener.propertyChange(event);
+        }
+    }
+
+    public void run() {
+        LiveGpsData oldGpsData = null;
+        LiveGpsData gpsData = null;
+        shutdownFlag = false;
+        while(!shutdownFlag) {
+            double lat = 0;
+            double lon = 0;
+            float speed = 0;
+            float course = 0;
+            boolean haveFix = false;
+
+            try
+            {
+                if (!connected)
+                {
+                    System.out.println("LiveGps tries to connect to gpsd");
+                    fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTING, tr("Connecting"));
+                    InetAddress[] addrs = InetAddress.getAllByName(gpsdHost);
+                    for (int i=0; i < addrs.length && gpsdSocket == null; i++) {
+                        try {
+                            gpsdSocket = new Socket(addrs[i], gpsdPort);
+                            break;
+                        } catch (Exception e) {
+                            System.out.println("LiveGps: Could not open connection to gpsd: " + e);
+                            gpsdSocket = null;
+                        }
+                    }
+
+                    if (gpsdSocket != null)
+                    {
+                        gpsdReader = new BufferedReader(new InputStreamReader(gpsdSocket.getInputStream()));
+                        gpsdSocket.getOutputStream().write(new byte[] { 'w', 13, 10 });
+                        fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTING, tr("Connecting"));
+                        connected = true;
+                    System.out.println("LiveGps: Connected to gpsd");
+                    }
+                }
+
+
+                if(connected) {
+                    // <FIXXME date="23.06.2007" author="cdaller">
+                    // TODO this read is blocking if gps is connected but has no fix, so gpsd does not send positions
+                    String line = gpsdReader.readLine();
+                    // </FIXXME>
+                    if (line == null) break;
+                    String words[] = line.split(",");
+
+                    if ((words.length == 0) || (!words[0].equals("GPSD"))) {
+                        // unexpected response.
+                        continue;
+                    }
+
+                    for (int i = 1; i < words.length; i++) {
+
+                        if ((words[i].length() < 2) || (words[i].charAt(1) != '=')) {
+                            // unexpected response.
+                            continue;
+                        }
+
+                        char what = words[i].charAt(0);
+                        String value = words[i].substring(2);
+                        oldGpsData = gpsData;
+                        gpsData = new LiveGpsData();
+                        switch(what) {
+                        case 'O':
+                            // full report, tab delimited.
+                            String[] status = value.split("\\s+");
+                            if (status.length >= 5) {
+                                lat = Double.parseDouble(status[3]);
+                                lon = Double.parseDouble(status[4]);
+                                try {
+                                    speed = Float.parseFloat(status[9]);
+                                    course = Float.parseFloat(status[8]);
+                                    //view.setSpeed(speed);
+                                    //view.setCourse(course);
+                                } catch (NumberFormatException nex) {}
+                                haveFix = true;
+                            }
+                            break;
+                        case 'P':
+                            // position report, tab delimited.
+                            String[] pos = value.split("\\s+");
+                            if (pos.length >= 2) {
+                                lat = Double.parseDouble(pos[0]);
+                                lon = Double.parseDouble(pos[1]);
+                                speed = Float.NaN;
+                                course = Float.NaN;
+                                haveFix = true;
+                            }
+                        default:
+                            // not interested
+                        }
+                        fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTED, tr("Connected"));
+                        gpsData.setFix(haveFix);
+                        if (haveFix) {
+                            //view.setCurrentPosition(lat, lon);
+                            gpsData.setLatLon(new LatLon(lat, lon));
+                            gpsData.setSpeed(speed);
+                            gpsData.setCourse(course);
+                            fireGpsDataChangeEvent(oldGpsData, gpsData);
+                        }
+                    }
+                } else {
+                    // not connected:
+                    fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.DISCONNECTED, tr("Not connected"));
+                    try { Thread.sleep(1000); } catch (InterruptedException ignore) {};
+                }
+            } catch(IOException iox) {
+                connected = false;
+                if(gpsData != null) {
+                    gpsData.setFix(false);
+                    fireGpsDataChangeEvent(oldGpsData, gpsData);
+                }
+                fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTION_FAILED, tr("Connection Failed"));
+                try { Thread.sleep(1000); } catch (InterruptedException ignore) {};
+                // send warning to layer
+
+            }
+        }
+
+    fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.DISCONNECTED, tr("Not connected"));
+        if (gpsdSocket != null) {
+      try {
+        gpsdSocket.close();
+        gpsdSocket = null;
+            System.out.println("LiveGps: Disconnected from gpsd");
+      }
+      catch (Exception e) {
+        System.out.println("LiveGps: Unable to close socket; reconnection may not be possible");
+      };
+      }
+  }
+
+    public void shutdown()
+    {
+        shutdownFlag = true;
+    }
+}
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsData.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsData.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsData.java	(revision 14003)
@@ -0,0 +1,211 @@
+/**
+ *
+ */
+package livegps;
+
+import java.awt.Point;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.Way;
+
+/**
+ * @author cdaller
+ *
+ */
+public class LiveGpsData {
+    private LatLon latLon;
+    private float course;
+    private float speed;
+    private boolean fix;
+    private String wayString;
+    private Way way;
+
+    /**
+     * @param latitude
+     * @param longitude
+     * @param course
+     * @param speed
+     * @param haveFix
+     */
+    public LiveGpsData(double latitude, double longitude, float course, float speed, boolean haveFix) {
+        super();
+        this.latLon = new LatLon(latitude, longitude);
+        this.course = course;
+        this.speed = speed;
+        this.fix = haveFix;
+    }
+    /**
+     *
+     */
+    public LiveGpsData() {
+        // TODO Auto-generated constructor stub
+    }
+    /**
+     * @return the course
+     */
+    public float getCourse() {
+        return this.course;
+    }
+    /**
+     * @param course the course to set
+     */
+    public void setCourse(float course) {
+        this.course = course;
+    }
+    /**
+     * @return the haveFix
+     */
+    public boolean isFix() {
+        return this.fix;
+    }
+    /**
+     * @param haveFix the haveFix to set
+     */
+    public void setFix(boolean haveFix) {
+        this.fix = haveFix;
+    }
+    /**
+     * @return the latitude
+     */
+    public double getLatitude() {
+        return this.latLon.lat();
+    }
+    /**
+     * @return the longitude
+     */
+    public double getLongitude() {
+        return this.latLon.lon();
+    }
+    /**
+     * @return the speed in metres per second!
+     */
+    public float getSpeed() {
+        return this.speed;
+    }
+    /**
+     * @param speed the speed to set
+     */
+    public void setSpeed(float speed) {
+        this.speed = speed;
+    }
+
+    /**
+     * @return the latlon
+     */
+    public LatLon getLatLon() {
+        return this.latLon;
+    }
+
+    /**
+     * @param latLon
+     */
+    public void setLatLon(LatLon latLon) {
+        this.latLon = latLon;
+    }
+
+    public String toString() {
+        return getClass().getSimpleName() + "[fix=" + fix + ", lat=" + latLon.lat()
+        + ", long=" + latLon.lon() + ", speed=" + speed + ", course=" + course + "]";
+
+    }
+
+    /**
+     * Returns the name of the way that is closest to the current coordinates or an
+     * empty string if no way is around.
+     *
+     * @return the name of the way that is closest to the current coordinates.
+     */
+    public String getWayInfo() {
+        if(wayString == null) {
+            Way way = getWay();
+            if(way != null) {
+                StringBuilder builder = new StringBuilder();
+                String tmp = way.get("name");
+                if(tmp != null) {
+                    builder.append(tmp);
+                } else {
+                    builder.append("no name");
+                }
+                tmp = way.get("ref");
+                if(tmp != null) {
+                    builder.append(" (").append(tmp).append(")");
+                }
+                tmp = way.get("highway");
+                if(tmp != null) {
+                    builder.append(" {").append(tmp).append("}");
+                }
+                String type = "";
+                tmp = way.get("tunnel");
+                if(tmp != null) {
+                    type = type + "T";
+                }
+                tmp = way.get("bridge");
+                if(tmp != null) {
+                    type = type + "B";
+                }
+                if(type.length() > 0) {
+                    builder.append(" [").append(type).append("]");
+                }
+                wayString = builder.toString();
+            } else {
+                wayString = "";
+            }
+        }
+        return wayString;
+    }
+
+    /**
+     * Returns the closest way to this position.
+     * @return the closest way to this position.
+     */
+    public Way getWay() {
+        if(way == null) {
+            EastNorth eastnorth = Main.proj.latlon2eastNorth(getLatLon());
+            Point xy = Main.map.mapView.getPoint(eastnorth);
+            way = Main.map.mapView.getNearestWay(xy);
+        }
+        return way;
+
+    }
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + Float.floatToIntBits(this.course);
+        result = prime * result + ((this.latLon == null) ? 0 : this.latLon.hashCode());
+        result = prime * result + Float.floatToIntBits(this.speed);
+        return result;
+    }
+    /* (non-Javadoc)
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        final LiveGpsData other = (LiveGpsData) obj;
+        if (Float.floatToIntBits(this.course) != Float.floatToIntBits(other.course))
+            return false;
+        if (this.latLon == null) {
+            if (other.latLon != null)
+                return false;
+        } else if (!this.latLon.equals(other.latLon))
+            return false;
+        if (Float.floatToIntBits(this.speed) != Float.floatToIntBits(other.speed))
+            return false;
+        return true;
+    }
+
+
+
+}
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsDialog.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsDialog.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsDialog.java	(revision 14003)
@@ -0,0 +1,108 @@
+/**
+ *
+ */
+package livegps;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.GridLayout;
+import java.awt.event.KeyEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
+import org.openstreetmap.josm.tools.Shortcut;
+
+/**
+ * @author cdaller
+ *
+ */
+public class LiveGpsDialog extends ToggleDialog implements PropertyChangeListener {
+    private static final long serialVersionUID = 6183400754671501117L;
+    private JLabel statusLabel;
+    private JLabel wayLabel;
+    private JLabel latLabel;
+    private JLabel longLabel;
+    private JLabel courseLabel;
+    private JLabel speedLabel;
+    private JPanel panel;
+
+    /**
+     * @param name
+     * @param iconName
+     * @param tooltip
+     * @param shortcut
+     * @param preferredHeight
+     */
+    public LiveGpsDialog(final MapFrame mapFrame) {
+        super(tr("Live GPS"), "livegps", tr("Show GPS data."),
+        Shortcut.registerShortcut("subwindow:livegps", tr("Toggle: {0}", tr("Live GPS")),
+        KeyEvent.VK_G, Shortcut.GROUP_LAYER, Shortcut.SHIFT_DEFAULT), 100);
+        panel = new JPanel();
+        panel.setLayout(new GridLayout(6,2));
+        panel.add(new JLabel(tr("Status")));
+        panel.add(statusLabel = new JLabel());
+        panel.add(new JLabel(tr("Way Info")));
+        panel.add(wayLabel = new JLabel());
+        panel.add(new JLabel(tr("Latitude")));
+        panel.add(latLabel = new JLabel());
+        panel.add(new JLabel(tr("Longitude")));
+        panel.add(longLabel = new JLabel());
+        panel.add(new JLabel(tr("Speed")));
+        panel.add(speedLabel = new JLabel());
+        panel.add(new JLabel(tr("Course")));
+        panel.add(courseLabel = new JLabel());
+        add(new JScrollPane(panel), BorderLayout.CENTER);
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        if (!isVisible())
+            return;
+        if("gpsdata".equals(evt.getPropertyName())) {
+            LiveGpsData data = (LiveGpsData) evt.getNewValue();
+            if(data.isFix()) {
+//                fixLabel.setText("fix");
+                panel.setBackground(Color.WHITE);
+                latLabel.setText(data.getLatitude() + "deg");
+                longLabel.setText(data.getLongitude() + "deg");
+                double mySpeed = data.getSpeed() * 3.6f;
+                speedLabel.setText((Math.round(mySpeed*100)/100) + "km/h"); // m(s to km/h
+                courseLabel.setText(data.getCourse() + "deg");
+
+                String wayString = data.getWayInfo();
+                if(wayString.length() > 0) {
+                    wayLabel.setText(wayString);
+                } else {
+                    wayLabel.setText("unknown");
+                }
+
+            } else {
+//                fixLabel.setText("no fix");
+                latLabel.setText("");
+                longLabel.setText("");
+                speedLabel.setText("");
+                courseLabel.setText("");
+                panel.setBackground(Color.RED);
+            }
+        } else if ("gpsstatus".equals(evt.getPropertyName())) {
+            LiveGpsStatus status = (LiveGpsStatus) evt.getNewValue();
+            statusLabel.setText(status.getStatusMessage());
+            if(status.getStatus() != LiveGpsStatus.GpsStatus.CONNECTED) {
+                panel.setBackground(Color.RED);
+            } else {
+                panel.setBackground(Color.WHITE);
+            }
+        }
+
+    }
+}
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsLayer.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsLayer.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsLayer.java	(revision 14003)
@@ -0,0 +1,159 @@
+package livegps;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Point;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.gpx.GpxData;
+import org.openstreetmap.josm.data.gpx.GpxTrack;
+import org.openstreetmap.josm.data.gpx.WayPoint;
+import org.openstreetmap.josm.gui.MapView;
+import org.openstreetmap.josm.gui.layer.GpxLayer;
+import org.openstreetmap.josm.tools.ColorHelper;
+
+public class LiveGpsLayer extends GpxLayer implements PropertyChangeListener {
+    public static final String LAYER_NAME = tr("LiveGPS layer");
+    public static final String KEY_LIVEGPS_COLOR ="color.livegps.position";
+    LatLon lastPos;
+    WayPoint lastPoint;
+    GpxTrack trackBeingWritten;
+    Collection<WayPoint> trackSegment;
+    float speed;
+    float course;
+    String status;
+    //JLabel lbl;
+    boolean autocenter;
+    private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
+
+    public LiveGpsLayer(GpxData data)
+    {
+        super (data, LAYER_NAME);
+        trackBeingWritten = new GpxTrack();
+        trackBeingWritten.attr.put("desc", "josm live gps");
+        trackSegment = new ArrayList<WayPoint>();
+        trackBeingWritten.trackSegs.add(trackSegment);
+        data.tracks.add(trackBeingWritten);
+    }
+
+    void setCurrentPosition(double lat, double lon)
+    {
+        //System.out.println("adding pos " + lat + "," + lon);
+        LatLon thisPos = new LatLon(lat, lon);
+        if ((lastPos != null) && (thisPos.equalsEpsilon(lastPos))) {
+            // no change in position
+            // maybe show a "paused" cursor or some such
+            return;
+        }
+
+        lastPos = thisPos;
+        lastPoint = new WayPoint(thisPos);
+        lastPoint.attr.put("time", dateFormat.format(new Date()));
+        // synchronize when adding data, as otherwise the autosave action
+        // needs concurrent access and this results in an exception!
+        synchronized (LiveGpsLock.class) {
+            trackSegment.add(lastPoint);
+        }
+        if (autocenter) {
+            center();
+        }
+
+        //Main.map.repaint();
+    }
+
+    public void center()
+    {
+        if (lastPoint != null)
+            Main.map.mapView.zoomTo(lastPoint.eastNorth, Main.map.mapView.getScale());
+    }
+
+//  void setStatus(String status)
+//  {
+//      this.status = status;
+//      Main.map.repaint();
+//        System.out.println("LiveGps status: " + status);
+//  }
+
+    void setSpeed(float metresPerSecond)
+    {
+        speed = metresPerSecond;
+        //Main.map.repaint();
+    }
+
+    void setCourse(float degrees)
+    {
+        course = degrees;
+        //Main.map.repaint();
+    }
+
+    public void setAutoCenter(boolean ac)
+    {
+        autocenter = ac;
+    }
+
+    @Override public void paint(Graphics g, MapView mv)
+    {
+        //System.out.println("in paint");
+        synchronized (LiveGpsLock.class) {
+            //System.out.println("in synced paint");
+            super.paint(g, mv);
+//          int statusHeight = 50;
+//          Rectangle mvs = mv.getBounds();
+//          mvs.y = mvs.y + mvs.height - statusHeight;
+//          mvs.height = statusHeight;
+//          g.setColor(new Color(1.0f, 1.0f, 1.0f, 0.8f));
+//          g.fillRect(mvs.x, mvs.y, mvs.width, mvs.height);
+
+            if (lastPoint != null)
+            {
+                Point screen = mv.getPoint(lastPoint.eastNorth);
+                g.setColor(Main.pref.getColor(KEY_LIVEGPS_COLOR, Color.RED));
+                g.drawOval(screen.x-10, screen.y-10,20,20);
+                g.drawOval(screen.x-9, screen.y-9,18,18);
+            }
+
+//          lbl.setText("gpsd: "+status+" Speed: " + speed + " Course: "+course);
+//          lbl.setBounds(0, 0, mvs.width-10, mvs.height-10);
+//          Graphics sub = g.create(mvs.x+5, mvs.y+5, mvs.width-10, mvs.height-10);
+//          lbl.paint(sub);
+
+//          if(status != null) {
+//          g.setColor(Color.WHITE);
+//          g.drawString("gpsd: " + status, 5, mv.getBounds().height - 15); // lower left corner
+//          }
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        if(!visible) {
+            return;
+        }
+        if("gpsdata".equals(evt.getPropertyName())) {
+            LiveGpsData data = (LiveGpsData) evt.getNewValue();
+            if(data.isFix()) {
+                setCurrentPosition(data.getLatitude(), data.getLongitude());
+                if(!Float.isNaN(data.getSpeed())) {
+                    setSpeed(data.getSpeed());
+                }
+                if(!Float.isNaN(data.getCourse())) {
+                    setCourse(data.getCourse());
+                }
+                Main.map.repaint();
+            }
+        }
+
+    }
+
+}
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsLock.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsLock.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsLock.java	(revision 14003)
@@ -0,0 +1,16 @@
+/**
+ *
+ */
+package livegps;
+
+/**
+ * This class is only used to prevent concurrent object modification. So all classes that
+ * read or write live gps data must synchronize to this class. Especially the save action
+ * takes quite long, so concurrency problems occur.
+ *
+ * @author cdaller
+ *
+ */
+public class LiveGpsLock {
+
+}
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsPlugin.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsPlugin.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsPlugin.java	(revision 14003)
@@ -0,0 +1,197 @@
+package livegps;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.beans.PropertyChangeListener;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.gpx.GpxData;
+import org.openstreetmap.josm.gui.MainMenu;
+import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.plugins.Plugin;
+import org.openstreetmap.josm.tools.Shortcut;
+
+public class LiveGpsPlugin extends Plugin
+{
+    private LiveGpsAcquirer acquirer = null;
+    private Thread acquirerThread = null;
+    private JMenu lgpsmenu;
+    private JCheckBoxMenuItem lgpscapture;
+    private JMenuItem lgpscenter;
+    private JCheckBoxMenuItem lgpsautocenter;
+    private LiveGpsDialog lgpsdialog;
+    List<PropertyChangeListener>listenerQueue;
+
+    private GpxData data = new GpxData();
+    private LiveGpsLayer lgpslayer;
+
+
+    public class CaptureAction extends JosmAction {
+        public CaptureAction() {
+            super(tr("Capture GPS Track"), "capturemenu", tr("Connect to gpsd server and show current position in LiveGPS layer."),
+                Shortcut.registerShortcut("menu:livegps:capture", tr("Menu: {0}", tr("Capture GPS Track")),
+                KeyEvent.VK_R, Shortcut.GROUP_MENU), true);
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            enableTracking(lgpscapture.isSelected());
+        }
+    }
+
+    public class CenterAction extends JosmAction {
+        public CenterAction() {
+            super(tr("Center Once"), "centermenu", tr("Center the LiveGPS layer to current position."),
+            Shortcut.registerShortcut("edit:centergps", tr("Edit: {0}", tr("Center Once")),
+            KeyEvent.VK_HOME, Shortcut.GROUP_EDIT), true);
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            if(lgpslayer != null) {
+                lgpslayer.center();
+            }
+        }
+    }
+
+    public class AutoCenterAction extends JosmAction {
+        public AutoCenterAction() {
+            super(tr("Auto-Center"), "autocentermenu", tr("Continuously center the LiveGPS layer to current position."),
+            Shortcut.registerShortcut("menu:livegps:autocenter", tr("Menu: {0}", tr("Capture GPS Track")),
+            KeyEvent.VK_HOME, Shortcut.GROUP_MENU), true);
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            if(lgpslayer != null) {
+                setAutoCenter(lgpsautocenter.isSelected());
+            }
+        }
+    }
+
+    public LiveGpsPlugin()
+    {
+        MainMenu menu = Main.main.menu;
+        lgpsmenu = new JMenu(tr("LiveGPS"));
+        menu.add(lgpsmenu, KeyEvent.VK_G, "livegps");
+        menu.add(lgpsmenu, 5);
+
+        JosmAction captureAction = new CaptureAction();
+        lgpscapture = new JCheckBoxMenuItem(captureAction);
+        lgpsmenu.add(lgpscapture);
+        lgpscapture.setAccelerator(captureAction.getShortcut().getKeyStroke());
+
+        JosmAction centerAction = new CenterAction();
+        JMenuItem centerMenu = new JMenuItem(centerAction);
+        lgpsmenu.add(centerMenu);
+        centerMenu.setAccelerator(centerAction.getShortcut().getKeyStroke());
+
+        JosmAction autoCenterAction = new AutoCenterAction();
+        lgpsautocenter = new JCheckBoxMenuItem(autoCenterAction);
+        lgpsmenu.add(lgpsautocenter);
+        lgpsautocenter.setAccelerator(autoCenterAction.getShortcut().getKeyStroke());
+    }
+
+    /**
+     * Set to <code>true</code> if the current position should always be in the center of the map.
+     * @param autoCenter if <code>true</code> the map is always centered.
+     */
+    public void setAutoCenter(boolean autoCenter) {
+        lgpsautocenter.setSelected(autoCenter); // just in case this method was not called from the menu
+        if(lgpslayer != null) {
+            lgpslayer.setAutoCenter(autoCenter);
+            if (autoCenter) lgpslayer.center();
+        }
+    }
+
+    /**
+     * Returns <code>true</code> if autocenter is selected.
+     * @return <code>true</code> if autocenter is selected.
+     */
+    public boolean isAutoCenter() {
+        return lgpsautocenter.isSelected();
+    }
+
+    /**
+     * Enable or disable gps tracking
+     * @param enable if <code>true</code> tracking is started.
+     */
+    public void enableTracking(boolean enable) {
+        if ((acquirer != null) && (!enable))
+        {
+            acquirer.shutdown();
+            acquirerThread = null;
+        }
+        else if(enable)
+        {
+            if (acquirer == null) {
+                acquirer = new LiveGpsAcquirer(getPluginDir());
+                if (lgpslayer == null) {
+                    lgpslayer = new LiveGpsLayer(data);
+                    Main.main.addLayer(lgpslayer);
+                    lgpslayer.setAutoCenter(isAutoCenter());
+                }
+                // connect layer with acquirer:
+                addPropertyChangeListener(lgpslayer);
+                // add all listeners that were added before the acquirer existed:
+                if(listenerQueue != null) {
+                    for(PropertyChangeListener listener : listenerQueue) {
+                        addPropertyChangeListener(listener);
+                    }
+                    listenerQueue.clear();
+                }
+            }
+            if(acquirerThread == null) {
+                acquirerThread = new Thread(acquirer);
+                acquirerThread.start();
+            }
+        }
+    }
+
+
+    /**
+     * Add a listener for gps events.
+     * @param listener the listener.
+     */
+    public void addPropertyChangeListener(PropertyChangeListener listener) {
+        if(acquirer != null) {
+            acquirer.addPropertyChangeListener(listener);
+        } else {
+            if(listenerQueue == null) {
+                listenerQueue = new ArrayList<PropertyChangeListener>();
+            }
+            listenerQueue.add(listener);
+        }
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.openstreetmap.josm.plugins.Plugin#mapFrameInitialized(org.openstreetmap.josm.gui.MapFrame, org.openstreetmap.josm.gui.MapFrame)
+     */
+    @Override
+    public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
+        if(newFrame != null) {
+            // add dialog
+            newFrame.addToggleDialog(lgpsdialog = new LiveGpsDialog(newFrame));
+            // connect listeners with acquirer:
+            addPropertyChangeListener(lgpsdialog);
+        }
+    }
+
+
+    /**
+     * @return the lgpsmenu
+     */
+    public JMenu getLgpsMenu() {
+        return this.lgpsmenu;
+    }
+
+}
+
Index: /applications/editors/josm/plugins/livegps/src/LiveGpsStatus.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/LiveGpsStatus.java	(revision 14003)
+++ /applications/editors/josm/plugins/livegps/src/LiveGpsStatus.java	(revision 14003)
@@ -0,0 +1,49 @@
+/**
+ *
+ */
+package livegps;
+
+/**
+ * @author cdaller
+ *
+ */
+public class LiveGpsStatus {
+    public enum GpsStatus {CONNECTING, CONNECTED, DISCONNECTED, CONNECTION_FAILED};
+    private String statusMessage;
+    private GpsStatus status;
+
+    /**
+     * @param status
+     * @param statusMessage
+     */
+    public LiveGpsStatus(GpsStatus status, String statusMessage) {
+        super();
+        this.status = status;
+        this.statusMessage = statusMessage;
+    }
+/**
+     * @return the status
+     */
+    public GpsStatus getStatus() {
+        return this.status;
+    }
+    /**
+     * @param status the status to set
+     */
+    public void setStatus(GpsStatus status) {
+        this.status = status;
+    }
+    /**
+     * @return the statusMessage
+     */
+    public String getStatusMessage() {
+        return this.statusMessage;
+    }
+    /**
+     * @param statusMessage the statusMessage to set
+     */
+    public void setStatusMessage(String statusMessage) {
+        this.statusMessage = statusMessage;
+    }
+
+}
Index: /applications/editors/josm/plugins/measurement/build.xml
===================================================================
--- /applications/editors/josm/plugins/measurement/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/measurement/build.xml	(revision 14003)
@@ -1,24 +1,34 @@
 <project name="measurement" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"             location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="dist" depends="compile">
-<!-- images -->
-        <copy todir="build/images">
-            <fileset dir="images" />
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Raphael Mack, Reza Mohammadi"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.measurement.MeasurementPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Provide a measurement dialog and a layer to measure length and angle of segments, area surrounded by a (simple) closed way and create measurement paths (which also can be imported from a gps layer)."/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -29,29 +39,16 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.measurement.MeasurementPlugin" />
-                <attribute name="Plugin-Description" value="Provide a measurement dialog and a layer to measure length and angle of segments and create measurement paths (which also can be imported from a gps layer)" />
-                <attribute name="Plugin-Author" value="mail@raphael-mack.de" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1180" />
-            </manifest>
-        </jar>
-    </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" destdir="build">
-            <compilerarg value="-Xlint:deprecation"/>
-        </javac>
-    </target>
-    <target name="init">
-        <mkdir dir="${plugin.build.dir}" />
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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>
Index: /applications/editors/josm/plugins/nearclick/build.xml
===================================================================
--- /applications/editors/josm/plugins/nearclick/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/nearclick/build.xml	(revision 14003)
@@ -1,31 +1,32 @@
 <project name="nearclick" default="dist" basedir=".">
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.home.dir"    value="${user.home}/.josm"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-<!-- There's no josm.jar in the svn, so point "josm" to a local copy of your JOSM binary -->
-    <property name="josm" location="../../core/dist/josm-custom.jar" />
-<!-- target directory to place the plugin in -->
-<!-- Windows has a different home directory scheme then unix/linux -->
-<!-- I don't know an automatic way to find it with ant :-(, if you know, please fix -->
-<!--<property name="plugins" location="${user.home}/.josm/plugins" ></property>-->
-    <property name="plugins" location="${user.home}/Application Data/JOSM/plugins" ></property>
-<!-- you should not need to modify anything below this! -->
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
     <target name="init">
-        <mkdir dir="build"></mkdir>
+        <mkdir dir="${plugin.build.dir}"/>
     </target>
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" target="1.5" classpath="${josm}" destdir="build" debug="true">
-            <include name="**/*.java" />
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
     </target>
-    <target name="dist" depends="compile">
-<!-- define the version of the jar file -->
+    <target name="dist" depends="compile,revision">
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Imi, David Earl"/>
+                <attribute name="Plugin-Class" value="nearclick.NearClickPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Simulates a click when you do a small and short drag. This is usefull for tablet pens, when you have problems just clicking the tablet without the mouse moving (general Java - tablet problem)."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/Nearclick"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -35,25 +36,18 @@
         </exec>
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
-<!-- delete intermediate file -->
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="nearclick.NearClickPlugin" />
-                <attribute name="Plugin-Description" value="Simulates a click when you do a small and short drag. This is usefull for tablet pens, when you have problems just clicking the tablet without the mouse moving (general Java - tablet problem)." />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1180" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
-    </target>
-    <target name="clean_install">
-        <delete file="${plugins}/nearclick.jar" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <target name="install" depends="dist">
-        <copy file="${plugin.jar}" todir="${plugins}"/>
+        <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>
 </project>
Index: /applications/editors/josm/plugins/openstreetbugs/build.xml
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/openstreetbugs/build.xml	(revision 14003)
@@ -1,31 +1,35 @@
 <project name="openstreetbugs" default="dist" basedir=".">
-<!-- the path to JOSM source code (project directory) -->
-    <property name="josm.base.dir" value="../../core" />
-    <property name="josm.dist.dir" value="../../dist" />
-<!--a osm file, which will be loaded, when running the test target -->
-    <property name="osmfile" value="/tmp/hoe.osm" />
-<!-- compilation properties -->
-    <property name="josm.build.dir" value="${josm.base.dir}/build" />
-    <property name="josm.home.dir" value="${user.home}/.josm" />
-    <property name="josm" location="${josm.base.dir}/dist/josm-custom.jar" />
-    <property name="lib.dir" value="lib" />
-    <property name="plugin.build.dir" value="build" />
-    <property name="plugin.name" value="${ant.project.name}" />
-    <property name="plugin.jar" value="${plugin.build.dir}/${plugin.name}.jar" />
-    <property name="ant.build.javac.target" value="1.5" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
+    <property name="ant.build.javac.target" value="1.5"/>
     <target name="init">
-        <mkdir dir="${plugin.build.dir}" />
+        <mkdir dir="${plugin.build.dir}"/>
     </target>
     <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}" />
-        <javac srcdir="src" classpath="${josm}" destdir="${plugin.build.dir}" debug="true">
-            <include name="**/*.java" />
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
     </target>
-    <target name="dist" depends="clean, compile">
-<!-- copy images to jar -->
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
-            <fileset dir="images" />
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Henrik Niehaus"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.osb.OsbPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Imports issues from OpenStreetBugs"/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/OpenStreetBugs"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -36,43 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-<!-- create the jar file -->
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.osb.OsbPlugin" />
-                <attribute name="Plugin-Description" value="Imports issues from OpenStreetBugs" />
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}" />
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Author" value="Henrik Niehaus" />
-            </manifest>
-        </jar>
-        <copy todir="${josm.dist.dir}" file="${plugin.jar}" />
     </target>
-<!-- clean target -->
     <target name="clean">
-        <delete dir="build" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <target name="install" depends="dist">
-        <condition property="isWindows">
-            <os family="windows" />
+        <property environment="env"/>
+        <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
+            <and>
+                <os family="windows"/>
+            </and>
         </condition>
-        <condition property="isUnix">
-            <os family="unix" />
-        </condition>
-        <antcall target="install_win" />
-        <antcall target="install_linux" />
-    </target>
-    <target name="install_win" if="isWindows">
-        <property environment="env"/>
-        <copy file="${plugin.jar}" todir="${env.APPDATA}/JOSM/plugins" />
-    </target>
-    <target name="install_linux" if="isUnix">
-        <copy file="${plugin.jar}" todir="${user.home}/.josm/plugins" />
-    </target>
-    <target name="test" depends="install">
-        <java jar="${josm}" fork="true">
-            <arg value="${osmfile}" />
-            <jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777" />
-        </java>
+        <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
     </target>
 </project>
Index: /applications/editors/josm/plugins/openvisible/build.xml
===================================================================
--- /applications/editors/josm/plugins/openvisible/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/openvisible/build.xml	(revision 14003)
@@ -1,39 +1,36 @@
 <project name="openvisible" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir" value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir" value="../../dist"/>
-    <property name="plugin.name" value="${ant.project.name}"/>
-    <property name="plugin.jar" value="${plugin.name}.jar"/>
-    <property name="plugin.description" value="Allows opening gpx/osm files that intersect the currently visible screen area (V${plugin.version})."/>
-    <property name="plugin.stage" value="50"/>
-    <property name="plugin.class" value="at.dallermassl.josm.plugin.openvisible.OpenVisiblePlugin"/>
-<!-- update site meta data -->
-    <property name="plugin.site.file" value="josm-site.xml"/>
-    <property name="plugin.site.description" value="Josm's OpenVisible Update Site"/>
-    <property name="plugin.site.url" value="http://www.tegmento.org/~cdaller/josm/${ant.project.name}/"/>
-    <property name="plugin.site.upload.target" value="cdaller@www.tegmento.org:public_html/josm/${ant.project.name}/"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="dist" depends="compile,site">
-<!-- images -->
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
-            <fileset dir="images" />
+            <fileset dir="images"/>
         </copy>
-<!-- copy configuration xml files
-     <copy todir="${plugin.build.dir}">
-       <fileset dir="src">
-         <include name="*.xml"/>
-       </fileset>
-     </copy>
-     -->
-        <mkdir dir="${plugin.dist.dir}"/>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Christof Dallermassl"/>
+                <attribute name="Plugin-Class" value="at.dallermassl.josm.plugin.openvisible.OpenVisiblePlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Dependencies" value="jgrapht-jdk1.5"/>
+                <attribute name="Plugin-Description" value="Allows opening gpx/osm files that intersect the currently visible screen area"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Stage" value="50"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -44,98 +41,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-<!-- create jar file -->
-        <jar destfile="${plugin.dist.dir}/${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="${plugin.class}" />
-                <attribute name="Plugin-Description" value="${plugin.description}" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1180" />
-                <attribute name="Plugin-Dependencies" value="jgrapht-jdk1.5" />
-                <attribute name="Plugin-Stage" value="${plugin.stage}" />
-            </manifest>
-        </jar>
     </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <mkdir dir="${plugin.build.dir}"/>
-        <javac srcdir="src" destdir="${plugin.build.dir}" debug="true" source="1.5" target="1.5">
-            <classpath>
-                <pathelement path="${josm.build.dir}/build"/>
-                <fileset dir="${josm.build.dir}/lib">
-                    <include name="**/*.jar"/>
-                </fileset>
-<!--
-            <fileset dir="lib">
-              <include name="**/*.jar"/>
-            </fileset>
-            -->
-            </classpath>
-        </javac>
+    <target name="clean">
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <target name="install" depends="dist">
-        <copy file="${plugin.dist.dir}/${plugin.jar}" todir="${josm.plugins.dir}"/>
-<!--
-    <copy todir="${josm.home.dir}/plugins">
-          <fileset dir="lib">
-            <include name="**/*.jar"/>
-          </fileset>
-    </copy>
-    -->
-    </target>
-    <target name="init">
-        <echo>java version: ${java.version}</echo>
-    </target>
-<!-- write site description for the given plugin so josm will accept it -->
-    <target name="site">
-        <echo message="creating site description in ${plugin.site.file}"/>
-        <echo file="${plugin.site.file}">&lt;!-- plugins available on this site -->
-  &lt;plugins>
-  &lt;plugin id="${ant.project.name}" version="${plugin.version}">
-  &lt;name>${ant.project.name}&lt;/name>
-  &lt;description>${plugin.description}&lt;/description>
-  &lt;resource>${plugin.site.url}${plugin.jar}&lt;/resource>
-  &lt;/plugin>
-  &lt;/plugins>
-</echo>
-    </target>
-<!-- write site description for the given plugin (not implemented in JOSM as full version yet!) -->
-    <target name="site-full-donotuse">
-        <echo message="creating site description in ${plugin.site.file}"/>
-        <echo file="${plugin.site.file}">&lt;?xml version="1.0"?>
-    &lt;site version="1.0">
-    &lt;!-- meta data of site -->
-&lt;site-info>
-&lt;site-name>${plugin.site.description}&lt;/site-name>
-&lt;site-url>${plugin.site.url}&lt;/site-url>
-&lt;/site-info>
-
-&lt;!-- plugins available on this site -->
-&lt;plugins>
-&lt;plugin id="${ant.project.name}" version="${plugin.version}">
-&lt;name>${ant.project.name}&lt;/name>
-&lt;description>${plugin.description}&lt;/description>
-&lt;resources>
-&lt;resource src="${plugin.site.url}${plugin.jar}"
-target="${josm.home.dir}/plugins/${plugin.jar}"/>
-&lt;/resources>
-&lt;/plugin>
-&lt;/plugins>
-&lt;/site>
-</echo>
-    </target>
-<!-- upload the site description and the jar file via ssh -->
-    <target name="upload" depends="dist,site">
-        <echo message="uploading jar and site description to ${plugin.site.upload.target}"/>
-        <exec executable="scp">
-            <arg value="${plugin.dist.dir}/${plugin.jar}"/>
-            <arg value="${plugin.site.file}"/>
-            <arg value="${plugin.site.upload.target}"/>
-        </exec>
-    </target>
-    <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete dir="${plugin.site.file}" />
-        <delete file="${plugin.dist.dir}/${plugin.jar}" />
+        <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>
 </project>
Index: /applications/editors/josm/plugins/osmarender/build.xml
===================================================================
--- /applications/editors/josm/plugins/osmarender/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/osmarender/build.xml	(revision 14003)
@@ -1,57 +1,55 @@
 <project name="osmarender" default="install" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-    <property name="josm" location="../../core/dist/josm-custom.jar" />
-    <property name="stylesheets" location="./stylesheets" />
-    <property name="xslt" location="./xslt" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="compile">
+    <property name="stylesheets"            location="./stylesheets"/>
+    <property name="xslt"                   location="./xslt"/>
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <mkdir dir="${plugin.build.dir}"></mkdir>
-        <mkdir dir="${plugin.dist.dir}"></mkdir>
-        <javac srcdir="src" debug="true" classpath="${josm}" destdir="${plugin.build.dir}">
-            <include name="**/*.java" />
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
     </target>
-    <target name="dist"  depends="compile">
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}" file="${xslt}/osmarender.xsl"/>
-        <copy tofile="${plugin.build.dir}/osm-map-features.xml"
-      file="${stylesheets}/osm-map-features-z17.xml"/>
-        <exec append="false" output="REVISION" executable="perl" failifexecutionfails="false">
+        <copy tofile="${plugin.build.dir}/osm-map-features.xml" file="${stylesheets}/osm-map-features-z17.xml"/>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="80n"/>
+                <attribute name="Plugin-Class" value="OsmarenderPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Launches FireFox to display the current visible screen as a nice SVG image."/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
+        <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
-            <arg value="../getrevision.pl"/>
-            <arg value="xslt"/>
-            <arg value="stylesheets"/>
+            <arg value="info"/>
+            <arg value="--xml"/>
+            <arg value="."/>
         </exec>
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="OsmarenderPlugin" />
-                <attribute name="Plugin-Description" value="Launches FireFox to display the current visible screen as a nice SVG image" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
-    <target name="install" depends="compile,dist">
+    <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>
Index: /applications/editors/josm/plugins/plastic_laf/build.xml
===================================================================
--- /applications/editors/josm/plugins/plastic_laf/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/plastic_laf/build.xml	(revision 14003)
@@ -1,19 +1,34 @@
 <project name="plastic_laf" default="dist" basedir=".">
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.home.dir"    value="${user.home}/.josm"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="dist">
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <unjar dest="${plugin.build.dir}" src="lib/looks-2.0.4.jar" />
-        <javac srcdir="src" destdir="${plugin.build.dir}">
-            <include name="**/*.java" />
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
-<!-- define the version of the jar file -->
+    </target>
+    <target name="dist" depends="compile,revision">
+        <unjar dest="${plugin.build.dir}" src="lib/looks-2.2.1.jar"/>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Imi"/>
+                <attribute name="Plugin-Class" value="plastic_laf.Plugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="The great JGoodies Plastic Look and Feel."/>
+                <attribute name="Plugin-Early" value="true"/>
+                <attribute name="Plugin-Link" value="http://www.jgoodies.com/"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -23,20 +38,18 @@
         </exec>
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
-<!-- delete intermediate file -->
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="plastic_laf.Plugin" />
-                <attribute name="Plugin-Description" value="The great JGoodies Plastic Look and Feel" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Early" value="true" />
-                <attribute name="Plugin-Mainversion" value="1180" />
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/remotecontrol/build.xml
===================================================================
--- /applications/editors/josm/plugins/remotecontrol/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/remotecontrol/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="remotecontrol" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,14 +10,26 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="build">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
         </javac>
     </target>
-    <target name="dist" depends="compile">
-        <copy todir="${plugin.build.dir}/images" >
-            <fileset dir="images" />
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Frederik Ramm"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.remotecontrol.RemoteControlPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Let other applications send commands to JOSM."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/RemoteControl"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -28,18 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.remotecontrol.RemoteControlPlugin"/>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Description" value="A plugin allowing other applications to send commands to JOSM." />
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Author" value="Frederik Ramm &lt;frederik@remote.org&gt;"/>
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/slippymap/build.xml
===================================================================
--- /applications/editors/josm/plugins/slippymap/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/slippymap/build.xml	(revision 14003)
@@ -1,24 +1,35 @@
 <project name="slippymap" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-    <target name="dist" depends="compile">
-<!-- images -->
-        <copy todir="build/images">
-            <fileset dir="images" />
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Frederik Ramm"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.slippymap.SlippyMapPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Displays a slippy map grid in JOSM. Can load tiles from slippy map as background and request updates."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/SlippyMap"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -29,29 +40,16 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-<!-- create josm-custom.jar -->
-        <jar destfile="${plugin.jar}" basedir="build">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.slippymap.SlippyMapPlugin" />
-                <attribute name="Plugin-Description" value="Displays a slippy map tile grid, and tile status info" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1180"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-            </manifest>
-        </jar>
-    </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="../../core/dist/josm-custom.jar" destdir="build">
-            <compilerarg value="-Xlint:deprecation"/>
-        </javac>
-    </target>
-    <target name="init">
-        <mkdir dir="${plugin.build.dir}" />
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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>
Index: /applications/editors/josm/plugins/surveyor/build.xml
===================================================================
--- /applications/editors/josm/plugins/surveyor/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/surveyor/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="surveyor" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -11,5 +11,5 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" destdir="${plugin.build.dir}" debug="true">
+        <javac srcdir="src" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
@@ -20,5 +20,29 @@
         </javac>
     </target>
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/">
+            <fileset dir="resources">
+                <include name="*.xml"/>
+                <include name="audio/*"/>
+            </fileset>
+        </copy>
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
+        </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Christof Dallermassl"/>
+                <attribute name="Plugin-Class" value="at.dallermassl.josm.plugin.surveyor.SurveyorPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Allow adding markers/nodes on current gps positions."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/Surveyor"/>
+                <attribute name="Plugin-Mainversion" value="1326"/>
+                <attribute name="Plugin-Requires" value="livegps"/>
+                <attribute name="Plugin-Stage" value="60"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -29,28 +53,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <copy todir="${plugin.build.dir}/">
-            <fileset dir="resources">
-                <include name="*.xml"/>
-                <include name="audio/*"/>
-            </fileset>
-        </copy>
-        <copy todir="${plugin.build.dir}/images" >
-            <fileset dir="images" />
-        </copy>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="at.dallermassl.josm.plugin.surveyor.SurveyorPlugin" />
-                <attribute name="Plugin-Description" value="Allow adding markers/nodes on current gps positions." />
-                <attribute name="Plugin-Stage" value="60" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1326" />
-                <attribute name="Plugin-Requires" value="livegps" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/tagging-preset-tester/build.xml
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/tagging-preset-tester/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="tagging-preset-tester" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,12 +10,26 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" destdir="${plugin.build.dir}" classpath="${josm}">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
         </javac>
     </target>
-    <target name="dist" depends="compile">
-        <copy todir="${plugin.build.dir}/images" >
-            <fileset dir="images" />
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Imi"/>
+                <attribute name="Main-Class" value="org.openstreetmap.josm.plugins.taggingpresettester.TaggingPresetTester"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.taggingpresettester.TaggingPresetTesterAction"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Adds a tagging preset tester to the help menu, which helps you developing of tagging presets (quick preview of the dialog that will popup). You can start the jar-file as standalone as well."/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -26,18 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Description" value="Make the Tagging Preset Tester tool available in the help menu." />
-                <attribute name="Main-Class" value="org.openstreetmap.josm.plugins.taggingpresettester.TaggingPresetTester" />
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.taggingpresettester.TaggingPresetTesterAction" />
-                <attribute name="Plugin-Mainversion" value="1364" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/tcxplugin/build.xml
===================================================================
--- /applications/editors/josm/plugins/tcxplugin/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/tcxplugin/build.xml	(revision 14003)
@@ -1,39 +1,44 @@
 <project name="tcx-support" default="dist" basedir=".">
-<!-- josm "user home" directory depends on the platform used (windows has a different place than unix/linux) -->
-    <property environment="env"/>
-    <condition property="josm.home.dir" value="${env.APPDATA}/JOSM" else="${user.home}/.josm">
-        <and>
-            <os family="windows"/>
-        </and>
-    </condition>
-<!-- compilation properties -->
-    <property name="josm.build.dir"   value="../../core"/>
-    <property name="josm.plugins.dir" value="${josm.home.dir}/plugins"/>
-    <property name="josm"         location="../../core/dist/josm-custom.jar" />
-    <property name="plugin.build.dir" value="build"/>
-    <property name="plugin.dist.dir"  value="../../dist"/>
-    <property name="plugin.name"      value="${ant.project.name}"/>
-    <property name="plugin.jar"       value="../../dist/${plugin.name}.jar"/>
-    <property name="livegpsplugin.jar" value="../../dist/livegps.jar"/>
-    <property name="plugin.description" value="Adds support for TCX files."/>
-    <property name="plugin.stage" value="100"/>
-    <property name="plugin.class" value="org.openstreetmap.josm.plugins.TcxPlugin"/>
-<!-- update site meta data -->
-    <property name="plugin.site.file" value="josm-site.xml"/>
-    <property name="plugin.site.description" value=""/>
-    <property name="plugin.site.url" value=""/>
-    <property name="plugin.site.upload.target" value=""/>
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
+    <property name="plugin.dist.dir"        value="../../dist"/>
+    <property name="plugin.build.dir"       value="build"/>
+    <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     <property name="ant.build.javac.target" value="1.5"/>
-<!-- All jar files necessary to run only JOSM (no tests) -->
-    <fileset id="josm_required_libs" dir="lib"></fileset>
-    <target name="dist" depends="compile,site">
-<!-- jars -->
-        <unjar dest="build">
-            <fileset refid="josm_required_libs" />
+    <target name="init">
+        <mkdir dir="${plugin.build.dir}"/>
+    </target>
+    <target name="compile" depends="init">
+        <echo message="creating ${plugin.jar}"/>
+        <javac srcdir="src" debug="false" destdir="${plugin.build.dir}">
+            <compilerarg value="-Xlint:deprecation"/>
+            <compilerarg value="-Xlint:unchecked"/>
+            <classpath>
+                <pathelement location="${josm}"/>
+                <fileset dir="lib">
+                    <include name="**/*.jar"/>
+                </fileset>
+            </classpath>
+        </javac>
+    </target>
+    <target name="dist" depends="compile,revision">
+        <unjar dest="${plugin.build.dir}">
+            <fileset dir="lib"/>
         </unjar>
-<!-- images -->
-        <copy todir="build/images">
-            <fileset dir="images" />
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Adrian Stabiszewski"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.TcxPlugin"/>
+                <attribute name="Plugin-Description" value="Directly load TCX files from JOSM."/>
+                <attribute name="Plugin-Stage" value="100"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -44,89 +49,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-<!-- create jar file -->
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="${plugin.class}" />
-                <attribute name="Plugin-Description" value="${plugin.description}" />
-                <attribute name="Plugin-Stage" value="${plugin.stage}" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1180" />
-<!--        <attribute name="Class-Path" value="lib/jaxb-api.jar;lib/jaxb-impl.jar" />-->
-            </manifest>
-        </jar>
     </target>
-    <target name="compile" depends="init">
-        <echo message="creating ${plugin.jar}"/>
-        <mkdir dir="${plugin.build.dir}"/>
-        <javac srcdir="src" destdir="${plugin.build.dir}" debug="true" source="1.5" target="1.5">
-            <classpath>
-                <pathelement path="${josm.build.dir}/build"/>
-                <fileset dir="${josm.build.dir}/lib">
-                    <include name="**/*.jar"/>
-                </fileset>
-                <fileset dir="./lib">
-                    <include name="**/*.jar"/>
-                </fileset>
-            </classpath>
-        </javac>
+    <target name="clean">
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
     </target>
     <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>
-    <target name="init">
-        <echo>java version: ${java.version}</echo>
-    </target>
-    <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete dir="${plugin.site.file}" />
-        <delete file="${plugin.jar}" />
-    </target>
-<!-- write site description for the given plugin so josm will accept it -->
-    <target name="site">
-        <echo message="creating site description in ${plugin.site.file}"/>
-        <echo file="${plugin.site.file}">&lt;!-- plugins available on this site -->
-  &lt;plugins>
-  &lt;plugin id="${ant.project.name}" version="${plugin.version}">
-  &lt;name>${ant.project.name}&lt;/name>
-  &lt;description>${plugin.description}&lt;/description>
-  &lt;resource>${plugin.site.url}${plugin.jar}&lt;/resource>
-  &lt;/plugin>
-  &lt;/plugins>
-</echo>
-    </target>
-<!-- write site description for the given plugin (not implemented in JOSM as full version yet!) -->
-    <target name="site-full-donotuse">
-        <echo message="creating site description in ${plugin.site.file}"/>
-        <echo file="${plugin.site.file}">&lt;?xml version="1.0"?>
-    &lt;site version="1.0">
-    &lt;!-- meta data of site -->
-&lt;site-info>
-&lt;site-name>${plugin.site.description}&lt;/site-name>
-&lt;site-url>${plugin.site.url}&lt;/site-url>
-&lt;/site-info>
-
-&lt;!-- plugins available on this site -->
-&lt;plugins>
-&lt;plugin id="${ant.project.name}" version="${plugin.version}">
-&lt;name>${ant.project.name}&lt;/name>
-&lt;description>${plugin.description}&lt;/description>
-&lt;resources>
-&lt;resource src="${plugin.site.url}${plugin.jar}"
-target="${josm.home.dir}/plugins/${plugin.jar}"/>
-&lt;/resources>
-&lt;/plugin>
-&lt;/plugins>
-&lt;/site>
-</echo>
-    </target>
-<!-- upload the site description and the jar file via ssh -->
-    <target name="upload" depends="dist,site">
-        <echo message="uploading jar and site description to ${plugin.site.upload.target}"/>
-        <exec executable="scp">
-            <arg value="${plugin.jar}"/>
-            <arg value="${plugin.site.file}"/>
-            <arg value="${plugin.site.upload.target}"/>
-        </exec>
-    </target>
 </project>
Index: /applications/editors/josm/plugins/terracer/build.xml
===================================================================
--- /applications/editors/josm/plugins/terracer/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/terracer/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="terracer" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,14 +10,25 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
         </javac>
     </target>
-    <target name="dist" depends="compile">
-        <copy todir="${plugin.build.dir}/images" >
-            <fileset dir="images" />
+    <target name="dist" depends="compile,revision">
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Matt Amos"/>
+                <attribute name="Plugin-Class" value="terracer.TerracerPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Make terraced houses out of single blocks."/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -28,17 +39,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="terracer.TerracerPlugin" />
-                <attribute name="Plugin-Description" value="Easy creation of individual terraced houses." />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}" />
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Mainversion" value="1280" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/usertools/build.xml
===================================================================
--- /applications/editors/josm/plugins/usertools/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/usertools/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="usertools" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,11 +10,22 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="build">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
         </javac>
     </target>
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Tim Waters"/>
+                <attribute name="Plugin-Class" value="usertools.UserToolsPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Tools to work with authors/users. Selects map data that belongs to selected user, opens browser showing selected author profile page."/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -25,17 +36,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="usertools.UserToolsPlugin" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Description" value="Tools to help work with authors/users.&lt;br&gt; Used with the author panel alt-a).&lt;br&gt; Opens up user profile and selects user's stuff on the map" />
-                <attribute name="Plugin-Mainversion" value="1213" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/utilsplugin/build.xml
===================================================================
--- /applications/editors/josm/plugins/utilsplugin/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/utilsplugin/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="utilsplugin" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,13 +10,25 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" destdir="${plugin.build.dir}" debug="true">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
         </javac>
     </target>
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
             <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Martijn van Oosterhout"/>
+                <attribute name="Plugin-Class" value="UtilsPlugin.UtilsPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Several utilities that make your life easier: e.g. simplify way, join areas, jump to position."/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -27,18 +39,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="UtilsPlugin.UtilsPlugin"/>
-                <attribute name="Plugin-Description" value="Useful JOSM utilities"/>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1373"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Author" value="Martijn van Oosterhout"/>
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/validator/build.xml
===================================================================
--- /applications/editors/josm/plugins/validator/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/validator/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="validator" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,14 +10,26 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}" encoding="UTF-8">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
         </javac>
     </target>
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/images">
             <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Francisco R. Santos"/>
+                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.validator.OSMValidatorPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="An OSM data validator. It checks for problems in data, and provides fixes for the common ones. Spellcheck integrated for tag names."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/Validator"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -28,18 +40,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.validator.OSMValidatorPlugin"/>
-                <attribute name="Plugin-Description" value="A OSM data validator"/>
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Mainversion" value="1200"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Author" value="Francisco R. Santos"/>
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
Index: /applications/editors/josm/plugins/wmsplugin/build.xml
===================================================================
--- /applications/editors/josm/plugins/wmsplugin/build.xml	(revision 14002)
+++ /applications/editors/josm/plugins/wmsplugin/build.xml	(revision 14003)
@@ -1,4 +1,4 @@
 <project name="wmsplugin" default="dist" basedir=".">
-    <property name="josm"                   location="../../core/dist/josm-custom.jar" />
+    <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     <property name="plugin.dist.dir"        value="../../dist"/>
     <property name="plugin.build.dir"       value="build"/>
@@ -10,17 +10,30 @@
     <target name="compile" depends="init">
         <echo message="creating ${plugin.jar}"/>
-        <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
+        <javac srcdir="src" classpath="${josm}" debug="false" destdir="${plugin.build.dir}">
             <compilerarg value="-Xlint:deprecation"/>
             <compilerarg value="-Xlint:unchecked"/>
-            <include name="**/*.java" />
         </javac>
     </target>
-    <target name="dist" depends="compile">
+    <target name="dist" depends="compile,revision">
         <copy todir="${plugin.build.dir}/resources">
             <fileset dir="resources"/>
         </copy>
-        <copy todir="${plugin.build.dir}/images" >
-            <fileset dir="images" />
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
         </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <manifest>
+                <attribute name="Author" value="Tim Waters, Petr Dlouhý"/>
+                <attribute name="Plugin-Class" value="wmsplugin.WMSPlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Display georeferenced images as background in JOSM (WMS servers, Yahoo, ...)."/>
+                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/WMSPlugin"/>
+                <attribute name="Plugin-Mainversion" value="1465"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+                <attribute name="de.Plugin-Link" value="http://wiki.openstreetmap.org/wiki/DE:JOSM/Plugins/WMSPlugin"/>
+            </manifest>
+        </jar>
+    </target>
+    <target name="revision">
         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
             <env key="LANG" value="C"/>
@@ -31,17 +44,17 @@
         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
         <delete file="REVISION"/>
-        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
-            <manifest>
-                <attribute name="Plugin-Class" value="wmsplugin.WMSPlugin" />
-                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
-                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Description" value="Allows external WMS resources to be displayed." />
-                <attribute name="Plugin-Mainversion" value="1379" />
-            </manifest>
-        </jar>
     </target>
     <target name="clean">
-        <delete dir="${plugin.build.dir}" />
-        <delete file="${plugin.jar}" />
+        <delete dir="${plugin.build.dir}"/>
+        <delete file="${plugin.jar}"/>
+    </target>
+    <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>
 </project>
