Author: bdonlan
Date: 2005-01-05 20:56:12 -0500 (Wed, 05 Jan 2005)
New Revision: 524
Added:
trunk/misc/javer/
trunk/misc/javer/build.xml
trunk/misc/javer/build/
trunk/misc/javer/dist/
trunk/misc/javer/manifest.mf
trunk/misc/javer/nbproject/
trunk/misc/javer/nbproject/build-impl.xml
trunk/misc/javer/nbproject/genfiles.properties
trunk/misc/javer/nbproject/project.properties
trunk/misc/javer/nbproject/project.xml
trunk/misc/javer/src/
trunk/misc/javer/src/javer/
trunk/misc/javer/src/javer/HaverClient.java
trunk/misc/javer/src/javer/HaverException.java
trunk/misc/javer/src/javer/Main.java
trunk/misc/javer/test/
Modified:
/
Log:
Initial import of Javer
Property changes on:
___________________________________________________________________
Name: svk:merge
- 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11187
+ 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11190
Added: trunk/misc/javer/build.xml
===================================================================
--- trunk/misc/javer/build.xml 2005-01-06 01:24:31 UTC (rev 523)
+++ trunk/misc/javer/build.xml 2005-01-06 01:56:12 UTC (rev 524)
@@ -0,0 +1,69 @@
+<?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.) -->
+<project name="javer" default="default" basedir=".">
+ <description>Builds, tests, and runs the project javer.</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-with-manifest: JAR building (if you are using a manifest)
+ -do-jar-without-manifest: JAR building (if you are not using a manifest)
+ run: execution of project
+ -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="javer-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>
Property changes on: trunk/misc/javer/build.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/manifest.mf
===================================================================
--- trunk/misc/javer/manifest.mf 2005-01-06 01:24:31 UTC (rev 523)
+++ trunk/misc/javer/manifest.mf 2005-01-06 01:56:12 UTC (rev 524)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
Added: trunk/misc/javer/nbproject/build-impl.xml
===================================================================
--- trunk/misc/javer/nbproject/build-impl.xml 2005-01-06 01:24:31 UTC (rev
523)
+++ trunk/misc/javer/nbproject/build-impl.xml 2005-01-06 01:56:12 UTC (rev
524)
@@ -0,0 +1,475 @@
+<?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
+ - junit compilation
+ - junit execution
+ - junit debugging
+ - applet
+ - cleanup
+
+-->
+<project name="javer-impl" default="build" basedir="..">
+ <target name="default" depends="test,jar,javadoc" description="Build and
test whole project."/>
+ <!--
+ ======================
+ INITIALIZATION SECTION
+ ======================
+ -->
+ <target name="-pre-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="-init-private" depends="-pre-init">
+ <property file="nbproject/private/private.properties"/>
+ </target>
+ <target name="-init-user" depends="-pre-init,-init-private">
+ <property file="${user.properties.file}"/>
+ <!-- The two properties below are usually overridden -->
+ <!-- by the active platform. Just a fallback. -->
+ <property value="1.4" name="default.javac.source"/>
+ <property value="1.4" name="default.javac.target"/>
+ </target>
+ <target name="-init-project" depends="-pre-init,-init-private,-init-user">
+ <property file="nbproject/project.properties"/>
+ </target>
+ <target name="-do-init"
depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property">
+ <available property="manifest.available" file="${manifest.file}"/>
+ <condition property="manifest.available+main.class">
+ <and>
+ <isset property="manifest.available"/>
+ <isset property="main.class"/>
+ <not>
+ <equals trim="true" arg2="" arg1="${main.class}"/>
+ </not>
+ </and>
+ </condition>
+ <available file="${test.src.dir}" property="have.tests"/>
+ <condition property="netbeans.home+have.tests">
+ <and>
+ <isset property="netbeans.home"/>
+ <isset property="have.tests"/>
+ </and>
+ </condition>
+ <condition property="no.javadoc.preview">
+ <isfalse value="${javadoc.preview}"/>
+ </condition>
+ <property value="" name="run.jvmargs"/>
+ <property value="" name="javac.compilerargs"/>
+ <property value="${basedir}" name="work.dir"/>
+ <condition property="no.deps">
+ <and>
+ <istrue value="${no.dependencies}"/>
+ </and>
+ </condition>
+ </target>
+ <target name="-post-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="-init-check"
depends="-pre-init,-init-private,-init-user,-init-project,-do-init">
+ <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="[EMAIL PROTECTED]"/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-javac">
+ <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="srcdir" default="${src.dir}"/>
+ <attribute name="destdir" default="${build.classes.dir}"/>
+ <attribute name="classpath" default="${javac.classpath}"/>
+ <attribute name="debug" default="${javac.debug}"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <javac srcdir="@{srcdir}" destdir="@{destdir}"
debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}"
target="${javac.target}" includeantruntime="false">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <compilerarg line="${javac.compilerargs}"/>
+ <customize/>
+ </javac>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-junit">
+ <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="includes" default="**/*Test.java"/>
+ <sequential>
+ <junit showoutput="true" fork="true" dir="${basedir}"
failureproperty="tests.failed" errorproperty="tests.failed">
+ <batchtest todir="${build.test.results.dir}">
+ <fileset includes="@{includes}" dir="${test.src.dir}"/>
+ </batchtest>
+ <classpath>
+ <path path="${run.test.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper to="*" from="test-sys-prop.*" type="glob"/>
+ </syspropertyset>
+ <formatter usefile="false" type="brief"/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-nbjpda">
+ <macrodef name="nbjpdastart"
uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="name" default="${main.class}"/>
+ <attribute name="classpath" default="${debug.classpath}"/>
+ <attribute name="stopclassname" default=""/>
+ <sequential>
+ <nbjpdastart stopclassname="@{stopclassname}" name="@{name}"
addressproperty="jpda.address" transport="dt_socket">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </nbjpdastart>
+ </sequential>
+ </macrodef>
+ <macrodef name="nbjpdareload"
uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="dir" default="${build.classes.dir}"/>
+ <sequential>
+ <nbjpdareload>
+ <fileset dir="@{dir}" includes="${fix.includes}*.class"/>
+ </nbjpdareload>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-debug">
+ <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="classname" default="${main.class}"/>
+ <attribute name="classpath" default="${debug.classpath}"/>
+ <attribute name="args" default="${application.args}"/>
+ <sequential>
+ <java classname="@{classname}" fork="true" dir="${work.dir}">
+ <jvmarg value="-Xdebug"/>
+ <jvmarg value="-Xnoagent"/>
+ <jvmarg value="-Djava.compiler=none"/>
+ <jvmarg
value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
+ <jvmarg line="${run.jvmargs}"/>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper to="*" from="run-sys-prop.*" type="glob"/>
+ </syspropertyset>
+ <arg line="@{args}"/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-java">
+ <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="classname" default="${main.class}"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" fork="true" dir="${work.dir}">
+ <jvmarg line="${run.jvmargs}"/>
+ <classpath>
+ <path path="${run.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper to="*" from="run-sys-prop.*" type="glob"/>
+ </syspropertyset>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-presetdef-jar">
+ <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <jar compress="${jar.compress}" jarfile="${dist.jar}">
+ <fileset xmlns="http://www.netbeans.org/ns/j2se-project/1"
dir="${build.classes.dir}"/>
+ </jar>
+ </presetdef>
+ </target>
+ <target name="init"
depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar"/>
+ <!--
+ ===================
+ COMPILATION SECTION
+ ===================
+ -->
+ <target name="deps-jar" depends="init" unless="no.deps"/>
+ <target name="-pre-pre-compile" depends="init,deps-jar">
+ <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 name="-do-compile"
depends="init,deps-jar,-pre-pre-compile,-pre-compile">
+ <j2seproject:javac
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+ <copy todir="${build.classes.dir}">
+ <fileset excludes="${build.classes.excludes}" dir="${src.dir}"/>
+ </copy>
+ </target>
+ <target name="-post-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="compile"
depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile"
description="Compile project."/>
+ <target name="-pre-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile">
+ <fail unless="javac.includes">Must select some files in the IDE or set
javac.includes</fail>
+ <j2seproject:javac
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1">
+ <customize>
+ <patternset includes="${javac.includes}"/>
+ </customize>
+ </j2seproject:javac>
+ </target>
+ <target name="-post-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="compile-single"
depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/>
+ <!--
+ ====================
+ JAR BUILDING SECTION
+ ====================
+ -->
+ <target name="-pre-pre-jar" depends="init">
+ <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 name="-do-jar-without-manifest"
depends="init,compile,-pre-pre-jar,-pre-jar" unless="manifest.available">
+ <j2seproject:jar
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+ </target>
+ <target name="-do-jar-with-manifest"
depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available"
unless="manifest.available+main.class">
+ <j2seproject:jar
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
manifest="${manifest.file}"/>
+ </target>
+ <target name="-do-jar-with-mainclass"
depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class">
+ <j2seproject:jar
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
manifest="${manifest.file}">
+ <manifest xmlns="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute value="${main.class}" name="Main-Class"/>
+ </manifest>
+ </j2seproject:jar>
+ </target>
+ <target name="-post-jar">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="jar"
depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-post-jar"
description="Build JAR."/>
+ <!--
+ =================
+ EXECUTION SECTION
+ =================
+ -->
+ <target name="run" depends="init,compile" description="Run a main class.">
+ <j2seproject:java
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1">
+ <customize>
+ <arg line="${application.args}"/>
+ </customize>
+ </j2seproject:java>
+ </target>
+ <target name="run-single" depends="init,compile-single">
+ <fail unless="run.class">Must select one file in the IDE or set
run.class</fail>
+ <j2seproject:java
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
classname="${run.class}"/>
+ </target>
+ <!--
+ =================
+ DEBUGGING SECTION
+ =================
+ -->
+ <target name="-debug-start-debugger" if="netbeans.home" depends="init">
+ <j2seproject:nbjpdastart
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+ </target>
+ <target name="-debug-start-debuggee" depends="init,compile">
+ <j2seproject:debug
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+ </target>
+ <target name="debug" if="netbeans.home"
depends="init,compile,-debug-start-debugger,-debug-start-debuggee"
description="Debug project in IDE."/>
+ <target name="-debug-start-debugger-stepinto" if="netbeans.home"
depends="init">
+ <j2seproject:nbjpdastart
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
stopclassname="${main.class}"/>
+ </target>
+ <target name="debug-stepinto" if="netbeans.home"
depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee"/>
+ <target name="-debug-start-debuggee-single" if="netbeans.home"
depends="init,compile-single">
+ <fail unless="debug.class">Must select one file in the IDE or set
debug.class</fail>
+ <j2seproject:debug
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
classname="${debug.class}"/>
+ </target>
+ <target name="debug-single" if="netbeans.home"
depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/>
+ <target name="-pre-debug-fix" depends="init">
+ <fail unless="fix.includes">Must set fix.includes</fail>
+ <property value="${fix.includes}.java" name="javac.includes"/>
+ </target>
+ <target name="-do-debug-fix" if="netbeans.home"
depends="init,-pre-debug-fix,compile-single">
+ <j2seproject:nbjpdareload
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+ </target>
+ <target name="debug-fix" if="netbeans.home"
depends="init,-pre-debug-fix,-do-debug-fix"/>
+ <!--
+ ===============
+ JAVADOC SECTION
+ ===============
+ -->
+ <target name="-javadoc-build" depends="init">
+ <mkdir dir="${dist.javadoc.dir}"/>
+ <javadoc destdir="${dist.javadoc.dir}" source="${javac.source}"
notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}"
noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}"
author="${javadoc.author}" version="${javadoc.version}"
windowtitle="${javadoc.windowtitle}" private="${javadoc.private}"
failonerror="true">
+ <classpath>
+ <path path="${javac.classpath}"/>
+ </classpath>
+ <sourcepath>
+ <pathelement location="${src.dir}"/>
+ </sourcepath>
+ <fileset dir="${src.dir}"/>
+ </javadoc>
+ </target>
+ <target name="-javadoc-browse" if="netbeans.home"
unless="no.javadoc.preview" depends="init,-javadoc-build">
+ <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+ </target>
+ <target name="javadoc" depends="init,-javadoc-build,-javadoc-browse"
description="Build Javadoc."/>
+ <!--
+ =========================
+ JUNIT COMPILATION SECTION
+ =========================
+ -->
+ <target name="-pre-pre-compile-test" if="have.tests"
depends="init,compile">
+ <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 name="-do-compile-test" if="have.tests"
depends="init,compile,-pre-pre-compile-test,-pre-compile-test">
+ <j2seproject:javac
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
classpath="${javac.test.classpath}" debug="true"
destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+ <copy todir="${build.test.classes.dir}">
+ <fileset dir="${test.src.dir}">
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+ <target name="-post-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="compile-test"
depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-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 name="-do-compile-test-single" if="have.tests"
depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set
javac.includes</fail>
+ <j2seproject:javac
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
classpath="${javac.test.classpath}" debug="true"
destdir="${build.test.classes.dir}" srcdir="${test.src.dir}">
+ <customize>
+ <patternset includes="${javac.includes}"/>
+ </customize>
+ </j2seproject:javac>
+ </target>
+ <target name="-post-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="compile-test-single"
depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/>
+ <!--
+ =======================
+ JUNIT EXECUTION SECTION
+ =======================
+ -->
+ <target name="-pre-test-run" if="have.tests" depends="init">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target name="-do-test-run" if="have.tests"
depends="init,compile-test,-pre-test-run">
+ <j2seproject:junit
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+ </target>
+ <target name="-post-test-run" if="have.tests"
depends="init,compile-test,-pre-test-run,-do-test-run">
+ <fail if="tests.failed">Some tests failed; see details above.</fail>
+ </target>
+ <target name="test-report" if="have.tests" depends="init"/>
+ <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/>
+ <target name="test"
depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse"
description="Run unit tests."/>
+ <target name="-pre-test-run-single" if="have.tests" depends="init">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target name="-do-test-run-single" if="have.tests"
depends="init,compile-test-single,-pre-test-run-single">
+ <fail unless="test.includes">Must select some files in the IDE or set
test.includes</fail>
+ <j2seproject:junit
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
includes="${test.includes}"/>
+ </target>
+ <target name="-post-test-run-single" if="have.tests"
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single">
+ <fail if="tests.failed">Some tests failed; see details above.</fail>
+ </target>
+ <target name="test-single"
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single"
description="Run single unit test."/>
+ <!--
+ =======================
+ JUNIT DEBUGGING SECTION
+ =======================
+ -->
+ <target name="-debug-start-debuggee-test" if="have.tests"
depends="init,compile-test">
+ <fail unless="test.class">Must select one file in the IDE or set
test.class</fail>
+ <j2seproject:debug
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
args="${test.class}" classpath="${debug.test.classpath}"
classname="junit.textui.TestRunner"/>
+ </target>
+ <target name="-debug-start-debugger-test" if="netbeans.home+have.tests"
depends="init,compile-test">
+ <j2seproject:nbjpdastart
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
classpath="${debug.test.classpath}" name="${test.class}"/>
+ </target>
+ <target name="debug-test"
depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/>
+ <target name="-do-debug-fix-test" if="netbeans.home"
depends="init,-pre-debug-fix,compile-test-single">
+ <j2seproject:nbjpdareload
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
dir="${build.test.classes.dir}"/>
+ </target>
+ <target name="debug-fix-test" if="netbeans.home"
depends="init,-pre-debug-fix,-do-debug-fix-test"/>
+ <!--
+ =========================
+ APPLET EXECUTION SECTION
+ =========================
+ -->
+ <target name="run-applet" depends="init,compile-single">
+ <fail unless="applet.url">Must select one file in the IDE or set
applet.url</fail>
+ <j2seproject:java
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
classname="sun.applet.AppletViewer">
+ <customize>
+ <arg line="${applet.url}"/>
+ </customize>
+ </j2seproject:java>
+ </target>
+ <!--
+ =========================
+ APPLET DEBUGGING SECTION
+ =========================
+ -->
+ <target name="-debug-start-debuggee-applet" if="netbeans.home"
depends="init,compile-single">
+ <fail unless="applet.url">Must select one file in the IDE or set
applet.url</fail>
+ <j2seproject:debug
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"
args="${applet.url}" classname="sun.applet.AppletViewer"/>
+ </target>
+ <target name="debug-applet" if="netbeans.home"
depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet"/>
+ <!--
+ ===============
+ CLEANUP SECTION
+ ===============
+ -->
+ <target name="deps-clean" depends="init" unless="no.deps"/>
+ <target name="-do-clean" depends="init">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
+ </target>
+ <target name="-post-clean">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="clean" depends="init,deps-clean,-do-clean,-post-clean"
description="Clean build products."/>
+</project>
Property changes on: trunk/misc/javer/nbproject/build-impl.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/nbproject/genfiles.properties
===================================================================
--- trunk/misc/javer/nbproject/genfiles.properties 2005-01-06 01:24:31 UTC
(rev 523)
+++ trunk/misc/javer/nbproject/genfiles.properties 2005-01-06 01:56:12 UTC
(rev 524)
@@ -0,0 +1,6 @@
+build.xml.data.CRC32=6ef497b2
+build.xml.script.CRC32=e8133476
+build.xml.stylesheet.CRC32=ba5d3624
+nbproject/build-impl.xml.data.CRC32=6ef497b2
+nbproject/build-impl.xml.script.CRC32=4b3443b9
+nbproject/build-impl.xml.stylesheet.CRC32=fac80600
Property changes on: trunk/misc/javer/nbproject/genfiles.properties
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/nbproject/project.properties
===================================================================
--- trunk/misc/javer/nbproject/project.properties 2005-01-06 01:24:31 UTC
(rev 523)
+++ trunk/misc/javer/nbproject/project.properties 2005-01-06 01:56:12 UTC
(rev 524)
@@ -0,0 +1,54 @@
+application.args=
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+# 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
+debug.classpath=\
+ ${run.classpath}
+debug.test.classpath=\
+ ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/javer.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+jar.compress=false
+javac.classpath=\
+
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.source=${default.javac.source}
+javac.target=${default.javac.target}
+javac.test.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}:\
+ ${libs.junit.classpath}
+javadoc.author=false
+javadoc.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=javer.Main
+manifest.file=manifest.mf
+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
+# or test-sys-prop.name=value to set system properties for unit tests):
+run.jvmargs=
+run.test.classpath=\
+ ${javac.test.classpath}:\
+ ${build.test.classes.dir}
+src.dir=src
+test.src.dir=test
Property changes on: trunk/misc/javer/nbproject/project.properties
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/nbproject/project.xml
===================================================================
--- trunk/misc/javer/nbproject/project.xml 2005-01-06 01:24:31 UTC (rev
523)
+++ trunk/misc/javer/nbproject/project.xml 2005-01-06 01:56:12 UTC (rev
524)
@@ -0,0 +1,10 @@
+<?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/1">
+ <name>javer</name>
+ <minimum-ant-version>1.6</minimum-ant-version>
+ </data>
+ </configuration>
+</project>
Property changes on: trunk/misc/javer/nbproject/project.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/src/javer/HaverClient.java
===================================================================
--- trunk/misc/javer/src/javer/HaverClient.java 2005-01-06 01:24:31 UTC (rev
523)
+++ trunk/misc/javer/src/javer/HaverClient.java 2005-01-06 01:56:12 UTC (rev
524)
@@ -0,0 +1,114 @@
+/*
+ * HaverClient.java
+ *
+ * Created on January 5, 2005, 8:14 PM
+ */
+
+package javer;
+
+/**
+ *
+ * @author bdonlan
+ */
+public class HaverClient implements Runnable {
+
+ private java.lang.String versionString = "Javer/0.1";
+ private java.net.Socket sock = null;
+ private java.io.PrintWriter writer = null;
+ private java.io.BufferedReader reader = null;
+ private java.util.Map wants = null;
+ private java.util.Map serverevents = null;
+ private String uid = null;
+
+ private void send(String s) throws java.io.IOException {
+ if (sock == null) {
+ throw new IllegalStateException("Not connected to server");
+ }
+ writer.print(s + "\r\n");
+ writer.flush();
+ System.err.println(">>> " + s);
+ }
+
+ /** Creates a new instance of HaverClient */
+ public HaverClient() {
+ initWants();
+ initServerEvents();
+ }
+
+ public void connect(String uid, java.net.Socket socket) throws
java.io.IOException, HaverException {
+ this.sock = socket;
+ this.uid = uid;
+ writer = new java.io.PrintWriter(
+ new java.io.BufferedWriter(
+ new java.io.OutputStreamWriter(
+ sock.getOutputStream()
+ )));
+ reader = new java.io.BufferedReader(
+ new java.io.InputStreamReader(
+ sock.getInputStream()
+ ));
+ send("HAVER\t" + versionString);
+ }
+
+ public void connect(String uid, String hostname) throws
java.io.IOException, HaverException {
+ connect(uid, hostname, 7070);
+ }
+
+ public void connect(String uid, String hostname, int port) throws
java.io.IOException, HaverException {
+ java.net.Socket sock = new java.net.Socket(hostname, port);
+ connect(uid, sock);
+ }
+
+ public void run() {
+ while (sock.isConnected()) {
+ try {
+ String s = reader.readLine();
+ System.err.println("<<< " + s);
+ dispatchCommand(s);
+ } catch (java.io.IOException e) {
+ return; /* XXX */
+ }
+ }
+ }
+
+ public abstract class ServerHandler {
+ public ServerHandler() {}
+ public abstract void trigger(String[] line) throws java.io.IOException;
+ }
+
+ public abstract class WantHandler {
+ public WantHandler() {}
+ public abstract void trigger(String[] args) throws java.io.IOException;
+ }
+
+ public void initWants() {
+ wants = new java.util.HashMap();
+ wants.put("IDENT", new WantHandler() {
+ public void trigger(String[] args) throws java.io.IOException {
+ send("IDENT\t" + uid);
+ }
+ });
+ }
+
+ public void initServerEvents() {
+ serverevents = new java.util.HashMap();
+ serverevents.put("WANT", new ServerHandler() {
+ public void trigger(String[] args) throws java.io.IOException {
+ WantHandler h = (WantHandler) wants.get(args[1]);
+ if (h == null) {
+ send("CANT\t" + args[1]);
+ return;
+ }
+ h.trigger(args);
+ }
+ });
+ }
+
+ public void dispatchCommand(String s) throws java.io.IOException {
+ String[] parts = s.split("\t");
+ ServerHandler h = (ServerHandler) serverevents.get(parts[0]);
+ if (h != null) {
+ h.trigger(parts);
+ }
+ }
+}
Property changes on: trunk/misc/javer/src/javer/HaverClient.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/src/javer/HaverException.java
===================================================================
--- trunk/misc/javer/src/javer/HaverException.java 2005-01-06 01:24:31 UTC
(rev 523)
+++ trunk/misc/javer/src/javer/HaverException.java 2005-01-06 01:56:12 UTC
(rev 524)
@@ -0,0 +1,20 @@
+/*
+ * HaverException.java
+ *
+ * Created on January 5, 2005, 8:17 PM
+ */
+
+package javer;
+
+/**
+ *
+ * @author bdonlan
+ */
+public class HaverException extends Exception {
+
+ /** Creates a new instance of HaverException */
+ public HaverException() {
+ super();
+ }
+
+}
Property changes on: trunk/misc/javer/src/javer/HaverException.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/misc/javer/src/javer/Main.java
===================================================================
--- trunk/misc/javer/src/javer/Main.java 2005-01-06 01:24:31 UTC (rev
523)
+++ trunk/misc/javer/src/javer/Main.java 2005-01-06 01:56:12 UTC (rev
524)
@@ -0,0 +1,29 @@
+/*
+ * Main.java
+ *
+ * Created on January 5, 2005, 8:13 PM
+ */
+
+package javer;
+
+/**
+ *
+ * @author bdonlan
+ */
+public class Main {
+
+ /** Creates a new instance of Main */
+ public Main() {
+ }
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String[] args) throws java.io.IOException,
javer.HaverException {
+ // TODO code application logic here
+ HaverClient c = new HaverClient();
+ c.connect("bd_javer", "odin.haverdev.org");
+ c.run();
+ }
+
+}
Property changes on: trunk/misc/javer/src/javer/Main.java
___________________________________________________________________
Name: svn:eol-style
+ native