Index: trunk/build.xml
===================================================================
--- trunk/build.xml	(revision 9764)
+++ trunk/build.xml	(revision 9765)
@@ -9,22 +9,32 @@
 **
 -->
-<project xmlns:as="antlib:org.codehaus.mojo.animal_sniffer" name="josm" default="dist" basedir="." xmlns:jacoco="antlib:org.jacoco.ant">
-    <property name="test.dir" location="test"/>
-    <property name="src.dir" location="src"/>
-    <property name="build.dir" location="build"/>
-    <property name="javacc.home" location="tools"/>
-    <property name="mapcss.dir" location="${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss"/>
-    <property name="epsg.output" location="data/projection/custom-epsg"/>
-    <property name="groovy.jar" location="tools/groovy-all-2.4.6-SNAPSHOT.jar"/>
-    <!-- build parameter: compression level (ant -Dclevel=N)
-             N ranges from 0 (no compression) to 9 (maximum compression)
-             default: 9 -->
-    <condition property="clevel" value="${clevel}" else="9">
-        <isset property="clevel"/>
-    </condition>
-    <!-- For Java9-specific stuff -->
-    <condition property="isJava9">
-        <equals arg1="${ant.java.version}" arg2="1.9" />
-    </condition>
+<project xmlns:as="antlib:org.codehaus.mojo.animal_sniffer" name="josm" default="dist" xmlns:jacoco="antlib:org.jacoco.ant">
+    <target name="init-properties">
+        <!-- Load properties in a target and not at top level, so this build file can be
+        imported from an IDE ant file (Netbeans) without messing up IDE properties.
+        When imported from another file, ${basedir} will point to the parent directory
+        of the importing ant file. Use ${base.dir} instead, which is always the parent
+        directory of this file. -->
+        <dirname property="base.dir" file="${ant.file.josm}"/>
+        <property name="test.dir" location="${base.dir}/test"/>
+        <property name="src.dir" location="${base.dir}/src"/>
+        <property name="build.dir" location="${base.dir}/build"/>
+        <property name="dist.dir" location="${base.dir}/dist"/>
+        <property name="javacc.home" location="${base.dir}/tools"/>
+        <property name="mapcss.dir" location="${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss"/>
+        <property name="proj-build.dir" location="${base.dir}/build2"/>
+        <property name="epsg.output" location="${base.dir}/data/projection/custom-epsg"/>
+        <property name="groovy.jar" location="${base.dir}/tools/groovy-all-2.4.6-SNAPSHOT.jar"/>
+        <!-- build parameter: compression level (ant -Dclevel=N)
+                 N ranges from 0 (no compression) to 9 (maximum compression)
+                 default: 9 -->
+        <condition property="clevel" value="${clevel}" else="9">
+            <isset property="clevel"/>
+        </condition>
+        <!-- For Java9-specific stuff -->
+        <condition property="isJava9">
+            <equals arg1="${ant.java.version}" arg2="1.9" />
+        </condition>
+    </target>
 
     <!--
@@ -39,6 +49,6 @@
       ** Initializes the REVISION.XML file from SVN information
     -->
-    <target name="init-svn-revision-xml">
-        <exec append="false" output="REVISION.XML" executable="svn" failifexecutionfails="false" resultproperty="svn.info.result">
+    <target name="init-svn-revision-xml" depends="init-properties">
+        <exec append="false" output="${base.dir}/REVISION.XML" executable="svn" dir="${base.dir}" failifexecutionfails="false" resultproperty="svn.info.result">
             <env key="LANG" value="C"/>
             <arg value="info"/>
@@ -53,6 +63,6 @@
       ** Initializes the REVISION.XML file from git information
     -->
-    <target name="init-git-revision-xml" unless="svn.info.success">
-        <exec append="false" output="REVISION.XML" executable="git" failifexecutionfails="false">
+    <target name="init-git-revision-xml" unless="svn.info.success" depends="init-properties">
+        <exec append="false" output="${base.dir}/REVISION.XML" executable="git" dir="${base.dir}" failifexecutionfails="false">
             <arg value="log"/>
             <arg value="-1"/>
@@ -66,5 +76,5 @@
             <arg value="HEAD"/>
         </exec>
