1.1 --- a/samples/openfixed/nbproject/build-impl.xml Wed Aug 08 22:42:33 2012 +0200
1.2 +++ b/samples/openfixed/nbproject/build-impl.xml Wed Aug 08 23:00:39 2012 +0200
1.3 @@ -12,18 +12,18 @@
1.4 - execution
1.5 - debugging
1.6 - javadoc
1.7 - - junit compilation
1.8 - - junit execution
1.9 - - junit debugging
1.10 + - test compilation
1.11 + - test execution
1.12 + - test debugging
1.13 - applet
1.14 - cleanup
1.15
1.16 -->
1.17 <project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="openfixed-impl">
1.18 - <fail message="Please build using Ant 1.7.1 or higher.">
1.19 + <fail message="Please build using Ant 1.8.0 or higher.">
1.20 <condition>
1.21 <not>
1.22 - <antversion atleast="1.7.1"/>
1.23 + <antversion atleast="1.8.0"/>
1.24 </not>
1.25 </condition>
1.26 </fail>
1.27 @@ -156,6 +156,7 @@
1.28 </and>
1.29 </condition>
1.30 <property name="run.jvmargs" value=""/>
1.31 + <property name="run.jvmargs.ide" value=""/>
1.32 <property name="javac.compilerargs" value=""/>
1.33 <property name="work.dir" value="${basedir}"/>
1.34 <condition property="no.deps">
1.35 @@ -198,7 +199,29 @@
1.36 <property name="javac.fork" value="${jdkBug6558476}"/>
1.37 <property name="jar.index" value="false"/>
1.38 <property name="jar.index.metainf" value="${jar.index}"/>
1.39 + <property name="copylibs.rebase" value="true"/>
1.40 <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
1.41 + <condition property="junit.available">
1.42 + <or>
1.43 + <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
1.44 + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
1.45 + </or>
1.46 + </condition>
1.47 + <condition property="testng.available">
1.48 + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
1.49 + </condition>
1.50 + <condition property="junit+testng.available">
1.51 + <and>
1.52 + <istrue value="${junit.available}"/>
1.53 + <istrue value="${testng.available}"/>
1.54 + </and>
1.55 + </condition>
1.56 + <condition else="testng" property="testng.mode" value="mixed">
1.57 + <istrue value="${junit+testng.available}"/>
1.58 + </condition>
1.59 + <condition else="" property="testng.debug.mode" value="-mixed">
1.60 + <istrue value="${junit+testng.available}"/>
1.61 + </condition>
1.62 </target>
1.63 <target name="-post-init">
1.64 <!-- Empty placeholder for easier customization. -->
1.65 @@ -331,11 +354,52 @@
1.66 </sequential>
1.67 </macrodef>
1.68 </target>
1.69 - <target name="-init-macrodef-junit">
1.70 + <target if="${junit.available}" name="-init-macrodef-junit-init">
1.71 + <condition else="false" property="nb.junit.batch" value="true">
1.72 + <and>
1.73 + <istrue value="${junit.available}"/>
1.74 + <not>
1.75 + <isset property="test.method"/>
1.76 + </not>
1.77 + </and>
1.78 + </condition>
1.79 + <condition else="false" property="nb.junit.single" value="true">
1.80 + <and>
1.81 + <istrue value="${junit.available}"/>
1.82 + <isset property="test.method"/>
1.83 + </and>
1.84 + </condition>
1.85 + </target>
1.86 + <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
1.87 <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
1.88 <attribute default="${includes}" name="includes"/>
1.89 <attribute default="${excludes}" name="excludes"/>
1.90 <attribute default="**" name="testincludes"/>
1.91 + <attribute default="" name="testmethods"/>
1.92 + <element name="customize" optional="true"/>
1.93 + <sequential>
1.94 + <property name="junit.forkmode" value="perTest"/>
1.95 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.96 + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
1.97 + <syspropertyset>
1.98 + <propertyref prefix="test-sys-prop."/>
1.99 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.100 + </syspropertyset>
1.101 + <formatter type="brief" usefile="false"/>
1.102 + <formatter type="xml"/>
1.103 + <jvmarg value="-ea"/>
1.104 + <customize/>
1.105 + </junit>
1.106 + </sequential>
1.107 + </macrodef>
1.108 + </target>
1.109 + <target if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
1.110 + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
1.111 + <attribute default="${includes}" name="includes"/>
1.112 + <attribute default="${excludes}" name="excludes"/>
1.113 + <attribute default="**" name="testincludes"/>
1.114 + <attribute default="" name="testmethods"/>
1.115 + <element name="customize" optional="true"/>
1.116 <sequential>
1.117 <property name="junit.forkmode" value="perTest"/>
1.118 <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.119 @@ -344,32 +408,270 @@
1.120 <filename name="@{testincludes}"/>
1.121 </fileset>
1.122 </batchtest>
1.123 - <classpath>
1.124 - <path path="${run.test.classpath}"/>
1.125 - </classpath>
1.126 <syspropertyset>
1.127 <propertyref prefix="test-sys-prop."/>
1.128 <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.129 </syspropertyset>
1.130 <formatter type="brief" usefile="false"/>
1.131 <formatter type="xml"/>
1.132 - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.133 <jvmarg value="-ea"/>
1.134 - <jvmarg line="${run.jvmargs}"/>
1.135 + <customize/>
1.136 </junit>
1.137 </sequential>
1.138 </macrodef>
1.139 </target>
1.140 - <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" name="profile-init"/>
1.141 - <target name="-profile-pre-init">
1.142 + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
1.143 + <target if="${testng.available}" name="-init-macrodef-testng">
1.144 + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
1.145 + <attribute default="${includes}" name="includes"/>
1.146 + <attribute default="${excludes}" name="excludes"/>
1.147 + <attribute default="**" name="testincludes"/>
1.148 + <attribute default="" name="testmethods"/>
1.149 + <element name="customize" optional="true"/>
1.150 + <sequential>
1.151 + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
1.152 + <isset property="test.method"/>
1.153 + </condition>
1.154 + <union id="test.set">
1.155 + <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
1.156 + <filename name="@{testincludes}"/>
1.157 + </fileset>
1.158 + </union>
1.159 + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
1.160 + <testng classfilesetref="test.set" failureProperty="tests.failed" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="openfixed" testname="TestNG tests" workingDir="${work.dir}">
1.161 + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
1.162 + <propertyset>
1.163 + <propertyref prefix="test-sys-prop."/>
1.164 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.165 + </propertyset>
1.166 + <customize/>
1.167 + </testng>
1.168 + </sequential>
1.169 + </macrodef>
1.170 + </target>
1.171 + <target name="-init-macrodef-test-impl">
1.172 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.173 + <attribute default="${includes}" name="includes"/>
1.174 + <attribute default="${excludes}" name="excludes"/>
1.175 + <attribute default="**" name="testincludes"/>
1.176 + <attribute default="" name="testmethods"/>
1.177 + <element implicit="true" name="customize" optional="true"/>
1.178 + <sequential>
1.179 + <echo>No tests executed.</echo>
1.180 + </sequential>
1.181 + </macrodef>
1.182 + </target>
1.183 + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
1.184 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.185 + <attribute default="${includes}" name="includes"/>
1.186 + <attribute default="${excludes}" name="excludes"/>
1.187 + <attribute default="**" name="testincludes"/>
1.188 + <attribute default="" name="testmethods"/>
1.189 + <element implicit="true" name="customize" optional="true"/>
1.190 + <sequential>
1.191 + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.192 + <customize/>
1.193 + </j2seproject3:junit>
1.194 + </sequential>
1.195 + </macrodef>
1.196 + </target>
1.197 + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
1.198 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.199 + <attribute default="${includes}" name="includes"/>
1.200 + <attribute default="${excludes}" name="excludes"/>
1.201 + <attribute default="**" name="testincludes"/>
1.202 + <attribute default="" name="testmethods"/>
1.203 + <element implicit="true" name="customize" optional="true"/>
1.204 + <sequential>
1.205 + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.206 + <customize/>
1.207 + </j2seproject3:testng>
1.208 + </sequential>
1.209 + </macrodef>
1.210 + </target>
1.211 + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
1.212 + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
1.213 + <attribute default="${includes}" name="includes"/>
1.214 + <attribute default="${excludes}" name="excludes"/>
1.215 + <attribute default="**" name="testincludes"/>
1.216 + <attribute default="" name="testmethods"/>
1.217 + <sequential>
1.218 + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.219 + <customize>
1.220 + <classpath>
1.221 + <path path="${run.test.classpath}"/>
1.222 + </classpath>
1.223 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.224 + <jvmarg line="${run.jvmargs}"/>
1.225 + <jvmarg line="${run.jvmargs.ide}"/>
1.226 + </customize>
1.227 + </j2seproject3:test-impl>
1.228 + </sequential>
1.229 + </macrodef>
1.230 + </target>
1.231 + <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
1.232 + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.233 + <attribute default="${includes}" name="includes"/>
1.234 + <attribute default="${excludes}" name="excludes"/>
1.235 + <attribute default="**" name="testincludes"/>
1.236 + <attribute default="" name="testmethods"/>
1.237 + <element name="customize" optional="true"/>
1.238 + <sequential>
1.239 + <property name="junit.forkmode" value="perTest"/>
1.240 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.241 + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
1.242 + <syspropertyset>
1.243 + <propertyref prefix="test-sys-prop."/>
1.244 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.245 + </syspropertyset>
1.246 + <formatter type="brief" usefile="false"/>
1.247 + <formatter type="xml"/>
1.248 + <jvmarg value="-ea"/>
1.249 + <jvmarg line="${debug-args-line}"/>
1.250 + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
1.251 + <customize/>
1.252 + </junit>
1.253 + </sequential>
1.254 + </macrodef>
1.255 + </target>
1.256 + <target if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
1.257 + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.258 + <attribute default="${includes}" name="includes"/>
1.259 + <attribute default="${excludes}" name="excludes"/>
1.260 + <attribute default="**" name="testincludes"/>
1.261 + <attribute default="" name="testmethods"/>
1.262 + <element name="customize" optional="true"/>
1.263 + <sequential>
1.264 + <property name="junit.forkmode" value="perTest"/>
1.265 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.266 + <batchtest todir="${build.test.results.dir}">
1.267 + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
1.268 + <filename name="@{testincludes}"/>
1.269 + </fileset>
1.270 + </batchtest>
1.271 + <syspropertyset>
1.272 + <propertyref prefix="test-sys-prop."/>
1.273 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.274 + </syspropertyset>
1.275 + <formatter type="brief" usefile="false"/>
1.276 + <formatter type="xml"/>
1.277 + <jvmarg value="-ea"/>
1.278 + <jvmarg line="${debug-args-line}"/>
1.279 + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
1.280 + <customize/>
1.281 + </junit>
1.282 + </sequential>
1.283 + </macrodef>
1.284 + </target>
1.285 + <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
1.286 + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.287 + <attribute default="${includes}" name="includes"/>
1.288 + <attribute default="${excludes}" name="excludes"/>
1.289 + <attribute default="**" name="testincludes"/>
1.290 + <attribute default="" name="testmethods"/>
1.291 + <element implicit="true" name="customize" optional="true"/>
1.292 + <sequential>
1.293 + <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.294 + <customize/>
1.295 + </j2seproject3:junit-debug>
1.296 + </sequential>
1.297 + </macrodef>
1.298 + </target>
1.299 + <target if="${testng.available}" name="-init-macrodef-testng-debug">
1.300 + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.301 + <attribute default="${main.class}" name="testClass"/>
1.302 + <attribute default="" name="testMethod"/>
1.303 + <element name="customize2" optional="true"/>
1.304 + <sequential>
1.305 + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
1.306 + <isset property="test.method"/>
1.307 + </condition>
1.308 + <condition else="-suitename openfixed -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
1.309 + <matches pattern=".*\.xml" string="@{testClass}"/>
1.310 + </condition>
1.311 + <delete dir="${build.test.results.dir}" quiet="true"/>
1.312 + <mkdir dir="${build.test.results.dir}"/>
1.313 + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
1.314 + <customize>
1.315 + <customize2/>
1.316 + <jvmarg value="-ea"/>
1.317 + <arg line="${testng.debug.mode}"/>
1.318 + <arg line="-d ${build.test.results.dir}"/>
1.319 + <arg line="-listener org.testng.reporters.VerboseReporter"/>
1.320 + <arg line="${testng.cmd.args}"/>
1.321 + </customize>
1.322 + </j2seproject3:debug>
1.323 + </sequential>
1.324 + </macrodef>
1.325 + </target>
1.326 + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
1.327 + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.328 + <attribute default="${main.class}" name="testClass"/>
1.329 + <attribute default="" name="testMethod"/>
1.330 + <element implicit="true" name="customize2" optional="true"/>
1.331 + <sequential>
1.332 + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
1.333 + <customize2/>
1.334 + </j2seproject3:testng-debug>
1.335 + </sequential>
1.336 + </macrodef>
1.337 + </target>
1.338 + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
1.339 + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.340 + <attribute default="${includes}" name="includes"/>
1.341 + <attribute default="${excludes}" name="excludes"/>
1.342 + <attribute default="**" name="testincludes"/>
1.343 + <attribute default="" name="testmethods"/>
1.344 + <attribute default="${main.class}" name="testClass"/>
1.345 + <attribute default="" name="testMethod"/>
1.346 + <sequential>
1.347 + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.348 + <customize>
1.349 + <classpath>
1.350 + <path path="${run.test.classpath}"/>
1.351 + </classpath>
1.352 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.353 + <jvmarg line="${run.jvmargs}"/>
1.354 + <jvmarg line="${run.jvmargs.ide}"/>
1.355 + </customize>
1.356 + </j2seproject3:test-debug-impl>
1.357 + </sequential>
1.358 + </macrodef>
1.359 + </target>
1.360 + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
1.361 + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.362 + <attribute default="${includes}" name="includes"/>
1.363 + <attribute default="${excludes}" name="excludes"/>
1.364 + <attribute default="**" name="testincludes"/>
1.365 + <attribute default="" name="testmethods"/>
1.366 + <attribute default="${main.class}" name="testClass"/>
1.367 + <attribute default="" name="testMethod"/>
1.368 + <sequential>
1.369 + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
1.370 + <customize2>
1.371 + <syspropertyset>
1.372 + <propertyref prefix="test-sys-prop."/>
1.373 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.374 + </syspropertyset>
1.375 + </customize2>
1.376 + </j2seproject3:testng-debug-impl>
1.377 + </sequential>
1.378 + </macrodef>
1.379 + </target>
1.380 + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
1.381 + <!--
1.382 + pre NB7.2 profiling section; consider it deprecated
1.383 + -->
1.384 + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
1.385 + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
1.386 <!-- Empty placeholder for easier customization. -->
1.387 <!-- You can override this target in the ../build.xml file. -->
1.388 </target>
1.389 - <target name="-profile-post-init">
1.390 + <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
1.391 <!-- Empty placeholder for easier customization. -->
1.392 <!-- You can override this target in the ../build.xml file. -->
1.393 </target>
1.394 - <target name="-profile-init-macrodef-profile">
1.395 + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
1.396 <macrodef name="resolve">
1.397 <attribute name="name"/>
1.398 <attribute name="value"/>
1.399 @@ -384,6 +686,7 @@
1.400 <property environment="env"/>
1.401 <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
1.402 <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
1.403 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.404 <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.405 <jvmarg line="${profiler.info.jvmargs}"/>
1.406 <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1.407 @@ -400,10 +703,13 @@
1.408 </sequential>
1.409 </macrodef>
1.410 </target>
1.411 - <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" name="-profile-init-check">
1.412 + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
1.413 <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
1.414 <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
1.415 </target>
1.416 + <!--
1.417 + end of pre NB7.2 profiling section
1.418 + -->
1.419 <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
1.420 <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
1.421 <attribute default="${main.class}" name="name"/>
1.422 @@ -461,6 +767,7 @@
1.423 <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.424 <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.425 <jvmarg line="${run.jvmargs}"/>
1.426 + <jvmarg line="${run.jvmargs.ide}"/>
1.427 <classpath>
1.428 <path path="@{classpath}"/>
1.429 </classpath>
1.430 @@ -477,6 +784,7 @@
1.431 <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.432 <attribute default="${main.class}" name="classname"/>
1.433 <attribute default="${run.classpath}" name="classpath"/>
1.434 + <attribute default="jvm" name="jvm"/>
1.435 <element name="customize" optional="true"/>
1.436 <sequential>
1.437 <java classname="@{classname}" dir="${work.dir}" fork="true">
1.438 @@ -484,6 +792,7 @@
1.439 <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.440 <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.441 <jvmarg line="${run.jvmargs}"/>
1.442 + <jvmarg line="${run.jvmargs.ide}"/>
1.443 <classpath>
1.444 <path path="@{classpath}"/>
1.445 </classpath>
1.446 @@ -510,11 +819,14 @@
1.447 <path path="${run.classpath.without.build.classes.dir}"/>
1.448 <chainedmapper>
1.449 <flattenmapper/>
1.450 + <filtermapper>
1.451 + <replacestring from=" " to="%20"/>
1.452 + </filtermapper>
1.453 <globmapper from="*" to="lib/*"/>
1.454 </chainedmapper>
1.455 </pathconvert>
1.456 <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
1.457 - <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
1.458 + <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
1.459 <fileset dir="${build.classes.dir}"/>
1.460 <manifest>
1.461 <attribute name="Class-Path" value="${jar.classpath}"/>
1.462 @@ -555,7 +867,7 @@
1.463 <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
1.464 <property name="ap.cmd.line.internal" value=""/>
1.465 </target>
1.466 - <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
1.467 + <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
1.468 <!--
1.469 ===================
1.470 COMPILATION SECTION
1.471 @@ -771,7 +1083,11 @@
1.472 PROFILING SECTION
1.473 =================
1.474 -->
1.475 - <target depends="profile-init,compile" description="Profile a project in the IDE." if="netbeans.home" name="profile">
1.476 + <!--
1.477 + pre NB7.2 profiler integration
1.478 + -->
1.479 + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
1.480 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.481 <nbprofiledirect>
1.482 <classpath>
1.483 <path path="${run.classpath}"/>
1.484 @@ -779,8 +1095,9 @@
1.485 </nbprofiledirect>
1.486 <profile/>
1.487 </target>
1.488 - <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="netbeans.home" name="profile-single">
1.489 + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
1.490 <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
1.491 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.492 <nbprofiledirect>
1.493 <classpath>
1.494 <path path="${run.classpath}"/>
1.495 @@ -788,12 +1105,8 @@
1.496 </nbprofiledirect>
1.497 <profile classname="${profile.class}"/>
1.498 </target>
1.499 - <!--
1.500 - =========================
1.501 - APPLET PROFILING SECTION
1.502 - =========================
1.503 - -->
1.504 - <target depends="profile-init,compile-single" if="netbeans.home" name="profile-applet">
1.505 + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
1.506 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.507 <nbprofiledirect>
1.508 <classpath>
1.509 <path path="${run.classpath}"/>
1.510 @@ -805,12 +1118,8 @@
1.511 </customize>
1.512 </profile>
1.513 </target>
1.514 - <!--
1.515 - =========================
1.516 - TESTS PROFILING SECTION
1.517 - =========================
1.518 - -->
1.519 - <target depends="profile-init,compile-test-single" if="netbeans.home" name="profile-test-single">
1.520 + <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
1.521 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.522 <nbprofiledirect>
1.523 <classpath>
1.524 <path path="${run.test.classpath}"/>
1.525 @@ -833,22 +1142,68 @@
1.526 </junit>
1.527 </target>
1.528 <!--
1.529 + end of pre NB72 profiling section
1.530 + -->
1.531 + <target if="netbeans.home" name="-profile-check">
1.532 + <condition property="profiler.configured">
1.533 + <or>
1.534 + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
1.535 + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
1.536 + </or>
1.537 + </condition>
1.538 + </target>
1.539 + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
1.540 + <startprofiler/>
1.541 + <antcall target="run"/>
1.542 + </target>
1.543 + <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
1.544 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1.545 + <startprofiler/>
1.546 + <antcall target="run-single"/>
1.547 + </target>
1.548 + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
1.549 + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
1.550 + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1.551 + <startprofiler/>
1.552 + <antcall target="test-single"/>
1.553 + </target>
1.554 + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
1.555 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1.556 + <startprofiler/>
1.557 + <antcal target="run-test-with-main"/>
1.558 + </target>
1.559 + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
1.560 + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1.561 + <startprofiler/>
1.562 + <antcall target="run-applet"/>
1.563 + </target>
1.564 + <!--
1.565 ===============
1.566 JAVADOC SECTION
1.567 ===============
1.568 -->
1.569 <target depends="init" if="have.sources" name="-javadoc-build">
1.570 <mkdir dir="${dist.javadoc.dir}"/>
1.571 + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
1.572 + <and>
1.573 + <isset property="endorsed.classpath.cmd.line.arg"/>
1.574 + <not>
1.575 + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
1.576 + </not>
1.577 + </and>
1.578 + </condition>
1.579 <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
1.580 <classpath>
1.581 <path path="${javac.classpath}"/>
1.582 </classpath>
1.583 - <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1.584 + <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
1.585 <filename name="**/*.java"/>
1.586 </fileset>
1.587 <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1.588 <include name="**/*.java"/>
1.589 + <exclude name="*.java"/>
1.590 </fileset>
1.591 + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
1.592 </javadoc>
1.593 <copy todir="${dist.javadoc.dir}">
1.594 <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1.595 @@ -865,7 +1220,7 @@
1.596 <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
1.597 <!--
1.598 =========================
1.599 - JUNIT COMPILATION SECTION
1.600 + TEST COMPILATION SECTION
1.601 =========================
1.602 -->
1.603 <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
1.604 @@ -908,14 +1263,14 @@
1.605 <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
1.606 <!--
1.607 =======================
1.608 - JUNIT EXECUTION SECTION
1.609 + TEST EXECUTION SECTION
1.610 =======================
1.611 -->
1.612 <target depends="init" if="have.tests" name="-pre-test-run">
1.613 <mkdir dir="${build.test.results.dir}"/>
1.614 </target>
1.615 <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
1.616 - <j2seproject3:junit testincludes="**/*Test.java"/>
1.617 + <j2seproject3:test testincludes="**/*Test.java"/>
1.618 </target>
1.619 <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
1.620 <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.621 @@ -928,39 +1283,40 @@
1.622 </target>
1.623 <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1.624 <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1.625 - <j2seproject3:junit excludes="" includes="${test.includes}"/>
1.626 + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
1.627 </target>
1.628 <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
1.629 <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.630 </target>
1.631 <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
1.632 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
1.633 + <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
1.634 + <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1.635 + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
1.636 + </target>
1.637 + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
1.638 + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.639 + </target>
1.640 + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
1.641 <!--
1.642 =======================
1.643 - JUNIT DEBUGGING SECTION
1.644 + TEST DEBUGGING SECTION
1.645 =======================
1.646 -->
1.647 - <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
1.648 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
1.649 <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1.650 - <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
1.651 - <delete file="${test.report.file}"/>
1.652 - <mkdir dir="${build.test.results.dir}"/>
1.653 - <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
1.654 - <customize>
1.655 - <syspropertyset>
1.656 - <propertyref prefix="test-sys-prop."/>
1.657 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.658 - </syspropertyset>
1.659 - <arg value="${test.class}"/>
1.660 - <arg value="showoutput=true"/>
1.661 - <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
1.662 - <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
1.663 - </customize>
1.664 - </j2seproject3:debug>
1.665 + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
1.666 + </target>
1.667 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
1.668 + <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1.669 + <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1.670 + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
1.671 </target>
1.672 <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
1.673 <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
1.674 </target>
1.675 <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1.676 + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
1.677 <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
1.678 <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
1.679 </target>
1.680 @@ -1025,9 +1381,12 @@
1.681 <target name="-check-call-dep">
1.682 <property file="${call.built.properties}" prefix="already.built."/>
1.683 <condition property="should.call.dep">
1.684 - <not>
1.685 - <isset property="already.built.${call.subproject}"/>
1.686 - </not>
1.687 + <and>
1.688 + <not>
1.689 + <isset property="already.built.${call.subproject}"/>
1.690 + </not>
1.691 + <available file="${call.script}"/>
1.692 + </and>
1.693 </condition>
1.694 </target>
1.695 <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
2.1 --- a/samples/openfixed/nbproject/genfiles.properties Wed Aug 08 22:42:33 2012 +0200
2.2 +++ b/samples/openfixed/nbproject/genfiles.properties Wed Aug 08 23:00:39 2012 +0200
2.3 @@ -4,5 +4,5 @@
2.4 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
2.5 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
2.6 nbproject/build-impl.xml.data.CRC32=33b4766a
2.7 -nbproject/build-impl.xml.script.CRC32=05841ecd
2.8 -nbproject/build-impl.xml.stylesheet.CRC32=0c01fd8e@1.43.0.45
2.9 +nbproject/build-impl.xml.script.CRC32=9666fd7c
2.10 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.54.0.46
3.1 --- a/samples/openfixed/src/org/apidesign/openfixed/AsyncEventSupport.java Wed Aug 08 22:42:33 2012 +0200
3.2 +++ b/samples/openfixed/src/org/apidesign/openfixed/AsyncEventSupport.java Wed Aug 08 23:00:39 2012 +0200
3.3 @@ -4,6 +4,7 @@
3.4 import java.util.concurrent.CopyOnWriteArrayList;
3.5 import java.util.concurrent.Executor;
3.6 import java.util.concurrent.Executors;
3.7 +import org.apidesign.openfixed.Calculator.EventSupport;
3.8
3.9 /**
3.10 *
4.1 --- a/samples/openfixed/src/org/apidesign/openfixed/Calculator.java Wed Aug 08 22:42:33 2012 +0200
4.2 +++ b/samples/openfixed/src/org/apidesign/openfixed/Calculator.java Wed Aug 08 23:00:39 2012 +0200
4.3 @@ -13,6 +13,17 @@
4.4 private Calculator(EventSupport listeners) {
4.5 this.listeners = listeners;
4.6 }
4.7 +
4.8 + /** An abstraction over various types of event delivery
4.9 + * to listeners. Comes with four different implementations.
4.10 + * A trivial one, asynchronous one, one with support for
4.11 + * pending events and one for a batch events delivery.
4.12 + */
4.13 + interface EventSupport {
4.14 + public void fireModificationEvent(ModificationEvent ev);
4.15 + public void add(ModificationListener l);
4.16 + public void remove(ModificationListener l);
4.17 + }
4.18
4.19 public static Calculator create() {
4.20 return new Calculator(new TrivialEventSupport());
5.1 --- a/samples/openfixed/src/org/apidesign/openfixed/EventSupport.java Wed Aug 08 22:42:33 2012 +0200
5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
5.3 @@ -1,19 +0,0 @@
5.4 -/*
5.5 - * To change this template, choose Tools | Templates
5.6 - * and open the template in the editor.
5.7 - */
5.8 -package org.apidesign.openfixed;
5.9 -
5.10 -/**
5.11 - *
5.12 - * @author Jaroslav Tulach <jtulach@netbeans.org>
5.13 - */
5.14 -interface EventSupport {
5.15 -
5.16 - public void fireModificationEvent(ModificationEvent ev);
5.17 -
5.18 - public void add(ModificationListener l);
5.19 -
5.20 - public void remove(ModificationListener l);
5.21 -
5.22 -}
6.1 --- a/samples/openfixed/src/org/apidesign/openfixed/PendingEventSupport.java Wed Aug 08 22:42:33 2012 +0200
6.2 +++ b/samples/openfixed/src/org/apidesign/openfixed/PendingEventSupport.java Wed Aug 08 23:00:39 2012 +0200
6.3 @@ -4,6 +4,7 @@
6.4 import java.util.concurrent.CopyOnWriteArrayList;
6.5 import java.util.concurrent.Executor;
6.6 import java.util.concurrent.Executors;
6.7 +import org.apidesign.openfixed.Calculator.EventSupport;
6.8
6.9 /**
6.10 *
7.1 --- a/samples/openfixed/src/org/apidesign/openfixed/PostEventSupport.java Wed Aug 08 22:42:33 2012 +0200
7.2 +++ b/samples/openfixed/src/org/apidesign/openfixed/PostEventSupport.java Wed Aug 08 23:00:39 2012 +0200
7.3 @@ -6,6 +6,7 @@
7.4 import java.util.concurrent.CopyOnWriteArrayList;
7.5 import java.util.concurrent.Executor;
7.6 import java.util.concurrent.Executors;
7.7 +import org.apidesign.openfixed.Calculator.EventSupport;
7.8
7.9 /**
7.10 *
8.1 --- a/samples/openfixed/src/org/apidesign/openfixed/TrivialEventSupport.java Wed Aug 08 22:42:33 2012 +0200
8.2 +++ b/samples/openfixed/src/org/apidesign/openfixed/TrivialEventSupport.java Wed Aug 08 23:00:39 2012 +0200
8.3 @@ -6,6 +6,7 @@
8.4
8.5 import java.util.List;
8.6 import java.util.concurrent.CopyOnWriteArrayList;
8.7 +import org.apidesign.openfixed.Calculator.EventSupport;
8.8
8.9 /**
8.10 *