jdk/src/share/sample/jmx/jmx-scandir/build.xml
changeset 2 90ce3da70b43
child 5506 202f599c92aa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/sample/jmx/jmx-scandir/build.xml	Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+   - Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+   - Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+
+   - Neither the name of Sun Microsystems nor the names of its
+     contributors may be used to endorse or promote products derived
+     from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+
+<!-- 
+  This is ant (http://ant.apache.org) build script to build the
+  "jmx-scandir" sample. Either this build.xml can be used standalone 
+  with "ant" tool or can be opened as a project with NetBeans IDE
+  (http://www.netbeans.org).
+-->
+
+<project name="jmx-scandir" default="jar" basedir=".">
+
+    <import file="nbproject/jdk.xml"/>
+    
+
+    <target name="-prop-init">
+        <property file="user.build.properties"/>
+        <property file="build.properties"/>
+    </target>
+
+    <target name="-init" depends="-prop-init,-jdk-init"/>
+
+    <target name="compile" depends="-init" description="Compile main sources.">
+        <mkdir dir="${classes.dir}"/>
+        <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="${debug}" deprecation="${deprecation}">
+            <classpath path="${cp}"/>
+        </javac>
+        <copy todir="${classes.dir}">
+            <fileset dir="${src.dir}"/>
+        </copy>
+    </target>
+
+    <target name="jar" depends="compile" description="Build JAR file for main sources.">
+        <mkdir dir="${dist.dir}" />
+        <jar jarfile="${jar}" compress="true">
+            <manifest>
+                <attribute name="Main-Class" value="${main.agent.class}"/>
+            </manifest>
+            <fileset dir="${classes.dir}"/>
+        </jar>
+    </target>
+
+    <target name="run-client" depends="compile" description="Run client.">
+        <fail unless="main.client.class">Must set property 'main.client.class' (e.g. in build.properties)</fail>
+        <java classname="${main.client.class}" fork="true" failonerror="true">
+            <classpath path="${run.cp}"/>
+            <jvmarg line="${client.jvmargs}" />
+            <arg line="${client.args}" />
+        </java>
+    </target>
+
+    <target name="run-agent" depends="compile" description="Run agent.">
+        <fail unless="main.agent.class">Must set property 'main.agent.class' (e.g. in build.properties)</fail>
+        <java classname="${main.agent.class}" fork="true" failonerror="true">
+            <classpath path="${run.cp}"/>
+            <jvmarg line="${agent.jvmargs}" />
+        </java>
+    </target>
+
+    <target name="run" depends="run-agent" description="Run agent." />
+
+    <target name="run-single" depends="-init,compile">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <java classname="${run.class}" fork="true" failonerror="true">
+            <classpath path="${run.cp}"/>
+        </java>
+    </target>
+
+    <target name="javadoc" depends="-init" description="Build Javadoc.">
+        <mkdir dir="${javadoc.dir}"/>
+        <javadoc destdir="${javadoc.dir}">
+            <classpath path="${cp}"/>
+            <sourcepath>
+                <pathelement location="${src.dir}"/>
+            </sourcepath>
+            <fileset dir="${src.dir}"/>
+        </javadoc>
+    </target>
+
+    <target name="clean" depends="-init" description="Clean build products.">
+        <delete dir="${build.dir}"/>
+        <delete file="${jar}"/>
+        <delete dir="${dist.dir}"/>
+    </target>
+
+    <target name="profile">
+        <ant antfile="nbproject/netbeans-targets.xml" target="profile"/>
+    </target>
+
+    <!-- JUnit targets -->
+
+    <target name="compile-test" depends="-init,compile">
+        <fail unless="libs.junit.classpath">Must set libs.junit.classpath variable to the JUnit classpath in the build.properties file.</fail>
+        <mkdir dir="${build.test.classes.dir}"/>
+        <javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="${debug}" classpath="${javac.test.classpath}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="**/*.java"/>
+        </copy>
+    </target>
+
+    <target name="-do-test-run" depends="-init,compile-test">
+        <mkdir dir="${build.test.results.dir}"/>
+        <junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
+            <batchtest todir="${build.test.results.dir}">
+                <fileset dir="${test.src.dir}" includes="**/*Test.java"/>
+            </batchtest>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper type="glob" from="test-sys-prop.*" to="*"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+            <jvmarg line="${run.jvmargs}"/>
+        </junit>
+        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    </target>
+    
+    <target name="test" depends="-init,compile-test,-do-test-run" description="Run unit tests."/>
+
+    <target name="-do-test-run-single" depends="-init,compile-test">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
+            <batchtest todir="${build.test.results.dir}">
+                <fileset dir="${test.src.dir}" includes="${test.includes}"/>
+            </batchtest>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper type="glob" from="test-sys-prop.*" to="*"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+            <jvmarg line="${run.jvmargs}"/>
+        </junit>
+        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    </target>
+
+    <target name="test-single" depends="-init,compile-test,-do-test-run-single" description="Run single unit test."/>
+</project>