-        <replaceregexp file="REVISION.XML" flags="s"
+        <replaceregexp file="${base.dir}/REVISION.XML" flags="s"
                        match=".*git-svn-id: [^@]*@([0-9]+).*(\d{4}-\d{2}-\d{2}.\d{2}\:\d{2}\:\d{2}\s*[+-]\d{2}:?\d{2})\s*$"
                        replace="&lt;info&gt;&lt;entry&gt;&lt;commit revision=&quot;\1&quot;&gt;&lt;date&gt;\2&lt;/date&gt;&lt;/commit&gt;&lt;/entry&gt;&lt;/info&gt;"/>
@@ -73,8 +83,8 @@
       ** Creates the REVISION file to be included in the distribution
     -->
-    <target name="create-revision" depends="init-svn-revision-xml, init-git-revision-xml">
+    <target name="create-revision" depends="init-properties,init-svn-revision-xml,init-git-revision-xml">
         <property name="revision.dir" value="${build.dir}"/>
-        <xmlproperty file="REVISION.XML" prefix="version" keepRoot="false" collapseAttributes="true"/>
-        <delete file="REVISION.XML"/>
+        <xmlproperty file="${base.dir}/REVISION.XML" prefix="version" keepRoot="false" collapseAttributes="true"/>
+        <delete file="${base.dir}/REVISION.XML"/>
         <tstamp>
             <format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss"/>
@@ -94,5 +104,5 @@
       ** Check internal XML files against their XSD
     -->
-    <target name="check-schemas" unless="check-schemas.notRequired">
+    <target name="check-schemas" unless="check-schemas.notRequired" depends="init-properties">
         <schemavalidate file="data/defaultpresets.xml" >
             <schema namespace="http://josm.openstreetmap.de/tagging-preset-1.0" file="data/tagging-preset.xsd" />
@@ -108,6 +118,6 @@
         <copy file="LICENSE" todir="build"/>
         <!-- create josm-custom.jar -->
-        <delete file="dist/josm-custom.jar"/>
-        <jar destfile="dist/josm-custom.jar" basedir="build" level="${clevel}">
+        <delete file="${dist.dir}/josm-custom.jar"/>
+        <jar destfile="${dist.dir}/josm-custom.jar" basedir="${build.dir}" level="${clevel}">
             <!-- add attribute excludes="**/*BZip2*,**/*Bzip2*" to create a non-bzip2 supporting jar -->
             <manifest>
@@ -126,5 +136,5 @@
     </target>
     <!-- Mac OS X target -->
-    <target name="mac">
+    <target name="mac" depends="init-properties">
         <!-- Using https://bitbucket.org/infinitekind/appbundler to create mac application bundle -->
         <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="tools/appbundler-1.0ea.jar"/>
@@ -156,8 +166,8 @@
             <option value="-Dcom.apple.smallTabs=true"/>
         </bundleapp>
-        
+
         <!-- appbundler lacks the possibility of defining our own keys or using a template, so update the .plist manually -->
         <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask" classpath="tools/xmltask.jar"/>
-        
+
         <xmltask source="${bundle.outdir}/JOSM.app/Contents/Info.plist" dest="${bundle.outdir}/JOSM.app/Contents/Info.plist" indent="false">
             <!-- remove empty CFBundleDocumentTypes definition -->
@@ -166,5 +176,5 @@
             <insert position="before" path="/plist/dict/key[1]" file="macosx/JOSM.app/Contents/Info.plist_template.xml" />
         </xmltask>
-        
+
         <!-- create ZIP file with MacOS X application bundle -->
         <zip destfile="${bundle.outdir}/josm-custom-macosx.zip" update="true">
@@ -175,6 +185,6 @@
     <target name="distmac" depends="dist">
         <antcall target="mac">
-            <param name="bundle.outdir" value="dist"/>
-            <param name="bundle.jar" value="dist/josm-custom.jar"/>
+            <param name="bundle.outdir" value="${dist.dir}"/>
+            <param name="bundle.jar" value="${dist.dir}/josm-custom.jar"/>
         </antcall>
     </target>
@@ -226,5 +236,5 @@
         </javac>
         <!-- JMapViewer -->
-        <javac sourcepath="" srcdir="${src.dir}" excludes="com/**,oauth/**,org/apache/commons/**,org/glassfish/**,org/openstreetmap/gui/jmapviewer/Demo.java,org/openstreetmap/josm/**,JOSM.java,gnu/**" 
+        <javac sourcepath="" srcdir="${src.dir}" excludes="com/**,oauth/**,org/apache/commons/**,org/glassfish/**,org/openstreetmap/gui/jmapviewer/Demo.java,org/openstreetmap/josm/**,JOSM.java,gnu/**"
             destdir="build" target="1.7" source="1.7" debug="on" includeantruntime="false" createMissingPackageInfoClass="false" encoding="UTF-8">
             <compilerarg value="-Xlint:cast"/>
