From 85fe8311c4a2687119085b56a4e75f7701d02a0d Mon Sep 17 00:00:00 2001 From: brutzman <brutzman@nps.edu> Date: Wed, 1 Nov 2017 14:28:58 -0700 Subject: [PATCH] Don McGregor source --- src/TcpClient/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/tcpclient/TcpClient.class | Bin 0 -> 2050 bytes ...-modules-java-j2seproject-copylibstask.jar | Bin 0 -> 22969 bytes src/TcpClient/lib/nblibraries.properties | 4 + src/TcpClient/manifest.mf | 3 + src/TcpClient/nbproject/build-impl.xml | 1438 +++++++++++++++++ src/TcpClient/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + src/TcpClient/nbproject/project.properties | 73 + src/TcpClient/nbproject/project.xml | 18 + src/TcpClient/src/tcpclient/TcpClient.java | 66 + src/TcpServer/build.xml | 73 + ...-modules-java-j2seproject-copylibstask.jar | Bin 0 -> 22969 bytes src/TcpServer/lib/nblibraries.properties | 4 + src/TcpServer/manifest.mf | 3 + src/TcpServer/nbproject/build-impl.xml | 1438 +++++++++++++++++ src/TcpServer/nbproject/genfiles.properties | 8 + src/TcpServer/nbproject/project.properties | 73 + src/TcpServer/nbproject/project.xml | 18 + .../src/tcpserver/ConnectionHandler.java | 12 + src/TcpServer/src/tcpserver/TcpServer.java | 50 + 23 files changed, 3364 insertions(+) create mode 100644 src/TcpClient/build.xml create mode 100644 src/TcpClient/build/classes/.netbeans_automatic_build create mode 100644 src/TcpClient/build/classes/.netbeans_update_resources create mode 100644 src/TcpClient/build/classes/tcpclient/TcpClient.class create mode 100644 src/TcpClient/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar create mode 100644 src/TcpClient/lib/nblibraries.properties create mode 100644 src/TcpClient/manifest.mf create mode 100644 src/TcpClient/nbproject/build-impl.xml create mode 100644 src/TcpClient/nbproject/genfiles.properties create mode 100644 src/TcpClient/nbproject/private/private.properties create mode 100644 src/TcpClient/nbproject/project.properties create mode 100644 src/TcpClient/nbproject/project.xml create mode 100644 src/TcpClient/src/tcpclient/TcpClient.java create mode 100644 src/TcpServer/build.xml create mode 100644 src/TcpServer/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar create mode 100644 src/TcpServer/lib/nblibraries.properties create mode 100644 src/TcpServer/manifest.mf create mode 100644 src/TcpServer/nbproject/build-impl.xml create mode 100644 src/TcpServer/nbproject/genfiles.properties create mode 100644 src/TcpServer/nbproject/project.properties create mode 100644 src/TcpServer/nbproject/project.xml create mode 100644 src/TcpServer/src/tcpserver/ConnectionHandler.java create mode 100644 src/TcpServer/src/tcpserver/TcpServer.java diff --git a/src/TcpClient/build.xml b/src/TcpClient/build.xml new file mode 100644 index 0000000000..e93599fb6c --- /dev/null +++ b/src/TcpClient/build.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- You may freely edit this file. See commented blocks below for --> +<!-- some examples of how to customize the build. --> +<!-- (If you delete it and reopen the project it will be recreated.) --> +<!-- By default, only the Clean and Build commands use this build script. --> +<!-- Commands such as Run, Debug, and Test only use this build script if --> +<!-- the Compile on Save feature is turned off for the project. --> +<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> +<!-- in the project's Project Properties dialog box.--> +<project name="TcpClient" default="default" basedir="."> + <description>Builds, tests, and runs the project TcpClient.</description> + <import file="nbproject/build-impl.xml"/> + <!-- + + 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 + -post-init: called after initialization of project properties + -pre-compile: called before javac compilation + -post-compile: called after javac compilation + -pre-compile-single: called before javac compilation of single file + -post-compile-single: called after javac compilation of single file + -pre-compile-test: called before javac compilation of JUnit tests + -post-compile-test: called after javac compilation of JUnit tests + -pre-compile-test-single: called before javac compilation of single JUnit test + -post-compile-test-single: called after javac compilation of single JUunit test + -pre-jar: called before JAR building + -post-jar: called after JAR building + -post-clean: called after cleaning build products + + (Targets beginning with '-' are not intended to be called on their own.) + + Example of inserting an obfuscator after compilation could look like this: + + <target name="-post-compile"> + <obfuscate> + <fileset dir="${build.classes.dir}"/> + </obfuscate> + </target> + + 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: + + -init-macrodef-javac: defines macro for javac compilation + -init-macrodef-junit: defines macro for junit execution + -init-macrodef-debug: defines macro for class debugging + -init-macrodef-java: defines macro for class execution + -do-jar: JAR building + run: execution of project + -javadoc-build: Javadoc generation + test-report: JUnit report generation + + An example of overriding the target for project execution could look like this: + + <target name="run" depends="TcpClient-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </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 + properties which you can use, check the target you are overriding in the + nbproject/build-impl.xml file. + + --> +</project> diff --git a/src/TcpClient/build/classes/.netbeans_automatic_build b/src/TcpClient/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/TcpClient/build/classes/.netbeans_update_resources b/src/TcpClient/build/classes/.netbeans_update_resources new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/TcpClient/build/classes/tcpclient/TcpClient.class b/src/TcpClient/build/classes/tcpclient/TcpClient.class new file mode 100644 index 0000000000000000000000000000000000000000..a3ef3ae9f00e85c11846efa5f7cfa16ea4c4350b GIT binary patch literal 2050 zcmZuySyvln7=8wld?BPPVJYdNsa6e85~|jPw6q1GMZ+RVsj*f&Bp+cQnT(kU1-07V z+2arCb-hSDa*mf?_!s;y;`2=wLLfQw&dj?!?>^r@|NZ$FfDiE^fH!d8kEH-U#}@+0 z06bV$WJQtH9<1R@Kh^_CAuaGAfL?6)@lf5<ihQL=M&RoJ2JuMXn*fIJSdni9z6)Sf zp+8Y~U6D<Jtis9(NP#U4zMF<=II|kMqvIPIJoBZT)X<+aOu14iZpw06-z<<5N|v&E zVM8w)>b=4AINOG;VI=8ft!%-NrV~$Rt$Ft;L9n83m>Nc-kCHq3o*pmgW<H*B%7&Rw zC}%!fmiJ_t8g;oTo%j;T-CV9LZJP*zY{@ib)-g)N89dfXm9o3ip+Z-Q{u|~-DZW~9 ztcpVyQZFiLJv!GprAy`sq4iXS-W0AeEazd_aAcX5-G<G$F1Dm?rt4DAxjJ2&R2gfj z%vH9wWLf4~azB%>N~Y~r?^FRaXcRR3yOmkk&q_<BO8*|coM&c3XH-tZxs;=4cb9d` zZG%8UAkWbe*cLE2B%B5g0z1tDrb?A^RxTQ<hkdQ)#8fyzyorbgVOn-f<|+gUVh6kI zz8kFSM!n8Tu@FQNW)LM<0^bKw2E)57ZHMDv*xND}vE80Tjyopc1W~~r(>SBZ3X}~P zySI>z#0@hi_hZ{mu@JeRPOrtU$EKBOB#3<#Vz_C4stpR|fD_PEIN1ax{UL}S@so!0 zu1ebo&Q**88>u0<-sn@ru<7v`eh%UnWl|6OWN%bh&nY@%;x!B$`&ixF;oNE%c3B;h z-DG!6Y}4b(QPt3sm(JY5ie6+7C!+O%YfB_CUT1YU;S^nHD0fPh)b{lgwS8aMi)aI> zBQ7HKQMs-7EN7c;n}DiqMMxdkjx2JUN)?u(W7k?+dU87IY>uU+7P7#-A2};!CJ=7$ zJEK*}dAAA`dt0T{+RyeVmCDeusIjt&%ca$G>g&fIHB)S_HNRTAWl1xqVd|{7PIad- zW-N@~Db+uI9VyjEg<nKm!DSu?>emI0vl}73!nZi@8t>kT8noB0_$^YO%M^H<&%wF^ zuHqfO_26B+M-Gj(-*}GnkoPjw^#{6>hwx-32i9uvE?=v{w?ZOjJio&q>Zu}dh~CUp z4Z#_2*c&=mMPJxkMZY2ghZxL+JvD@8e1{mygncy(&xo+7Vk9%;{~Hlv9AY$6!}-uy z72&X-q>2kfeRcHjEA%F*Fj>W=*KVlK@EjM>4VB0u&o1!tVVHD`=TsP%D80&mjEUSp z6f+pdZA|f)jNt(}Pw+8Ub(SazyudB|iaTy0wh$oBQ(BDE&manzz$EKAiaf5-zMIH8 zG2$#s46B&Nb$E&T0p923BX*SM@(l<)X8k{+7eDa@KEbDM+%FkPg3;dOH4V=Z4g3PP i1ZD+p3)~U7D=;T8FYp;~q}o6+6l*~cVUc!Sxc5Kt|Nou< literal 0 HcmV?d00001 diff --git a/src/TcpClient/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar b/src/TcpClient/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc00f0c62cbac0de1c35e927a80aaebae1e1ba8 GIT binary patch literal 22969 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 literal 0 HcmV?d00001 diff --git a/src/TcpClient/lib/nblibraries.properties b/src/TcpClient/lib/nblibraries.properties new file mode 100644 index 0000000000..6d0afb59d6 --- /dev/null +++ b/src/TcpClient/lib/nblibraries.properties @@ -0,0 +1,4 @@ +libs.CopyLibs.classpath=\ + ${base}/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar +libs.CopyLibs.displayName=CopyLibs Task +libs.CopyLibs.prop-version=2.0 diff --git a/src/TcpClient/manifest.mf b/src/TcpClient/manifest.mf new file mode 100644 index 0000000000..328e8e5bc3 --- /dev/null +++ b/src/TcpClient/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/src/TcpClient/nbproject/build-impl.xml b/src/TcpClient/nbproject/build-impl.xml new file mode 100644 index 0000000000..0103c5fcf4 --- /dev/null +++ b/src/TcpClient/nbproject/build-impl.xml @@ -0,0 +1,1438 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +*** GENERATED FROM project.xml - DO NOT EDIT *** +*** EDIT ../build.xml INSTEAD *** + +For the purpose of easier reading the script +is divided into following sections: + + - initialization + - compilation + - jar + - execution + - debugging + - javadoc + - test compilation + - test execution + - test debugging + - applet + - cleanup + + --> +<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="TcpClient-impl"> + <fail message="Please build using Ant 1.8.0 or higher."> + <condition> + <not> + <antversion atleast="1.8.0"/> + </not> + </condition> + </fail> + <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> + <!-- + ====================== + INITIALIZATION SECTION + ====================== + --> + <target name="-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init" name="-init-private"> + <property file="nbproject/private/config.properties"/> + <property file="nbproject/private/configs/${config}.properties"/> + <property file="nbproject/private/private.properties"/> + </target> + <target name="-pre-init-libraries"> + <property location="./lib/nblibraries.properties" name="libraries.path"/> + <dirname file="${libraries.path}" property="libraries.dir.nativedirsep"/> + <pathconvert dirsep="/" property="libraries.dir"> + <path path="${libraries.dir.nativedirsep}"/> + </pathconvert> + <basename file="${libraries.path}" property="libraries.basename" suffix=".properties"/> + <available file="${libraries.dir}/${libraries.basename}-private.properties" property="private.properties.available"/> + </target> + <target depends="-pre-init-libraries" if="private.properties.available" name="-init-private-libraries"> + <loadproperties encoding="ISO-8859-1" srcfile="${libraries.dir}/${libraries.basename}-private.properties"> + <filterchain> + <replacestring from="$${base}" to="${libraries.dir}"/> + <escapeunicode/> + </filterchain> + </loadproperties> + </target> + <target depends="-pre-init,-init-private,-init-private-libraries" name="-init-libraries"> + <loadproperties encoding="ISO-8859-1" srcfile="${libraries.path}"> + <filterchain> + <replacestring from="$${base}" to="${libraries.dir}"/> + <escapeunicode/> + </filterchain> + </loadproperties> + </target> + <target depends="-pre-init,-init-private,-init-libraries" name="-init-user"> + <property file="${user.properties.file}"/> + <!-- The two properties below are usually overridden --> + <!-- by the active platform. Just a fallback. --> + <property name="default.javac.source" value="1.4"/> + <property name="default.javac.target" value="1.4"/> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-init-user" name="-init-project"> + <property file="nbproject/configs/${config}.properties"/> + <property file="nbproject/project.properties"/> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-init-macrodef-property" name="-do-init"> + <property name="platform.java" value="${java.home}/bin/java"/> + <available file="${manifest.file}" property="manifest.available"/> + <condition property="splashscreen.available"> + <and> + <not> + <equals arg1="${application.splash}" arg2="" trim="true"/> + </not> + <available file="${application.splash}"/> + </and> + </condition> + <condition property="main.class.available"> + <and> + <isset property="main.class"/> + <not> + <equals arg1="${main.class}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition property="profile.available"> + <and> + <isset property="javac.profile"/> + <length length="0" string="${javac.profile}" when="greater"/> + <matches pattern="1\.[89](\..*)?" string="${javac.source}"/> + </and> + </condition> + <condition property="do.archive"> + <or> + <not> + <istrue value="${jar.archive.disabled}"/> + </not> + <istrue value="${not.archive.disabled}"/> + </or> + </condition> + <condition property="do.mkdist"> + <and> + <isset property="do.archive"/> + <isset property="libs.CopyLibs.classpath"/> + <not> + <istrue value="${mkdist.disabled}"/> + </not> + </and> + </condition> + <condition property="do.archive+manifest.available"> + <and> + <isset property="manifest.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+main.class.available"> + <and> + <isset property="main.class.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+splashscreen.available"> + <and> + <isset property="splashscreen.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+profile.available"> + <and> + <isset property="profile.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="have.tests"> + <or> + <available file="${test.src.dir}"/> + </or> + </condition> + <condition property="have.sources"> + <or> + <available file="${src.dir}"/> + </or> + </condition> + <condition property="netbeans.home+have.tests"> + <and> + <isset property="netbeans.home"/> + <isset property="have.tests"/> + </and> + </condition> + <condition property="no.javadoc.preview"> + <and> + <isset property="javadoc.preview"/> + <isfalse value="${javadoc.preview}"/> + </and> + </condition> + <property name="run.jvmargs" value=""/> + <property name="run.jvmargs.ide" value=""/> + <property name="javac.compilerargs" value=""/> + <property name="work.dir" value="${basedir}"/> + <condition property="no.deps"> + <and> + <istrue value="${no.dependencies}"/> + </and> + </condition> + <property name="javac.debug" value="true"/> + <property name="javadoc.preview" value="true"/> + <property name="application.args" value=""/> + <property name="source.encoding" value="${file.encoding}"/> + <property name="runtime.encoding" value="${source.encoding}"/> + <condition property="javadoc.encoding.used" value="${javadoc.encoding}"> + <and> + <isset property="javadoc.encoding"/> + <not> + <equals arg1="${javadoc.encoding}" arg2=""/> + </not> + </and> + </condition> + <property name="javadoc.encoding.used" value="${source.encoding}"/> + <property name="includes" value="**"/> + <property name="excludes" value=""/> + <property name="do.depend" value="false"/> + <condition property="do.depend.true"> + <istrue value="${do.depend}"/> + </condition> + <path id="endorsed.classpath.path" path="${endorsed.classpath}"/> + <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> + <and> + <isset property="endorsed.classpath"/> + <not> + <equals arg1="${endorsed.classpath}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}"> + <isset property="profile.available"/> + </condition> + <condition else="false" property="jdkBug6558476"> + <and> + <matches pattern="1\.[56]" string="${java.specification.version}"/> + <not> + <os family="unix"/> + </not> + </and> + </condition> + <property name="javac.fork" value="${jdkBug6558476}"/> + <property name="jar.index" value="false"/> + <property name="jar.index.metainf" value="${jar.index}"/> + <property name="copylibs.rebase" value="true"/> + <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> + <condition property="junit.available"> + <or> + <available classname="org.junit.Test" classpath="${run.test.classpath}"/> + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/> + </or> + </condition> + <condition property="testng.available"> + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/> + </condition> + <condition property="junit+testng.available"> + <and> + <istrue value="${junit.available}"/> + <istrue value="${testng.available}"/> + </and> + </condition> + <condition else="testng" property="testng.mode" value="mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + <condition else="" property="testng.debug.mode" value="-mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + </target> + <target name="-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-do-init" name="-init-check"> + <fail unless="src.dir">Must set src.dir</fail> + <fail unless="test.src.dir">Must set test.src.dir</fail> + <fail unless="build.dir">Must set build.dir</fail> + <fail unless="dist.dir">Must set dist.dir</fail> + <fail unless="build.classes.dir">Must set build.classes.dir</fail> + <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> + <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail> + <fail unless="build.test.results.dir">Must set build.test.results.dir</fail> + <fail unless="build.classes.excludes">Must set build.classes.excludes</fail> + <fail unless="dist.jar">Must set dist.jar</fail> + </target> + <target name="-init-macrodef-property"> + <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${@{value}}"/> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <mkdir dir="@{apgeneratedsrcdir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <src> + <dirset dir="@{gensrcdir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </src> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> + <compilerarg line="${javac.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <compilerarg value="-processorpath"/> + <compilerarg path="@{processorpath}:${empty.dir}"/> + <compilerarg line="${ap.processors.internal}"/> + <compilerarg line="${annotation.processing.processor.options}"/> + <compilerarg value="-s"/> + <compilerarg path="@{apgeneratedsrcdir}"/> + <compilerarg line="${ap.proc.none.internal}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <src> + <dirset dir="@{gensrcdir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </src> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> + <compilerarg line="${javac.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> + <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <sequential> + <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </depend> + </sequential> + </macrodef> + <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${build.classes.dir}" name="destdir"/> + <sequential> + <fail unless="javac.includes">Must set javac.includes</fail> + <pathconvert pathsep="${line.separator}" property="javac.includes.binary"> + <path> + <filelist dir="@{destdir}" files="${javac.includes}"/> + </path> + <globmapper from="*.java" to="*.class"/> + </pathconvert> + <tempfile deleteonexit="true" property="javac.includesfile.binary"/> + <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/> + <delete> + <files includesfile="${javac.includesfile.binary}"/> + </delete> + <delete> + <fileset file="${javac.includesfile.binary}"/> + </delete> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-init"> + <condition else="false" property="nb.junit.batch" value="true"> + <and> + <istrue value="${junit.available}"/> + <not> + <isset property="test.method"/> + </not> + </and> + </condition> + <condition else="false" property="nb.junit.single" value="true"> + <and> + <istrue value="${junit.available}"/> + <isset property="test.method"/> + </and> + </condition> + </target> + <target name="-init-test-properties"> + <property name="test.binaryincludes" value="<nothing>"/> + <property name="test.binarytestincludes" value=""/> + <property name="test.binaryexcludes" value=""/> + </target> + <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/> + <target if="${testng.available}" name="-init-macrodef-testng"> + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}"> + <isset property="test.method"/> + </condition> + <union id="test.set"> + <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + </union> + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> + <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="TcpClient" testname="TestNG tests" workingDir="${work.dir}"> + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> + <propertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </propertyset> + <customize/> + </testng> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-test-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <echo>No tests executed.</echo> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:testng> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test"> + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <sequential> + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-impl> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl"> + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit-debug> + </sequential> + </macrodef> + </target> + <target if="${testng.available}" name="-init-macrodef-testng-debug"> + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element name="customize2" optional="true"/> + <sequential> + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> + <isset property="test.method"/> + </condition> + <condition else="-suitename TcpClient -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> + <matches pattern=".*\.xml" string="@{testClass}"/> + </condition> + <delete dir="${build.test.results.dir}" quiet="true"/> + <mkdir dir="${build.test.results.dir}"/> + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}"> + <customize> + <customize2/> + <jvmarg value="-ea"/> + <arg line="${testng.debug.mode}"/> + <arg line="-d ${build.test.results.dir}"/> + <arg line="-listener org.testng.reporters.VerboseReporter"/> + <arg line="${testng.cmd.args}"/> + </customize> + </j2seproject3:debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl"> + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element implicit="true" name="customize2" optional="true"/> + <sequential> + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2/> + </j2seproject3:testng-debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + </customize2> + </j2seproject3:testng-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/> + <!-- + pre NB7.2 profiling section; consider it deprecated + --> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/> + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile"> + <macrodef name="resolve"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${env.@{value}}"/> + </sequential> + </macrodef> + <macrodef name="profile"> + <attribute default="${main.class}" name="classname"/> + <element name="customize" optional="true"/> + <sequential> + <property environment="env"/> + <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/> + <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <arg line="${application.args}"/> + <classpath> + <path path="${run.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check"> + <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail> + <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail> + </target> + <!-- + end of pre NB7.2 profiling section + --> + <target depends="-init-debug-args" name="-init-macrodef-nbjpda"> + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="name"/> + <attribute default="${debug.classpath}" name="classpath"/> + <attribute default="" name="stopclassname"/> + <sequential> + <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </nbjpdastart> + </sequential> + </macrodef> + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${build.classes.dir}" name="dir"/> + <sequential> + <nbjpdareload> + <fileset dir="@{dir}" includes="${fix.classes}"> + <include name="${fix.includes}*.class"/> + </fileset> + </nbjpdareload> + </sequential> + </macrodef> + </target> + <target name="-init-debug-args"> + <property name="version-output" value="java version "${ant.java.version}"/> + <condition property="have-jdk-older-than-1.4"> + <or> + <contains string="${version-output}" substring="java version "1.0"/> + <contains string="${version-output}" substring="java version "1.1"/> + <contains string="${version-output}" substring="java version "1.2"/> + <contains string="${version-output}" substring="java version "1.3"/> + </or> + </condition> + <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none"> + <istrue value="${have-jdk-older-than-1.4}"/> + </condition> + <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem"> + <os family="windows"/> + </condition> + <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}"> + <isset property="debug.transport"/> + </condition> + </target> + <target depends="-init-debug-args" name="-init-macrodef-debug"> + <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${debug.classpath}" name="classpath"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-java"> + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${run.classpath}" name="classpath"/> + <attribute default="jvm" name="jvm"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-copylibs"> + <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${manifest.file}" name="manifest"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <pathconvert property="run.classpath.without.build.classes.dir"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to=""/> + </pathconvert> + <pathconvert pathsep=" " property="jar.classpath"> + <path path="${run.classpath.without.build.classes.dir}"/> + <chainedmapper> + <flattenmapper/> + <filtermapper> + <replacestring from=" " to="%20"/> + </filtermapper> + <globmapper from="*" to="lib/*"/> + </chainedmapper> + </pathconvert> + <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> + <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> + <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + <manifest> + <attribute name="Class-Path" value="${jar.classpath}"/> + <customize/> + </manifest> + </copylibs> + </sequential> + </macrodef> + </target> + <target name="-init-presetdef-jar"> + <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}"> + <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + </jar> + </presetdef> + </target> + <target name="-init-ap-cmdline-properties"> + <property name="annotation.processing.enabled" value="true"/> + <property name="annotation.processing.processors.list" value=""/> + <property name="annotation.processing.processor.options" value=""/> + <property name="annotation.processing.run.all.processors" value="true"/> + <property name="javac.processorpath" value="${javac.classpath}"/> + <property name="javac.test.processorpath" value="${javac.test.classpath}"/> + <condition property="ap.supported.internal" value="true"> + <not> + <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> + </not> + </condition> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> + <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> + <isfalse value="${annotation.processing.run.all.processors}"/> + </condition> + <condition else="" property="ap.proc.none.internal" value="-proc:none"> + <isfalse value="${annotation.processing.enabled}"/> + </condition> + </target> + <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> + <property name="ap.cmd.line.internal" value=""/> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-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"/> + <!-- + =================== + COMPILATION SECTION + =================== + --> + <target name="-deps-jar-init" unless="built-jar.properties"> + <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> + <delete file="${built-jar.properties}" quiet="true"/> + </target> + <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> + <echo level="warn" message="Cycle detected: TcpClient was already built"/> + </target> + <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-jar.properties}" verbose="false"/> + <property file="${built-jar.properties}" prefix="already.built.jar."/> + <antcall target="-warn-already-built-jar"/> + <propertyfile file="${built-jar.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> + <target depends="init" name="-check-automatic-build"> + <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/> + </target> + <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build"> + <antcall target="clean"/> + </target> + <target depends="init,deps-jar" name="-pre-pre-compile"> + <mkdir dir="${build.classes.dir}"/> + </target> + <target name="-pre-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-depend"> + <pathconvert property="build.generated.subdirs"> + <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </pathconvert> + <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> + <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> + <copy todir="${build.classes.dir}"> + <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target if="has.persistence.xml" name="-copy-persistence-xml"> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy todir="${build.classes.dir}/META-INF"> + <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/> + </copy> + </target> + <target name="-post-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/> + <target name="-pre-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:force-recompile/> + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/> + </target> + <target name="-post-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> + <!-- + ==================== + JAR BUILDING SECTION + ==================== + --> + <target depends="init" name="-pre-pre-jar"> + <dirname file="${dist.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + </target> + <target name="-pre-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <touch file="${tmp.manifest.file}" verbose="false"/> + </target> + <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass"> + <manifest file="${tmp.manifest.file}" mode="update"> + <attribute name="Main-Class" value="${main.class}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile"> + <manifest file="${tmp.manifest.file}" mode="update"> + <attribute name="Profile" value="${javac.profile}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen"> + <basename file="${application.splash}" property="splashscreen.basename"/> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> + <manifest file="${tmp.manifest.file}" mode="update"> + <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> + </manifest> + </target> + <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs"> + <j2seproject3:copylibs manifest="${tmp.manifest.file}"/> + <echo level="info">To run this application from the command line without Ant, try:</echo> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <echo level="info">java -jar "${dist.jar.resolved}"</echo> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist"> + <j2seproject1:jar manifest="${tmp.manifest.file}"/> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <pathconvert property="run.classpath.with.dist.jar"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> + </pathconvert> + <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}"> + <isset property="main.class.available"/> + </condition> + <condition else="debug" property="jar.usage.level" value="info"> + <isset property="main.class.available"/> + </condition> + <echo level="${jar.usage.level}" message="${jar.usage.message}"/> + </target> + <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest"> + <delete> + <fileset file="${tmp.manifest.file}"/> + </delete> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/> + <target name="-post-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/> + <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/> + <!-- + ================= + EXECUTION SECTION + ================= + --> + <target depends="init,compile" description="Run a main class." name="run"> + <j2seproject1:java> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject1:java> + </target> + <target name="-do-not-recompile"> + <property name="javac.includes.binary" value=""/> + </target> + <target depends="init,compile-single" name="run-single"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}"/> + </target> + <target depends="init,compile-test-single" name="run-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> + </target> + <!-- + ================= + DEBUGGING SECTION + ================= + --> + <target depends="init" if="netbeans.home" name="-debug-start-debugger"> + <j2seproject1:nbjpdastart name="${debug.class}"/> + </target> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> + </target> + <target depends="init,compile" name="-debug-start-debuggee"> + <j2seproject3:debug> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto"> + <j2seproject1:nbjpdastart stopclassname="${main.class}"/> + </target> + <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}"/> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> + <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/> + <target depends="init" name="-pre-debug-fix"> + <fail unless="fix.includes">Must set fix.includes</fail> + <property name="javac.includes" value="${fix.includes}.java"/> + </target> + <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix"> + <j2seproject1:nbjpdareload/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> + <!-- + ================= + PROFILING SECTION + ================= + --> + <!-- + pre NB7.2 profiler integration + --> + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile/> + </target> + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72"> + <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="${profile.class}"/> + </target> + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </profile> + </target> + <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + </nbprofiledirect> + <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true"> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <test name="${profile.class}"/> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + </junit> + </target> + <!-- + end of pre NB72 profiling section + --> + <target if="netbeans.home" name="-profile-check"> + <condition property="profiler.configured"> + <or> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/> + </or> + </condition> + </target> + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent"> + <startprofiler/> + <antcall target="run"/> + </target> + <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"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcall target="run-single"/> + </target> + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/> + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <startprofiler/> + <antcall target="test-single"/> + </target> + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcal target="run-test-with-main"/> + </target> + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <startprofiler/> + <antcall target="run-applet"/> + </target> + <!-- + =============== + JAVADOC SECTION + =============== + --> + <target depends="init" if="have.sources" name="-javadoc-build"> + <mkdir dir="${dist.javadoc.dir}"/> + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}"> + <and> + <isset property="endorsed.classpath.cmd.line.arg"/> + <not> + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/> + </not> + </and> + </condition> + <condition else="" property="bug5101868workaround" value="*.java"> + <matches pattern="1\.[56](\..*)?" string="${java.version}"/> + </condition> + <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${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}"> + <classpath> + <path path="${javac.classpath}"/> + </classpath> + <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> + <filename name="**/*.java"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/> + </javadoc> + <copy todir="${dist.javadoc.dir}"> + <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> + <filename name="**/doc-files/**"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/doc-files/**"/> + </fileset> + </copy> + </target> + <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> + <nbbrowse file="${dist.javadoc.dir}/index.html"/> + </target> + <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> + <!-- + ========================= + TEST COMPILATION SECTION + ========================= + --> + <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> + <mkdir dir="${build.test.classes.dir}"/> + </target> + <target name="-pre-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-test-depend"> + <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/> + <target name="-pre-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> + <!-- + ======================= + TEST EXECUTION SECTION + ======================= + --> + <target depends="init" if="have.tests" name="-pre-test-run"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> + <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/> + </target> + <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init" if="have.tests" name="test-report"/> + <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> + <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> + <target depends="init" if="have.tests" name="-pre-test-run-single"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <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"/> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method"> + <fail unless="test.class">Must select some files in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <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"/> + <!-- + ======================= + TEST DEBUGGING SECTION + ======================= + --> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/> + <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> + <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> + <!-- + ========================= + APPLET EXECUTION SECTION + ========================= + --> + <target depends="init,compile-single" name="run-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject1:java classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject1:java> + </target> + <!-- + ========================= + APPLET DEBUGGING SECTION + ========================= + --> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject3:debug classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/> + <!-- + =============== + CLEANUP SECTION + =============== + --> + <target name="-deps-clean-init" unless="built-clean.properties"> + <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> + <delete file="${built-clean.properties}" quiet="true"/> + </target> + <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> + <echo level="warn" message="Cycle detected: TcpClient was already built"/> + </target> + <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-clean.properties}" verbose="false"/> + <property file="${built-clean.properties}" prefix="already.built.clean."/> + <antcall target="-warn-already-built-clean"/> + <propertyfile file="${built-clean.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init" name="-do-clean"> + <delete dir="${build.dir}"/> + <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> + </target> + <target name="-post-clean"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> + <target name="-check-call-dep"> + <property file="${call.built.properties}" prefix="already.built."/> + <condition property="should.call.dep"> + <and> + <not> + <isset property="already.built.${call.subproject}"/> + </not> + <available file="${call.script}"/> + </and> + </condition> + </target> + <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> + <ant antfile="${call.script}" inheritall="false" target="${call.target}"> + <propertyset> + <propertyref prefix="transfer."/> + <mapper from="transfer.*" to="*" type="glob"/> + </propertyset> + </ant> + </target> +</project> diff --git a/src/TcpClient/nbproject/genfiles.properties b/src/TcpClient/nbproject/genfiles.properties new file mode 100644 index 0000000000..f2adf25410 --- /dev/null +++ b/src/TcpClient/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=cc795ec7 +build.xml.script.CRC32=2417acdc +build.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=cc795ec7 +nbproject/build-impl.xml.script.CRC32=3c068103 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/src/TcpClient/nbproject/private/private.properties b/src/TcpClient/nbproject/private/private.properties new file mode 100644 index 0000000000..3f729f882f --- /dev/null +++ b/src/TcpClient/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/Users/mcgredo/Library/Application Support/NetBeans/8.0/build.properties diff --git a/src/TcpClient/nbproject/project.properties b/src/TcpClient/nbproject/project.properties new file mode 100644 index 0000000000..52d91d6521 --- /dev/null +++ b/src/TcpClient/nbproject/project.properties @@ -0,0 +1,73 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +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 +dist.jar=${dist.dir}/TcpClient.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=tcpclient.TcpClient +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/src/TcpClient/nbproject/project.xml b/src/TcpClient/nbproject/project.xml new file mode 100644 index 0000000000..d880be2f50 --- /dev/null +++ b/src/TcpClient/nbproject/project.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.java.j2seproject</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> + <name>TcpClient</name> + <source-roots> + <root id="src.dir"/> + </source-roots> + <test-roots> + <root id="test.src.dir"/> + </test-roots> + </data> + <libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1"> + <definitions>./lib/nblibraries.properties</definitions> + </libraries> + </configuration> +</project> diff --git a/src/TcpClient/src/tcpclient/TcpClient.java b/src/TcpClient/src/tcpclient/TcpClient.java new file mode 100644 index 0000000000..fd8664fa90 --- /dev/null +++ b/src/TcpClient/src/tcpclient/TcpClient.java @@ -0,0 +1,66 @@ + +package tcpclient; + +import java.net.*; +import java.io.*; + +public class TcpClient +{ + + public static void main(String[] args) + { + + try + { + // Do a DNS lookup on the server we want, and return a Java + // object that represents the IP number. + InetAddress server = InetAddress.getByName("nps.edu"); + + // Establish a socket connection to the server specified, on the port. + Socket connection = new Socket(server, 80); + + // Input stream and output stream are very simple objects that + // let us read or write bytes. + OutputStream os = connection.getOutputStream(); + InputStream is = connection.getInputStream(); + + System.out.println("established socket connection"); + + // PrintWriter is a little better at handling text, which + // is what web servers expect. The http request standard + // (https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html) + // can be picky about things like whether a line ends with a + // the invisible control characters "<CR><LF>" or not. This + // adds to returns. + + PrintWriter pw = new PrintWriter(os); + + // Send a HTTP request to the server + pw.println("GET /index.html HTTP/1.0"); + pw.println(); + pw.flush(); + + // Set up the classes to read the response. BufferedReader + // is what we use to read the response back, line by line. + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + + // Loop through the response, reading line by line. When we get + // a null response back from an attempted line read, we know + // the input has ended. Print out the lines as they come back. + + String response; + while( (response = br.readLine()) != null) + { + System.out.println("Response is " + response); + } + + } + catch(Exception e) + { + System.out.println(e); + } + + } + +} diff --git a/src/TcpServer/build.xml b/src/TcpServer/build.xml new file mode 100644 index 0000000000..c014bd7267 --- /dev/null +++ b/src/TcpServer/build.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- You may freely edit this file. See commented blocks below for --> +<!-- some examples of how to customize the build. --> +<!-- (If you delete it and reopen the project it will be recreated.) --> +<!-- By default, only the Clean and Build commands use this build script. --> +<!-- Commands such as Run, Debug, and Test only use this build script if --> +<!-- the Compile on Save feature is turned off for the project. --> +<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> +<!-- in the project's Project Properties dialog box.--> +<project name="TcpServer" default="default" basedir="."> + <description>Builds, tests, and runs the project TcpServer.</description> + <import file="nbproject/build-impl.xml"/> + <!-- + + 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 + -post-init: called after initialization of project properties + -pre-compile: called before javac compilation + -post-compile: called after javac compilation + -pre-compile-single: called before javac compilation of single file + -post-compile-single: called after javac compilation of single file + -pre-compile-test: called before javac compilation of JUnit tests + -post-compile-test: called after javac compilation of JUnit tests + -pre-compile-test-single: called before javac compilation of single JUnit test + -post-compile-test-single: called after javac compilation of single JUunit test + -pre-jar: called before JAR building + -post-jar: called after JAR building + -post-clean: called after cleaning build products + + (Targets beginning with '-' are not intended to be called on their own.) + + Example of inserting an obfuscator after compilation could look like this: + + <target name="-post-compile"> + <obfuscate> + <fileset dir="${build.classes.dir}"/> + </obfuscate> + </target> + + 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: + + -init-macrodef-javac: defines macro for javac compilation + -init-macrodef-junit: defines macro for junit execution + -init-macrodef-debug: defines macro for class debugging + -init-macrodef-java: defines macro for class execution + -do-jar: JAR building + run: execution of project + -javadoc-build: Javadoc generation + test-report: JUnit report generation + + An example of overriding the target for project execution could look like this: + + <target name="run" depends="TcpServer-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </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 + properties which you can use, check the target you are overriding in the + nbproject/build-impl.xml file. + + --> +</project> diff --git a/src/TcpServer/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar b/src/TcpServer/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc00f0c62cbac0de1c35e927a80aaebae1e1ba8 GIT binary patch literal 22969 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 literal 0 HcmV?d00001 diff --git a/src/TcpServer/lib/nblibraries.properties b/src/TcpServer/lib/nblibraries.properties new file mode 100644 index 0000000000..6d0afb59d6 --- /dev/null +++ b/src/TcpServer/lib/nblibraries.properties @@ -0,0 +1,4 @@ +libs.CopyLibs.classpath=\ + ${base}/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar +libs.CopyLibs.displayName=CopyLibs Task +libs.CopyLibs.prop-version=2.0 diff --git a/src/TcpServer/manifest.mf b/src/TcpServer/manifest.mf new file mode 100644 index 0000000000..328e8e5bc3 --- /dev/null +++ b/src/TcpServer/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/src/TcpServer/nbproject/build-impl.xml b/src/TcpServer/nbproject/build-impl.xml new file mode 100644 index 0000000000..738e87fe06 --- /dev/null +++ b/src/TcpServer/nbproject/build-impl.xml @@ -0,0 +1,1438 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +*** GENERATED FROM project.xml - DO NOT EDIT *** +*** EDIT ../build.xml INSTEAD *** + +For the purpose of easier reading the script +is divided into following sections: + + - initialization + - compilation + - jar + - execution + - debugging + - javadoc + - test compilation + - test execution + - test debugging + - applet + - cleanup + + --> +<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="TcpServer-impl"> + <fail message="Please build using Ant 1.8.0 or higher."> + <condition> + <not> + <antversion atleast="1.8.0"/> + </not> + </condition> + </fail> + <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> + <!-- + ====================== + INITIALIZATION SECTION + ====================== + --> + <target name="-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init" name="-init-private"> + <property file="nbproject/private/config.properties"/> + <property file="nbproject/private/configs/${config}.properties"/> + <property file="nbproject/private/private.properties"/> + </target> + <target name="-pre-init-libraries"> + <property location="./lib/nblibraries.properties" name="libraries.path"/> + <dirname file="${libraries.path}" property="libraries.dir.nativedirsep"/> + <pathconvert dirsep="/" property="libraries.dir"> + <path path="${libraries.dir.nativedirsep}"/> + </pathconvert> + <basename file="${libraries.path}" property="libraries.basename" suffix=".properties"/> + <available file="${libraries.dir}/${libraries.basename}-private.properties" property="private.properties.available"/> + </target> + <target depends="-pre-init-libraries" if="private.properties.available" name="-init-private-libraries"> + <loadproperties encoding="ISO-8859-1" srcfile="${libraries.dir}/${libraries.basename}-private.properties"> + <filterchain> + <replacestring from="$${base}" to="${libraries.dir}"/> + <escapeunicode/> + </filterchain> + </loadproperties> + </target> + <target depends="-pre-init,-init-private,-init-private-libraries" name="-init-libraries"> + <loadproperties encoding="ISO-8859-1" srcfile="${libraries.path}"> + <filterchain> + <replacestring from="$${base}" to="${libraries.dir}"/> + <escapeunicode/> + </filterchain> + </loadproperties> + </target> + <target depends="-pre-init,-init-private,-init-libraries" name="-init-user"> + <property file="${user.properties.file}"/> + <!-- The two properties below are usually overridden --> + <!-- by the active platform. Just a fallback. --> + <property name="default.javac.source" value="1.4"/> + <property name="default.javac.target" value="1.4"/> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-init-user" name="-init-project"> + <property file="nbproject/configs/${config}.properties"/> + <property file="nbproject/project.properties"/> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-init-macrodef-property" name="-do-init"> + <property name="platform.java" value="${java.home}/bin/java"/> + <available file="${manifest.file}" property="manifest.available"/> + <condition property="splashscreen.available"> + <and> + <not> + <equals arg1="${application.splash}" arg2="" trim="true"/> + </not> + <available file="${application.splash}"/> + </and> + </condition> + <condition property="main.class.available"> + <and> + <isset property="main.class"/> + <not> + <equals arg1="${main.class}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition property="profile.available"> + <and> + <isset property="javac.profile"/> + <length length="0" string="${javac.profile}" when="greater"/> + <matches pattern="1\.[89](\..*)?" string="${javac.source}"/> + </and> + </condition> + <condition property="do.archive"> + <or> + <not> + <istrue value="${jar.archive.disabled}"/> + </not> + <istrue value="${not.archive.disabled}"/> + </or> + </condition> + <condition property="do.mkdist"> + <and> + <isset property="do.archive"/> + <isset property="libs.CopyLibs.classpath"/> + <not> + <istrue value="${mkdist.disabled}"/> + </not> + </and> + </condition> + <condition property="do.archive+manifest.available"> + <and> + <isset property="manifest.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+main.class.available"> + <and> + <isset property="main.class.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+splashscreen.available"> + <and> + <isset property="splashscreen.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+profile.available"> + <and> + <isset property="profile.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="have.tests"> + <or> + <available file="${test.src.dir}"/> + </or> + </condition> + <condition property="have.sources"> + <or> + <available file="${src.dir}"/> + </or> + </condition> + <condition property="netbeans.home+have.tests"> + <and> + <isset property="netbeans.home"/> + <isset property="have.tests"/> + </and> + </condition> + <condition property="no.javadoc.preview"> + <and> + <isset property="javadoc.preview"/> + <isfalse value="${javadoc.preview}"/> + </and> + </condition> + <property name="run.jvmargs" value=""/> + <property name="run.jvmargs.ide" value=""/> + <property name="javac.compilerargs" value=""/> + <property name="work.dir" value="${basedir}"/> + <condition property="no.deps"> + <and> + <istrue value="${no.dependencies}"/> + </and> + </condition> + <property name="javac.debug" value="true"/> + <property name="javadoc.preview" value="true"/> + <property name="application.args" value=""/> + <property name="source.encoding" value="${file.encoding}"/> + <property name="runtime.encoding" value="${source.encoding}"/> + <condition property="javadoc.encoding.used" value="${javadoc.encoding}"> + <and> + <isset property="javadoc.encoding"/> + <not> + <equals arg1="${javadoc.encoding}" arg2=""/> + </not> + </and> + </condition> + <property name="javadoc.encoding.used" value="${source.encoding}"/> + <property name="includes" value="**"/> + <property name="excludes" value=""/> + <property name="do.depend" value="false"/> + <condition property="do.depend.true"> + <istrue value="${do.depend}"/> + </condition> + <path id="endorsed.classpath.path" path="${endorsed.classpath}"/> + <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> + <and> + <isset property="endorsed.classpath"/> + <not> + <equals arg1="${endorsed.classpath}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}"> + <isset property="profile.available"/> + </condition> + <condition else="false" property="jdkBug6558476"> + <and> + <matches pattern="1\.[56]" string="${java.specification.version}"/> + <not> + <os family="unix"/> + </not> + </and> + </condition> + <property name="javac.fork" value="${jdkBug6558476}"/> + <property name="jar.index" value="false"/> + <property name="jar.index.metainf" value="${jar.index}"/> + <property name="copylibs.rebase" value="true"/> + <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> + <condition property="junit.available"> + <or> + <available classname="org.junit.Test" classpath="${run.test.classpath}"/> + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/> + </or> + </condition> + <condition property="testng.available"> + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/> + </condition> + <condition property="junit+testng.available"> + <and> + <istrue value="${junit.available}"/> + <istrue value="${testng.available}"/> + </and> + </condition> + <condition else="testng" property="testng.mode" value="mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + <condition else="" property="testng.debug.mode" value="-mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + </target> + <target name="-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-do-init" name="-init-check"> + <fail unless="src.dir">Must set src.dir</fail> + <fail unless="test.src.dir">Must set test.src.dir</fail> + <fail unless="build.dir">Must set build.dir</fail> + <fail unless="dist.dir">Must set dist.dir</fail> + <fail unless="build.classes.dir">Must set build.classes.dir</fail> + <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> + <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail> + <fail unless="build.test.results.dir">Must set build.test.results.dir</fail> + <fail unless="build.classes.excludes">Must set build.classes.excludes</fail> + <fail unless="dist.jar">Must set dist.jar</fail> + </target> + <target name="-init-macrodef-property"> + <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${@{value}}"/> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <mkdir dir="@{apgeneratedsrcdir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <src> + <dirset dir="@{gensrcdir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </src> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> + <compilerarg line="${javac.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <compilerarg value="-processorpath"/> + <compilerarg path="@{processorpath}:${empty.dir}"/> + <compilerarg line="${ap.processors.internal}"/> + <compilerarg line="${annotation.processing.processor.options}"/> + <compilerarg value="-s"/> + <compilerarg path="@{apgeneratedsrcdir}"/> + <compilerarg line="${ap.proc.none.internal}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <src> + <dirset dir="@{gensrcdir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </src> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> + <compilerarg line="${javac.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> + <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <sequential> + <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </depend> + </sequential> + </macrodef> + <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${build.classes.dir}" name="destdir"/> + <sequential> + <fail unless="javac.includes">Must set javac.includes</fail> + <pathconvert pathsep="${line.separator}" property="javac.includes.binary"> + <path> + <filelist dir="@{destdir}" files="${javac.includes}"/> + </path> + <globmapper from="*.java" to="*.class"/> + </pathconvert> + <tempfile deleteonexit="true" property="javac.includesfile.binary"/> + <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/> + <delete> + <files includesfile="${javac.includesfile.binary}"/> + </delete> + <delete> + <fileset file="${javac.includesfile.binary}"/> + </delete> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-init"> + <condition else="false" property="nb.junit.batch" value="true"> + <and> + <istrue value="${junit.available}"/> + <not> + <isset property="test.method"/> + </not> + </and> + </condition> + <condition else="false" property="nb.junit.single" value="true"> + <and> + <istrue value="${junit.available}"/> + <isset property="test.method"/> + </and> + </condition> + </target> + <target name="-init-test-properties"> + <property name="test.binaryincludes" value="<nothing>"/> + <property name="test.binarytestincludes" value=""/> + <property name="test.binaryexcludes" value=""/> + </target> + <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/> + <target if="${testng.available}" name="-init-macrodef-testng"> + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}"> + <isset property="test.method"/> + </condition> + <union id="test.set"> + <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + </union> + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> + <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="TcpServer" testname="TestNG tests" workingDir="${work.dir}"> + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> + <propertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </propertyset> + <customize/> + </testng> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-test-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <echo>No tests executed.</echo> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:testng> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test"> + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <sequential> + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-impl> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl"> + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit-debug> + </sequential> + </macrodef> + </target> + <target if="${testng.available}" name="-init-macrodef-testng-debug"> + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element name="customize2" optional="true"/> + <sequential> + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> + <isset property="test.method"/> + </condition> + <condition else="-suitename TcpServer -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> + <matches pattern=".*\.xml" string="@{testClass}"/> + </condition> + <delete dir="${build.test.results.dir}" quiet="true"/> + <mkdir dir="${build.test.results.dir}"/> + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}"> + <customize> + <customize2/> + <jvmarg value="-ea"/> + <arg line="${testng.debug.mode}"/> + <arg line="-d ${build.test.results.dir}"/> + <arg line="-listener org.testng.reporters.VerboseReporter"/> + <arg line="${testng.cmd.args}"/> + </customize> + </j2seproject3:debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl"> + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element implicit="true" name="customize2" optional="true"/> + <sequential> + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2/> + </j2seproject3:testng-debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + </customize2> + </j2seproject3:testng-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/> + <!-- + pre NB7.2 profiling section; consider it deprecated + --> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/> + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile"> + <macrodef name="resolve"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${env.@{value}}"/> + </sequential> + </macrodef> + <macrodef name="profile"> + <attribute default="${main.class}" name="classname"/> + <element name="customize" optional="true"/> + <sequential> + <property environment="env"/> + <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/> + <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <arg line="${application.args}"/> + <classpath> + <path path="${run.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check"> + <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail> + <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail> + </target> + <!-- + end of pre NB7.2 profiling section + --> + <target depends="-init-debug-args" name="-init-macrodef-nbjpda"> + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="name"/> + <attribute default="${debug.classpath}" name="classpath"/> + <attribute default="" name="stopclassname"/> + <sequential> + <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </nbjpdastart> + </sequential> + </macrodef> + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${build.classes.dir}" name="dir"/> + <sequential> + <nbjpdareload> + <fileset dir="@{dir}" includes="${fix.classes}"> + <include name="${fix.includes}*.class"/> + </fileset> + </nbjpdareload> + </sequential> + </macrodef> + </target> + <target name="-init-debug-args"> + <property name="version-output" value="java version "${ant.java.version}"/> + <condition property="have-jdk-older-than-1.4"> + <or> + <contains string="${version-output}" substring="java version "1.0"/> + <contains string="${version-output}" substring="java version "1.1"/> + <contains string="${version-output}" substring="java version "1.2"/> + <contains string="${version-output}" substring="java version "1.3"/> + </or> + </condition> + <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none"> + <istrue value="${have-jdk-older-than-1.4}"/> + </condition> + <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem"> + <os family="windows"/> + </condition> + <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}"> + <isset property="debug.transport"/> + </condition> + </target> + <target depends="-init-debug-args" name="-init-macrodef-debug"> + <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${debug.classpath}" name="classpath"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-java"> + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${run.classpath}" name="classpath"/> + <attribute default="jvm" name="jvm"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-copylibs"> + <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${manifest.file}" name="manifest"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <pathconvert property="run.classpath.without.build.classes.dir"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to=""/> + </pathconvert> + <pathconvert pathsep=" " property="jar.classpath"> + <path path="${run.classpath.without.build.classes.dir}"/> + <chainedmapper> + <flattenmapper/> + <filtermapper> + <replacestring from=" " to="%20"/> + </filtermapper> + <globmapper from="*" to="lib/*"/> + </chainedmapper> + </pathconvert> + <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> + <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> + <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + <manifest> + <attribute name="Class-Path" value="${jar.classpath}"/> + <customize/> + </manifest> + </copylibs> + </sequential> + </macrodef> + </target> + <target name="-init-presetdef-jar"> + <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}"> + <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + </jar> + </presetdef> + </target> + <target name="-init-ap-cmdline-properties"> + <property name="annotation.processing.enabled" value="true"/> + <property name="annotation.processing.processors.list" value=""/> + <property name="annotation.processing.processor.options" value=""/> + <property name="annotation.processing.run.all.processors" value="true"/> + <property name="javac.processorpath" value="${javac.classpath}"/> + <property name="javac.test.processorpath" value="${javac.test.classpath}"/> + <condition property="ap.supported.internal" value="true"> + <not> + <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> + </not> + </condition> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> + <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> + <isfalse value="${annotation.processing.run.all.processors}"/> + </condition> + <condition else="" property="ap.proc.none.internal" value="-proc:none"> + <isfalse value="${annotation.processing.enabled}"/> + </condition> + </target> + <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> + <property name="ap.cmd.line.internal" value=""/> + </target> + <target depends="-pre-init,-init-private,-init-libraries,-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"/> + <!-- + =================== + COMPILATION SECTION + =================== + --> + <target name="-deps-jar-init" unless="built-jar.properties"> + <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> + <delete file="${built-jar.properties}" quiet="true"/> + </target> + <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> + <echo level="warn" message="Cycle detected: TcpServer was already built"/> + </target> + <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-jar.properties}" verbose="false"/> + <property file="${built-jar.properties}" prefix="already.built.jar."/> + <antcall target="-warn-already-built-jar"/> + <propertyfile file="${built-jar.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> + <target depends="init" name="-check-automatic-build"> + <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/> + </target> + <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build"> + <antcall target="clean"/> + </target> + <target depends="init,deps-jar" name="-pre-pre-compile"> + <mkdir dir="${build.classes.dir}"/> + </target> + <target name="-pre-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-depend"> + <pathconvert property="build.generated.subdirs"> + <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </pathconvert> + <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> + <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> + <copy todir="${build.classes.dir}"> + <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target if="has.persistence.xml" name="-copy-persistence-xml"> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy todir="${build.classes.dir}/META-INF"> + <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/> + </copy> + </target> + <target name="-post-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/> + <target name="-pre-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:force-recompile/> + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/> + </target> + <target name="-post-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> + <!-- + ==================== + JAR BUILDING SECTION + ==================== + --> + <target depends="init" name="-pre-pre-jar"> + <dirname file="${dist.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + </target> + <target name="-pre-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <touch file="${tmp.manifest.file}" verbose="false"/> + </target> + <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass"> + <manifest file="${tmp.manifest.file}" mode="update"> + <attribute name="Main-Class" value="${main.class}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile"> + <manifest file="${tmp.manifest.file}" mode="update"> + <attribute name="Profile" value="${javac.profile}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen"> + <basename file="${application.splash}" property="splashscreen.basename"/> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> + <manifest file="${tmp.manifest.file}" mode="update"> + <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> + </manifest> + </target> + <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs"> + <j2seproject3:copylibs manifest="${tmp.manifest.file}"/> + <echo level="info">To run this application from the command line without Ant, try:</echo> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <echo level="info">java -jar "${dist.jar.resolved}"</echo> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist"> + <j2seproject1:jar manifest="${tmp.manifest.file}"/> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <pathconvert property="run.classpath.with.dist.jar"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> + </pathconvert> + <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}"> + <isset property="main.class.available"/> + </condition> + <condition else="debug" property="jar.usage.level" value="info"> + <isset property="main.class.available"/> + </condition> + <echo level="${jar.usage.level}" message="${jar.usage.message}"/> + </target> + <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest"> + <delete> + <fileset file="${tmp.manifest.file}"/> + </delete> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/> + <target name="-post-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/> + <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/> + <!-- + ================= + EXECUTION SECTION + ================= + --> + <target depends="init,compile" description="Run a main class." name="run"> + <j2seproject1:java> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject1:java> + </target> + <target name="-do-not-recompile"> + <property name="javac.includes.binary" value=""/> + </target> + <target depends="init,compile-single" name="run-single"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}"/> + </target> + <target depends="init,compile-test-single" name="run-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> + </target> + <!-- + ================= + DEBUGGING SECTION + ================= + --> + <target depends="init" if="netbeans.home" name="-debug-start-debugger"> + <j2seproject1:nbjpdastart name="${debug.class}"/> + </target> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> + </target> + <target depends="init,compile" name="-debug-start-debuggee"> + <j2seproject3:debug> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto"> + <j2seproject1:nbjpdastart stopclassname="${main.class}"/> + </target> + <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}"/> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> + <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/> + <target depends="init" name="-pre-debug-fix"> + <fail unless="fix.includes">Must set fix.includes</fail> + <property name="javac.includes" value="${fix.includes}.java"/> + </target> + <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix"> + <j2seproject1:nbjpdareload/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> + <!-- + ================= + PROFILING SECTION + ================= + --> + <!-- + pre NB7.2 profiler integration + --> + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile/> + </target> + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72"> + <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="${profile.class}"/> + </target> + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </profile> + </target> + <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + </nbprofiledirect> + <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true"> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <test name="${profile.class}"/> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + </junit> + </target> + <!-- + end of pre NB72 profiling section + --> + <target if="netbeans.home" name="-profile-check"> + <condition property="profiler.configured"> + <or> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/> + </or> + </condition> + </target> + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent"> + <startprofiler/> + <antcall target="run"/> + </target> + <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"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcall target="run-single"/> + </target> + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/> + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <startprofiler/> + <antcall target="test-single"/> + </target> + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcal target="run-test-with-main"/> + </target> + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <startprofiler/> + <antcall target="run-applet"/> + </target> + <!-- + =============== + JAVADOC SECTION + =============== + --> + <target depends="init" if="have.sources" name="-javadoc-build"> + <mkdir dir="${dist.javadoc.dir}"/> + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}"> + <and> + <isset property="endorsed.classpath.cmd.line.arg"/> + <not> + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/> + </not> + </and> + </condition> + <condition else="" property="bug5101868workaround" value="*.java"> + <matches pattern="1\.[56](\..*)?" string="${java.version}"/> + </condition> + <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${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}"> + <classpath> + <path path="${javac.classpath}"/> + </classpath> + <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> + <filename name="**/*.java"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/> + </javadoc> + <copy todir="${dist.javadoc.dir}"> + <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> + <filename name="**/doc-files/**"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/doc-files/**"/> + </fileset> + </copy> + </target> + <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> + <nbbrowse file="${dist.javadoc.dir}/index.html"/> + </target> + <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> + <!-- + ========================= + TEST COMPILATION SECTION + ========================= + --> + <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> + <mkdir dir="${build.test.classes.dir}"/> + </target> + <target name="-pre-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-test-depend"> + <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/> + <target name="-pre-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> + <!-- + ======================= + TEST EXECUTION SECTION + ======================= + --> + <target depends="init" if="have.tests" name="-pre-test-run"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> + <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/> + </target> + <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init" if="have.tests" name="test-report"/> + <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> + <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> + <target depends="init" if="have.tests" name="-pre-test-run-single"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <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"/> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method"> + <fail unless="test.class">Must select some files in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <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"/> + <!-- + ======================= + TEST DEBUGGING SECTION + ======================= + --> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/> + <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> + <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> + <!-- + ========================= + APPLET EXECUTION SECTION + ========================= + --> + <target depends="init,compile-single" name="run-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject1:java classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject1:java> + </target> + <!-- + ========================= + APPLET DEBUGGING SECTION + ========================= + --> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject3:debug classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/> + <!-- + =============== + CLEANUP SECTION + =============== + --> + <target name="-deps-clean-init" unless="built-clean.properties"> + <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> + <delete file="${built-clean.properties}" quiet="true"/> + </target> + <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> + <echo level="warn" message="Cycle detected: TcpServer was already built"/> + </target> + <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-clean.properties}" verbose="false"/> + <property file="${built-clean.properties}" prefix="already.built.clean."/> + <antcall target="-warn-already-built-clean"/> + <propertyfile file="${built-clean.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init" name="-do-clean"> + <delete dir="${build.dir}"/> + <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> + </target> + <target name="-post-clean"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> + <target name="-check-call-dep"> + <property file="${call.built.properties}" prefix="already.built."/> + <condition property="should.call.dep"> + <and> + <not> + <isset property="already.built.${call.subproject}"/> + </not> + <available file="${call.script}"/> + </and> + </condition> + </target> + <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> + <ant antfile="${call.script}" inheritall="false" target="${call.target}"> + <propertyset> + <propertyref prefix="transfer."/> + <mapper from="transfer.*" to="*" type="glob"/> + </propertyset> + </ant> + </target> +</project> diff --git a/src/TcpServer/nbproject/genfiles.properties b/src/TcpServer/nbproject/genfiles.properties new file mode 100644 index 0000000000..487fa58681 --- /dev/null +++ b/src/TcpServer/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=76ff3440 +build.xml.script.CRC32=7d42d858 +build.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=76ff3440 +nbproject/build-impl.xml.script.CRC32=26088224 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/src/TcpServer/nbproject/project.properties b/src/TcpServer/nbproject/project.properties new file mode 100644 index 0000000000..a626038d9e --- /dev/null +++ b/src/TcpServer/nbproject/project.properties @@ -0,0 +1,73 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +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 +dist.jar=${dist.dir}/TcpServer.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=tcpserver.TcpServer +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/src/TcpServer/nbproject/project.xml b/src/TcpServer/nbproject/project.xml new file mode 100644 index 0000000000..6634dfd5a6 --- /dev/null +++ b/src/TcpServer/nbproject/project.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.java.j2seproject</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> + <name>TcpServer</name> + <source-roots> + <root id="src.dir"/> + </source-roots> + <test-roots> + <root id="test.src.dir"/> + </test-roots> + </data> + <libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1"> + <definitions>./lib/nblibraries.properties</definitions> + </libraries> + </configuration> +</project> diff --git a/src/TcpServer/src/tcpserver/ConnectionHandler.java b/src/TcpServer/src/tcpserver/ConnectionHandler.java new file mode 100644 index 0000000000..c80ba6fbc7 --- /dev/null +++ b/src/TcpServer/src/tcpserver/ConnectionHandler.java @@ -0,0 +1,12 @@ + +package tcpserver; + +public class ConnectionHandler implements Runnable +{ + @Override + public void run() + { + + } + +} diff --git a/src/TcpServer/src/tcpserver/TcpServer.java b/src/TcpServer/src/tcpserver/TcpServer.java new file mode 100644 index 0000000000..c41b6f2189 --- /dev/null +++ b/src/TcpServer/src/tcpserver/TcpServer.java @@ -0,0 +1,50 @@ + +package tcpserver; + +import java.net.*; +import java.io.*; + +public class TcpServer { + + public static void main(String[] args) + { + try + { + ServerSocket server = new ServerSocket(4567); + + while(true) + { + Socket connection = server.accept(); + ConnectionHandler handler = new ConnectionHandler(); + Thread connectionThread = new Thread(handler); + + connectionThread.start(); + + InputStream is = connection.getInputStream(); + OutputStream os = connection.getOutputStream(); + + PrintWriter pw = new PrintWriter(os); + + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + + String clientText = br.readLine(); + + + System.out.println(clientText); + + pw.println("Hello from server"); + pw.flush(); + + + connection.close(); + } + } + catch(Exception e) + { + System.out.println(e); + } + + } + +} -- GitLab