<?xml version="1.0"?>

<!--
 Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.  Sun designates this
 particular file as subject to the "Classpath" exception as provided
 by Sun in the LICENSE file that accompanied this code.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 CA 95054 USA or visit www.sun.com if you need additional information or
 have any questions.
-->



<!-- README - HOW TO USE THIS BUILD FILE
     . You need Ant 1.5 or higher available in your path
     . You need a build of Java SE 6 available in your path, or JAVA_HOME set to such a build
     . cd to the directory containing this build.xml file
     . Launch the build by typing: ant
     . Please also read the important comment on basedir definition below.
 -->

<project name="JMX API Version 1.4 - Java SE 6 implementation" 
	 default="jar" 
	 basedir="../../../../.." 
	 >

    <!-- IMPORTANT: BASEDIR DEFINITION  
         This file is assumed to be in: 
         <src_bundle_dir>/j2se/src/share/classes/javax/management 
         Thus the basedir for this project is defined above as: 
         basedir="../../../../.."  
         in order to be the parent dir of src subdir.
	 Result of the build will be placed in ${basedir}/build_jmx 
	 as defined by ${dir.build} property below.
     -->

    <description>
	Copyright 2006 Sun Microsystems, Inc.  All rights reserved. Use is subject to license terms.

        Description: JMX API Version 1.4 - Source Code from Java SE 6
    </description>


    <!-- build properties -->

    <property name="dir.src"
	      location="${basedir}/src/share/classes" />

    <property name="dir.build"
	      location="${basedir}/build_jmx" />

    <property name="dir.build.lib"
	      location="${dir.build}/lib" />

    <property name="dir.build.classes"
	      location="${dir.build}/classes" />

    <property name="dir.build.cache"
	      location="${dir.build}/cache" />

    <property name="flag.debug"
	      value="on" />

    <property name="flag.debug.level"
	      value="lines,source" />

    <property name="flag.optimize"
	      value="on" />

    <property name="flag.javac.source"
	      value="1.6" />

    <property name="flag.deprecation"
	      value="off" />

    <!-- ANT: when compiling, ignore the classpath in effect when Ant is run
	      and therefore use only the classpath specified in the javac tasks -->
    <property name="build.sysclasspath"
	      value="ignore" />



    <!-- Concatenated classpaths: one classpath for each build purpose -->

    <path id="classpath.tobuild.jmx">
	<!-- EMPTY, NO DEPENDENCY! -->
    </path>



    <!-- Convert path objects to string properties for display -->

    <property name="property.classpath.tobuild.jmx"	refid="classpath.tobuild.jmx" />




    <!-- ********************* -->
    <!-- *** BUILD TARGETS *** -->
    <!-- ********************* -->


    <!-- ~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Initialize the build -->

    <target name="init" >

        <!-- Set the values for build date and time -->
        <tstamp>
	    <format property="BUILD_DATE"        pattern="yyyy.MM.dd_HH:mm:ss_z" />
        </tstamp>

        <!-- Create the build directory -->
        <mkdir dir="${dir.build}" />

        <!-- Log the values of all properties to file -->
        <echoproperties destfile="${dir.build}/properties.log" />

        <!-- Display the values of most important properties -->
	<echo />
	<echo>See the contents of ${dir.build}/properties.log for all defined properties.</echo>
	<echo />
        <echo message="MAIN JVM DEFAULT SYSTEM PROPERTIES: " />
        <echo message="   java.runtime.version        = ${java.runtime.version}" />
        <echo message="   java.home                   = ${java.home}" />
        <echo message="   os.arch                     = ${os.arch}" />
        <echo message="   os.name                     = ${os.name}" />
        <echo message="   os.version                  = ${os.version}" />
        <echo message="   user.name                   = ${user.name}" />
	<echo />
        <echo message="ANT BUILT-IN PROPERTIES: " />
        <echo message="   basedir                     = ${basedir}" />
        <echo message="   ant.file                    = ${ant.file}" />
        <echo message="   ant.version                 = ${ant.version}" />
        <echo message="   ant.project.name            = ${ant.project.name}" />
        <echo message="   ant.java.version            = ${ant.java.version}" />
	<echo />
        <echo message="MAIN ANT BUILD-SET PROPERTIES: " />
        <echo message="   dir.src                     = ${dir.src}" />
        <echo message="   dir.build                   = ${dir.build}" />
        <echo message="   classpath.tobuild.jmx       = ${property.classpath.tobuild.jmx}" />
        <echo message="   flag.debug                  = ${flag.debug}" />
        <echo message="   flag.debug.level            = ${flag.debug.level}" />
        <echo message="   flag.optimize               = ${flag.optimize}" />
        <echo message="   flag.javac.source           = ${flag.javac.source}" />
        <echo message="   flag.deprecation            = ${flag.deprecation}" />
        <echo message="   BUILD_DATE                  = ${BUILD_DATE}" />

    </target>
    


    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Call classes subtargets and rmic stubs generation -->

    <target name="classes" depends="init,classes-javac,classes-rmic" 
	    description="Call classes subtargets and rmic stubs generation" 
    />


    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Build JMX java files                  -->

    <target name="classes-javac" depends="init"
	    description="Build JMX java files" >

        <mkdir dir="${dir.build.classes}" />

	<javac 	srcdir="${dir.src}"
		destdir="${dir.build.classes}" 
		source="${flag.javac.source}"
		debug="${flag.debug}"
		debuglevel="${flag.debug.level}"
		optimize="${flag.optimize}"
		includeAntRuntime="no"
		includeJavaRuntime="no"	
	        >
	    <include name="javax/management/**"/>
	    <include name="com/sun/jmx/**"/>
	</javac>

    </target>


    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Generate RMI JRMP and IIOP stub class files for remote objects -->

    <target name="classes-rmic" depends="init,classes-javac"
            description="Generate RMI JRMP and IIOP stub class files for remote objects" >


	<!-- JRMP Stubs -->

        <rmic 	base="${dir.build.classes}"
		classname="javax.management.remote.rmi.RMIConnectionImpl"
		includeAntRuntime="no"
		includeJavaRuntime="no"
		stubversion="1.2"
		>
	</rmic>

	<rmic	base="${dir.build.classes}"
		classname="javax.management.remote.rmi.RMIServerImpl"
		includeAntRuntime="no"
		includeJavaRuntime="no"
		stubversion="1.2"
		>
        </rmic>


	<!-- IIOP Stubs -->

	<rmic 	base="${dir.build.classes}"
		classname="javax.management.remote.rmi.RMIConnectionImpl"
		includeAntRuntime="no"
		includeJavaRuntime="no"
		iiop="yes"
		>
	</rmic>

	<rmic	base="${dir.build.classes}"
		classname="javax.management.remote.rmi.RMIServerImpl"
		includeAntRuntime="no"
		includeJavaRuntime="no"
		iiop="yes"
		>
        </rmic>

    </target>


    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Jar all JMX  classes                 -->

    <target name="jar" depends="init,classes"
            description="Jar all JMX classes" >

       <mkdir dir="${dir.build.lib}" />

       <jar jarfile="${dir.build.lib}/jmx.jar" 
	    update="true"
	    >

	    <fileset dir="${dir.build.classes}"
		includes="**/*.class"
	    />

	    <manifest >
		    <attribute name="Build-JDK"              value="${java.runtime.version}" />
		    <attribute name="Build-Platform"         value="${os.arch} ${os.name} ${os.version}" />
		    <attribute name="Build-User"             value="${user.name}" />
		<section name="common">
		    <attribute name="Sealed"                 value="true" />
		    <attribute name="Specification-Title"    value="JMX(TM) API" />
		    <attribute name="Specification-Version"  value="1.4" />
		    <attribute name="Specification-Vendor"   value="Sun Microsystems, Inc." />
		    <attribute name="Implementation-Title"   value="JMX(TM) API, Java SE 6 implementation" />
		    <attribute name="Implementation-Version" value="${BUILD_DATE} rebuild of Mustang JMX sources" /> 
		    <attribute name="Implementation-Vendor"  value="Source bundle from Sun Microsystems, Inc. - Customer rebuilt" />
		</section>
	    </manifest>
       </jar>

    </target>



    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Delete only all class files in build/classes directory hierarchy -->

    <target name="clean-classes"
            description="Delete only all *.class files in build_jmx/classes dir" >
        <delete>
           <fileset dir="${dir.build.classes}" includes="**/*.class" />
        </delete>
    </target>


    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Delete build directory and all its contents -->

    <target name="clean-all" 
            description="Delete build directory and all its contents" >
        <delete dir="${dir.build}" />
    </target>               
        
  
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Clean all and build everything -->

    <target name="all" depends="clean-all,jar" 
	    description="Clean all and build everything" />


</project>