@@ -243,5 +253,5 @@
         </javac>
         <!-- JOSM -->
-        <javac sourcepath="" srcdir="${src.dir}" excludes="com/**,oauth/**,org/apache/commons/**,org/glassfish/**,org/openstreetmap/gui/jmapviewer/Demo.java" 
+        <javac sourcepath="" srcdir="${src.dir}" excludes="com/**,oauth/**,org/apache/commons/**,org/glassfish/**,org/openstreetmap/gui/jmapviewer/Demo.java"
             destdir="build" target="1.7" source="1.7" debug="on" includeantruntime="false" createMissingPackageInfoClass="false" encoding="UTF-8">
             <compilerarg value="-Xlint:cast"/>
@@ -264,15 +274,15 @@
         </copy>
     </target>
-    <target name="init">
+    <target name="init" depends="init-properties">
         <uptodate property="javacc.notRequired" targetfile="${mapcss.dir}/parsergen/MapCSSParser.java" >
             <srcfiles dir="${mapcss.dir}" includes="MapCSSParser.jj"/>
         </uptodate>
-        <mkdir dir="build"/>
-        <mkdir dir="dist"/>
-    </target>
-    <target name="javadoc">
-        <javadoc destdir="javadoc" 
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${dist.dir}"/>
+    </target>
+    <target name="javadoc" depends="init-properties">
+        <javadoc destdir="javadoc"
                 sourcepath="${src.dir}"
-                encoding="UTF-8"    
+                encoding="UTF-8"
                 packagenames="org.openstreetmap.josm.*,org.openstreetmap.gui.jmapviewer.*"
                 excludepackagenames="org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.*"
@@ -287,8 +297,8 @@
         </javadoc>
     </target>
-    <target name="clean">
-        <delete dir="build"/>
-        <delete dir="build2"/>
-        <delete dir="dist"/>
+    <target name="clean" depends="init-properties">
+        <delete dir="${build.dir}"/>
+        <delete dir="${proj-build.dir}"/>
+        <delete dir="${dist.dir}"/>
         <delete dir="${mapcss.dir}/parsergen"/>
         <delete file="${src.dir}/org/w3/_2001/xmlschema/Adapter1.java"/>
@@ -300,5 +310,5 @@
             <include name="**/*.jar"/>
         </fileset>
-        <pathelement path="dist/josm-custom.jar"/>
+        <pathelement path="${dist.dir}/josm-custom.jar"/>
         <pathelement path="${groovy.jar}"/>
         <pathelement path="tools/findbugs/annotations.jar"/>
@@ -312,5 +322,5 @@
         </sequential>
     </macrodef>
-    <target name="test-init">
+    <target name="test-init" depends="init-properties">
         <mkdir dir="${test.dir}/build"/>
         <mkdir dir="${test.dir}/build/unit"/>
@@ -323,5 +333,5 @@
         <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml" classpath="tools/jacocoant.jar" />
     </target>
-    <target name="test-clean">
+    <target name="test-clean" depends="init-properties">
         <delete dir="${test.dir}/build"/>
         <delete dir="${test.dir}/report"/>
@@ -527,5 +537,5 @@
                 <tokenfilter>
                     <replaceregex pattern="\|$" replace="" flags="gi"/>
-                </tokenfilter>    
+                </tokenfilter>
             </filterchain>
         </loadresource>
@@ -547,5 +557,5 @@
         <as:build-signatures destfile="${dir}/api.sig">
             <path>
-                <fileset file="dist/josm-custom-optimized.jar"/>
+                <fileset file="${dist.dir}/josm-custom-optimized.jar"/>
                 <fileset file="${java.home}/lib/rt.jar"/>
                 <fileset file="${java.home}/lib/jce.jar"/>
@@ -594,5 +604,5 @@
         <sequential>
             <echo message="Generating Taginfo for type @{type} to @{output}"/>
-            <groovy src="${taginfoextract}" classpath="dist/josm-custom.jar">
+            <groovy src="${taginfoextract}" classpath="${dist.dir}/josm-custom.jar">
                 <arg value="-t"/>
                 <arg value="@{type}"/>
