Index: trunk/netbeans/nbbuild.xml
===================================================================
--- trunk/netbeans/nbbuild.xml	(revision 8529)
+++ 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 8529)
+++ 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 8529)
+++ 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 8529)
+++ 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 8529)
+++ 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>