@@ -616,8 +626,8 @@
     </target>
 
-    <target name="imageryindex">
+    <target name="imageryindex" depends="init-properties">
         <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpath="${groovy.jar};tools/commons-cli-1.3.1.jar"/>
         <echo message="Checking editor imagery difference"/>
-        <groovy src="scripts/sync_editor_imagery_index.groovy" classpath="dist/josm-custom.jar">
+        <groovy src="scripts/sync_editor_imagery_index.groovy" classpath="${dist.dir}/josm-custom.jar">
             <arg value="-nomissingeii"/>
         </groovy>
@@ -640,11 +650,11 @@
     </target>
 
-    <target name="checkstyle">
-        <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties" 
+    <target name="checkstyle" depends="init-properties">
+        <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties"
              classpath="tools/checkstyle/checkstyle-6.15-all.jar"/>
         <checkstyle config="tools/checkstyle/josm_checks.xml">
-            <fileset dir="${basedir}/src/org/openstreetmap/josm" includes="**/*.java" 
+            <fileset dir="${base.dir}/src/org/openstreetmap/josm" includes="**/*.java"
                 excludes="gui/mappaint/mapcss/parsergen/*.java"/>
-            <fileset dir="${basedir}/test" includes="**/*.java"/>
+            <fileset dir="${base.dir}/test" includes="**/*.java"/>
             <formatter type="xml" toFile="checkstyle-josm.xml"/>
         </checkstyle>
@@ -654,5 +664,5 @@
         <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="tools/findbugs/findbugs-ant.jar"/>
         <path id="findbugs-classpath">
-            <fileset dir="tools/findbugs/">
+            <fileset dir="${base.dir}/tools/findbugs/">
                 <include name="*.jar"/>
             </fileset>
@@ -666,10 +676,10 @@
                 effort="max"
                 >
-            <sourcePath path="${basedir}/src" />
-            <class location="${basedir}/dist/josm-custom.jar" />
+            <sourcePath path="${base.dir}/src" />
+            <class location="${dist.dir}/josm-custom.jar" />
         </findbugs>
     </target>
     <target name="run" depends="dist">
-        <java jar="dist/josm-custom.jar" fork="true">
+        <java jar="${dist.dir}/josm-custom.jar" fork="true">
             <arg value="--set=expert=true"/>
             <arg value="--set=remotecontrol.enabled=true"/>
@@ -678,12 +688,19 @@
         </java>
     </target>
-    <!-- compile build script for generating projection list -->
-    <target name="epsg-compile" depends="compile">
-        <mkdir dir="build2"/>
-        <javac sourcepath="" srcdir="scripts" failonerror="true"
-            destdir="build2" target="1.7" source="1.7" debug="on" includeantruntime="false" createMissingPackageInfoClass="false" encoding="UTF-8" classpath="build">
+    <!--
+      ** Compile build script for generating projection list.
+    -->
+    <target name="epsg-compile">
+        <property name="proj-classpath" location="${build.dir}"/>
+        <mkdir dir="${proj-build.dir}"/>
+        <javac sourcepath="" srcdir="${base.dir}/scripts" failonerror="true"
+            destdir="${proj-build.dir}" target="1.7" source="1.7" debug="on"
+            includeantruntime="false" createMissingPackageInfoClass="false"
+            encoding="UTF-8" classpath="${proj-classpath}">
         </javac>
     </target>
-    <!-- generate projection list -->
+    <!--
+      ** generate projection list.
+    -->
     <target name="epsg" depends="epsg-compile">
         <touch file="${epsg.output}"/>
@@ -691,9 +708,9 @@
             <sysproperty key="java.awt.headless" value="true"/>
             <classpath>
-                <pathelement path="."/>
-                <pathelement path="build"/>
-                <pathelement path="build2"/>
+                <pathelement path="${base.dir}"/>
+                <pathelement path="${proj-classpath}"/>
+                <pathelement path="${proj-build.dir}"/>
             </classpath>
-            <arg value="${basedir}"/>
+            <arg value="${base.dir}"/>
         </java>
     </target>
Index: trunk/netbeans/nbbuild.xml
===================================================================
--- trunk/netbeans/nbbuild.xml	(revision 9764)
+++ trunk/netbeans/nbbuild.xml	(revision 9765)
@@ -8,20 +8,16 @@
 <!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
 <!-- in the project's Project Properties dialog box.-->
-<project name="josm" default="default" basedir=".">
+<project name="josmnb" default="default" basedir=".">
     <description>Builds, tests, and runs the project josm.</description>
 
-    <property name="javacc.home" location="../tools"/>
-    <property name="mapcss.dir" location="../src/org/openstreetmap/josm/gui/mappaint/mapcss"/>
-    <!-- For Windows-specific stuff -->
-    <condition property="isWindows">
-        <os family="Windows"/>
-    </condition>
+    <import file="nbproject/build-impl.xml" as="nbimpl"/>
 
-    <import file="nbproject/build-impl.xml"/>
+    <import file="../build.xml" as="josmbase"/> <!-- import the main JOSM ant file -->
+
     <!--
 
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. They are: 
+    There exist several targets which are by default empty and which can be
+    used for execution of your tasks. These targets are usually executed
+    before and after some main targets. They are:
 
       -pre-init:                 called before initialization of project properties
@@ -49,10 +45,10 @@
         </target>
 
-    For list of available properties check the imported 
-    nbproject/build-impl.xml file. 
+    For list of available properties check the imported
+    nbproject/build-impl.xml file.
 
 
     Another way to customize the build is by overriding existing main targets.
-    The targets of interest are: 
+    The targets of interest are:
 
       -init-macrodef-javac:     defines macro for javac compilation
@@ -60,7 +56,6 @@
       -init-macrodef-debug:     defines macro for class debugging
       -init-macrodef-java:      defines macro for class execution
-      -do-jar-with-manifest:    JAR building (if you are using a manifest)
-      -do-jar-without-manifest: JAR building (if you are not using a manifest)
-      run:                      execution of project 
+      -do-jar:                  JAR building
+      run:                      execution of project
       -javadoc-build:           Javadoc generation
       test-report:              JUnit report generation
@@ -74,55 +69,47 @@
         </target>
 
-    Notice that the overridden target depends on the jar target and not only on 
-    the compile target as the regular run target does. Again, for a list of available 
+    Notice that the overridden target depends on the jar target and not only on
+    the compile target as the regular run target does. Again, for a list of available
     properties which you can use, check the target you are overriding in the
-    nbproject/build-impl.xml file. 
+    nbproject/build-impl.xml file.
 
     -->
-    
-    <target name="-post-compile">
-    <!-- create the REVISION file to be included in the distribution -->
-		<exec append="false" output="REVISION.XML" executable="svn" dir=".." failifexecutionfails="false">
-			<env key="LANG" value="C"/>
-			<arg value="info"/>
-			<arg value="--xml"/>
-			<arg value="."/>
-		</exec>
-		<xmlproperty file="REVISION.XML" prefix="version" keepRoot="false" collapseAttributes="true"/>
-		<delete file="REVISION.XML" />
-		<tstamp>
-			<format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss"/>
-		</tstamp>
 
-		<property name="version.entry.commit.revision" value="UNKNOWN"/>
-		<echo file="${build.classes.dir}/REVISION">
-# automatically generated by JOSM build.xml - do not edit
-Revision: ${version.entry.commit.revision}
-Is-Local-Build: true
-Build-Date: ${build.tstamp}
-</echo>
-	</target>
+    <!--
+      ** Copy resource file required on classpath.
+    -->
+    <target name="copy-josm-resources">
+        <copy file="../CONTRIBUTION" todir="${build.classes.dir}"/>
+        <copy file="../README" todir="${build.classes.dir}"/>
+        <copy file="../LICENSE" todir="${build.classes.dir}"/>
+        <copy file="../gpl-2.0.txt" todir="${build.classes.dir}" />
+        <copy file="../gpl-3.0.txt" todir="${build.classes.dir}" />
+        <copy todir="${build.classes.dir}/images"><fileset dir="../images"/></copy>
+        <copy todir="${build.classes.dir}/data"><fileset dir="../data"/></copy>
+        <copy todir="${build.classes.dir}/styles"><fileset dir="../styles"/></copy>
+        <copy todir="${build.classes.dir}/org/openstreetmap/gui/jmapviewer/images">
+            <fileset dir="../src/org/openstreetmap/gui/jmapviewer/images"/>
+        </copy>
+    </target>
 
-    <target name="check-javacc">
-        <uptodate property="javacc.notRequired" targetfile="${mapcss.dir}/parsergen/MapCSSParser.java" >
-            <srcfiles dir="${mapcss.dir}" includes="MapCSSParser.jj"/>
-        </uptodate>
-    </target>	
-    <target name="javacc" depends="check-javacc" unless="javacc.notRequired">
-        <mkdir dir="${mapcss.dir}/parsergen"/>
-        <exec append="false" executable="java" failifexecutionfails="true">
-            <arg value="-cp"/>
-            <arg value="${javacc.home}/javacc.jar"/>
-            <arg value="javacc"/>
-            <arg value="-DEBUG_PARSER=false"/>
-            <arg value="-DEBUG_TOKEN_MANAGER=false"/>
-            <arg value="-JDK_VERSION=1.7"/>
-            <arg value="-GRAMMAR_ENCODING=UTF-8"/>
-            <arg value="-OUTPUT_DIRECTORY=${mapcss.dir}/parsergen"/>
-            <arg value="${mapcss.dir}/MapCSSParser.jj"/>
-        </exec>
+    <!--
+      ** Customize some properties used by the main JOSM ant file.
+    -->
+    <target name="set-josmbase-properties" depends="-init-project">
+        <property name="revision.dir" value="${build.classes.dir}"/>
+        <property name="proj-build.dir" location="${build.dir}/build2"/>
+        <property name="proj-classpath" location="${build.classes.dir}"/>
     </target>
-    <target name="-pre-compile" depends="javacc">
-<!--        <javacc target="${mapcss.dir}/MapCSSParser.jj" javacchome="${javacc.home}" outputdirectory="${mapcss.dir}/parsergen"/>-->
-    </target>    
+
+    <!--
+      ** Make sure properties are loaded in the right order.
+      ** E.g. ${build.dir} is set both by Netbeans and by the main JOSM ant file.
+      ** Load the Netbeans properties first, which makes the values permanent.
+    -->
+    <target name="init-josmbase" depends="-init-project, set-josmbase-properties, josmbase.init-properties"/>
+
+    <target name="-pre-compile" depends="init-josmbase, josmbase.javacc"/>
+
+    <target name="-post-compile" depends="init-josmbase, josmbase.epsg, josmbase.create-revision, copy-josm-resources"/>
+
 </project>
Index: trunk/netbeans/nbproject/configs/unit-test.properties
===================================================================
--- trunk/netbeans/nbproject/configs/unit-test.properties	(revision 9765)
+++ trunk/netbeans/nbproject/configs/unit-test.properties	(revision 9765)
@@ -0,0 +1,1 @@
+run.jvmargs=-Djava.awt.headless=true
Index: trunk/netbeans/nbproject/genfiles.properties
===================================================================
--- trunk/netbeans/nbproject/genfiles.properties	(revision 9764)
+++ trunk/netbeans/nbproject/genfiles.properties	(revision 9765)
@@ -1,8 +1,8 @@
-nbbuild.xml.data.CRC32=2a1d7942
-nbbuild.xml.script.CRC32=cf6b78f3
-nbbuild.xml.stylesheet.CRC32=28e38971@1.38.2.45
+nbbuild.xml.data.CRC32=34ed5462
+nbbuild.xml.script.CRC32=148a2ea3
+nbbuild.xml.stylesheet.CRC32=8064a381@1.75.2.48
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=e047155d
-nbproject/build-impl.xml.script.CRC32=63445536
-nbproject/build-impl.xml.stylesheet.CRC32=5a01deb7@1.68.1.46
+nbproject/build-impl.xml.data.CRC32=f36994fb
+nbproject/build-impl.xml.script.CRC32=05416174
+nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48
Index: trunk/netbeans/nbproject/private/config.properties
===================================================================
--- trunk/netbeans/nbproject/private/config.properties	(revision 9764)
+++ trunk/netbeans/nbproject/private/config.properties	(revision 9765)
@@ -0,0 +1,1 @@
+config=local_preferences
Index: trunk/netbeans/nbproject/private/configs/local_preferences.properties
===================================================================
--- trunk/netbeans/nbproject/private/configs/local_preferences.properties	(revision 9765)
+++ trunk/netbeans/nbproject/private/configs/local_preferences.properties	(revision 9765)
@@ -0,0 +1,1 @@
+work.dir=..
Index: trunk/netbeans/nbproject/private/configs/unit-test.properties
===================================================================
--- trunk/netbeans/nbproject/private/configs/unit-test.properties	(revision 9765)
+++ trunk/netbeans/nbproject/private/configs/unit-test.properties	(revision 9765)
@@ -0,0 +1,1 @@
+work.dir=..
Index: trunk/netbeans/nbproject/project.properties
===================================================================
--- trunk/netbeans/nbproject/project.properties	(revision 9764)
+++ trunk/netbeans/nbproject/project.properties	(revision 9765)
@@ -1,3 +1,3 @@
-annotation.processing.enabled=false
+annotation.processing.enabled=true
 annotation.processing.enabled.in.editor=false
 annotation.processing.processors.list=
@@ -24,4 +24,6 @@
 debug.test.classpath=\
     ${run.test.classpath}
+# Files in build.classes.dir which should be excluded from distribution jar
+dist.archive.excludes=
 # This directory is removed when the project is cleaned:
 dist.dir=dist
@@ -29,15 +31,31 @@
 dist.javadoc.dir=${dist.dir}/javadoc
 endorsed.classpath=
-excludes=org/apache/commons/compress/compressors/CompressorStreamFactory.java,org/apache/commons/jcs/admin/servlet/**,org/apache/commons/jcs/auxiliary/disk/jdbc/**,org/apache/commons/jcs/auxiliary/remote/http/**,org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheStartupServlet.java,org/apache/commons/jcs/utils/servlet/**,org/apache/commons/logging/impl/AvalonLogger.java,org/apache/commons/logging/impl/Jdk13LumberjackLogger.java,org/apache/commons/logging/impl/Log4JLogger.java,org/apache/commons/logging/impl/LogKitLogger.java,org/apache/commons/logging/impl/ServletContextCleaner.java
+excludes=org/apache/commons/compress/compressors/lzma/**,org/apache/commons/compress/compressors/xz/**,org/apache/commons/compress/compressors/CompressorStreamFactory.java,org/apache/commons/compress/compressors/deflate/**,org/apache/commons/compress/compressors/gzip/**,org/apache/commons/compress/compressors/lzw/**,org/apache/commons/compress/compressors/pack200/**,org/apache/commons/compress/compressors/snappy/**,org/apache/commons/compress/compressors/z/**,org/apache/commons/jcs/admin/servlet/**,org/apache/commons/jcs/auxiliary/disk/jdbc/**,org/apache/commons/jcs/auxiliary/remote/http/**,org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheStartupServlet.java,org/apache/commons/jcs/utils/servlet/**,org/apache/commons/logging/impl/AvalonLogger.java,org/apache/commons/logging/impl/Jdk13LumberjackLogger.java,org/apache/commons/logging/impl/Log4JLogger.java,org/apache/commons/logging/impl/LogKitLogger.java,org/apache/commons/logging/impl/ServletContextCleaner.java,org/openstreetmap/gui/jmapviewer/Demo.java
+file.reference.commons-collections-3.2.jar=../test/lib/unitils-core/commons-collections-3.2.jar
+file.reference.commons-lang-2.3.jar=../test/lib/unitils-core/commons-lang-2.3.jar
+file.reference.commons-logging-1.1.jar=../test/lib/unitils-core/commons-logging-1.1.jar
 file.reference.core-src=../src
-file.reference.core=..
+file.reference.debug-1.0.jar=../test/lib/fest/debug-1.0.jar
+file.reference.equalsverifier-1.7.6.jar=../test/lib/equalsverifier-1.7.6.jar
+file.reference.fest-assert-1.0.jar=../test/lib/fest/fest-assert-1.0.jar
+file.reference.fest-reflect-1.1.jar=../test/lib/fest/fest-reflect-1.1.jar
+file.reference.fest-swing-1.1.jar=../test/lib/fest/fest-swing-1.1.jar
+file.reference.fest-util-1.0.jar=../test/lib/fest/fest-util-1.0.jar
+file.reference.findbugs.jar=../tools/findbugs/findbugs.jar
+file.reference.hamcrest-core-1.3.jar=../test/lib/junit/hamcrest-core-1.3.jar
+file.reference.jcip-annotations-1.0.jar=../test/lib/fest/jcip-annotations-1.0.jar
+file.reference.jfcunit.jar=../test/lib/jfcunit.jar
+file.reference.junit-4.12.jar=../test/lib/junit/junit-4.12.jar
+file.reference.MRJToolkitStubs-1.0.jar=../test/lib/fest/MRJToolkitStubs-1.0.jar
+file.reference.ognl-2.6.9.jar=../test/lib/unitils-core/ognl-2.6.9.jar
+file.reference.test-functional=../test/functional
+file.reference.test-performance=../test/performance
 file.reference.test-unit=../test/unit
-includes=org/apache/commons/compress/compressors/*.java,org/apache/commons/compress/compressors/bzip2/*.java,org/apache/commons/codec/**/*.java,org/glassfish/**/*.java,org/jdesktop/**/*.java,org/openstreetmap/**/*.java,org/w3/**/*.java,gnu/**/*.java,javax/**/*.java,oauth/**/*.java,com/**/*.java,org/apache/commons/logging/**/*.java,org/apache/commons/jcs/**/*.java,images/**,org/openstreetmap/gui/**/*.png,data/**,styles/**,LICENSE,README,CONTRIBUTION,gpl-2.0.txt,gpl-3.0.txt
-jar.archive.disabled=${jnlp.enabled}
+file.reference.unitils-core-3.4.2.jar=../test/lib/unitils-core/unitils-core-3.4.2.jar
+includes=**/*.java
 jar.compress=false
-jar.index=${jnlp.enabled}
 javac.classpath=
 # Space-separated list of extra javac options
-javac.compilerargs=-Xlint:unchecked -Xlint:cast -Xlint:dep-ann -Xlint:divzero -Xlint:empty -Xlint:finally -Xlint:overrides -Xlint:static -Xlint:try  -Xlint:deprecation  
+javac.compilerargs=-Xlint:unchecked -Xlint:cast -Xlint:dep-ann -Xlint:divzero -Xlint:empty -Xlint:finally -Xlint:overrides -Xlint:static -Xlint:try  -Xlint:deprecation
 javac.deprecation=true
 javac.processorpath=\
@@ -48,6 +66,21 @@
     ${javac.classpath}:\
     ${build.classes.dir}:\
-    ${libs.junit.classpath}:\
-    ${libs.junit_4.classpath}
+    ${file.reference.junit-4.12.jar}:\
+    ${file.reference.equalsverifier-1.7.6.jar}:\
+    ${file.reference.jfcunit.jar}:\
+    ${file.reference.hamcrest-core-1.3.jar}:\
+    ${file.reference.MRJToolkitStubs-1.0.jar}:\
+    ${file.reference.debug-1.0.jar}:\
+    ${file.reference.fest-assert-1.0.jar}:\
+    ${file.reference.fest-reflect-1.1.jar}:\
+    ${file.reference.fest-swing-1.1.jar}:\
+    ${file.reference.fest-util-1.0.jar}:\
+    ${file.reference.jcip-annotations-1.0.jar}:\
+    ${file.reference.commons-collections-3.2.jar}:\
+    ${file.reference.commons-lang-2.3.jar}:\
+    ${file.reference.commons-logging-1.1.jar}:\
+    ${file.reference.ognl-2.6.9.jar}:\
+    ${file.reference.unitils-core-3.4.2.jar}:\
+    ${file.reference.findbugs.jar}
 javac.test.processorpath=\
     ${javac.test.classpath}
@@ -63,13 +96,4 @@
 javadoc.version=false
 javadoc.windowtitle=
-jnlp.codebase.type=no.codebase
-jnlp.descriptor=application
-jnlp.enabled=false
-jnlp.mixed.code=default
-jnlp.offline-allowed=false
-jnlp.signed=false
-jnlp.signing=
-jnlp.signing.alias=
-jnlp.signing.keystore=
 main.class=org.openstreetmap.josm.gui.MainApplication
 manifest.file=manifest.mf
@@ -84,5 +108,6 @@
     ${build.test.classes.dir}
 source.encoding=UTF-8
-src.core.dir=${file.reference.core}
 src.dir=${file.reference.core-src}
+test.functional.dir=${file.reference.test-functional}
+test.performance.dir=${file.reference.test-performance}
 test.unit.dir=${file.reference.test-unit}
Index: trunk/netbeans/nbproject/project.xml
===================================================================
--- trunk/netbeans/nbproject/project.xml	(revision 9764)
+++ trunk/netbeans/nbproject/project.xml	(revision 9765)
@@ -7,8 +7,9 @@
             <source-roots>
                 <root id="src.dir"/>
-                <root id="src.core.dir"/>
             </source-roots>
             <test-roots>
-                <root id="test.unit.dir"/>
+                <root id="test.unit.dir" name="Unit Tests"/>
+                <root id="test.functional.dir" name="Functional Tests"/>
+                <root id="test.performance.dir" name="Performance Tests"/>
             </test-roots>
         </data>
