0N/A<!--
2362N/A Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
0N/A
0N/A Redistribution and use in source and binary forms, with or without
0N/A modification, are permitted provided that the following conditions
0N/A are met:
0N/A
0N/A - Redistributions of source code must retain the above copyright
0N/A notice, this list of conditions and the following disclaimer.
0N/A
0N/A - Redistributions in binary form must reproduce the above copyright
0N/A notice, this list of conditions and the following disclaimer in the
0N/A documentation and/or other materials provided with the distribution.
0N/A
2362N/A - Neither the name of Oracle nor the names of its
0N/A contributors may be used to endorse or promote products derived
0N/A from this software without specific prior written permission.
0N/A
0N/A THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
0N/A IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
0N/A THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
0N/A PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
0N/A CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
0N/A EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
0N/A PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
0N/A PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
0N/A LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
0N/A NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
0N/A SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0N/A-->
0N/A
0N/A<project name="jmx" default="build" basedir=".">
0N/A
0N/A <import file="/common/shared.xml"/>
0N/A
0N/A <target name="-pre-init">
0N/A <!-- Set the values for build date and time -->
0N/A <tstamp>
0N/A <format property="BUILD_DATE" pattern="yyyy.MM.dd_HH:mm:ss_z" />
0N/A <format property="BUILD_DATE_SIMPLE" pattern="dd_MMM_yyyy" />
0N/A </tstamp>
0N/A
0N/A <!-- These properties are set here instead of in the build.properties file, -->
0N/A <!-- because they depend on the values of BUILD_DATE and BUILD_DATE_SIMPLE -->
0N/A <!-- At this time, /build.properties has not been loaded yet. -->
0N/A <property name="project.build.name" value="openjdk-bXX"/>
686N/A <property name="project.build.fulltag"
0N/A value="${ant.project.name}-${project.build.name}-${BUILD_DATE}" />
0N/A
0N/A <!-- unchecked warnings will be fixed in JMX 2.0 as part of the work
0N/A being done on JSR 255 new features -->
686N/A <property name="javac.options"
686N/A value="-Xlint -Xlint:-deprecation"/>
0N/A </target>
0N/A
0N/A
0N/A <target name="-pre-compile" depends="-init">
0N/A <!-- Dir to keep generated stub source -->
0N/A <mkdir dir="${gensrc.dir}" />
0N/A </target>
686N/A
0N/A
0N/A <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~ -->
0N/A <!-- Call rmic-jmx subtargets -->
0N/A
0N/A <target name="-rmic-jmx" depends="-init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
686N/A description="Calls -init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
0N/A />
0N/A
0N/A
0N/A <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
0N/A <!-- Generate RMI JRMP stub class files for remote objects -->
0N/A <!-- Generated java files are kept in a separate directory -->
0N/A
0N/A <target name="-rmic-jmx-jrmp" depends="-init"
0N/A description="Generate RMI JRMP stub class files for remote objects. Keep generated java files in separate dir." >
0N/A
0N/A <!-- Dir to keep generated stub source -->
0N/A <mkdir dir="${gensrc.dir}" />
0N/A
0N/A <rmic base="${classes.dir}/javax/management"
0N/A sourcebase="${gensrc.dir}"
0N/A includeAntRuntime="no"
0N/A includeJavaRuntime="no"
0N/A stubversion="1.2"
0N/A >
0N/A <include name="javax/management/remote/rmi/RMIConnectionImpl.class" />
0N/A <include name="javax/management/remote/rmi/RMIServerImpl.class" />
0N/A </rmic>
0N/A
0N/A </target>
0N/A
0N/A
0N/A <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
0N/A <!-- Generate RMI IIOP stub class files for remote objects -->
0N/A
0N/A <target name="-rmic-jmx-iiop" depends="-init,-check-jmx-iiop-uptodate" unless="jmx-iiop-uptodate"
0N/A description="Generate RMI IIOP stub class files for remote objects. Do not keep generated java files." >
686N/A
0N/A <rmic base="${classes.dir}"
0N/A includeAntRuntime="no"
0N/A includeJavaRuntime="no"
0N/A stubversion="1.2"
0N/A iiop="yes"
0N/A >
0N/A <include name="javax/management/remote/rmi/RMIConnectionImpl.class" />
0N/A <include name="javax/management/remote/rmi/RMIServerImpl.class" />
0N/A </rmic>
0N/A
0N/A </target>
0N/A
0N/A
0N/A <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
0N/A <!-- Check if jmx rmic generated IIOP stub and tie class files are up to date -->
0N/A
0N/A <target name="-check-jmx-iiop-uptodate" depends="-init">
0N/A
686N/A <uptodate property="jmx-iiop-uptodate"
0N/A srcfile="${classes.dir}/javax/management/remote/rmi/RMIConnectionImpl.class"
0N/A targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIConnectionImpl_Tie.class"
0N/A />
686N/A <uptodate property="jmx-iiop-uptodate"
0N/A srcfile="${classes.dir}/javax/management/remote/rmi/RMIServerImpl.class"
0N/A targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIServerImpl_Tie.class"
0N/A />
0N/A
0N/A <echo message="jmx-iiop-uptodate=${jmx-iiop-uptodate}" />
0N/A
0N/A </target>
0N/A
0N/A <target name="-post-compile" depends="-init,-rmic-jmx"
0N/A description="Jar JMX class files (including RMI stubs)" >
0N/A <mkdir dir="${dist.dir}/lib"/>
686N/A <jar jarfile="${dist.dir}/lib/${jar.jmx.name}"
0N/A update="true"
0N/A index="false"
0N/A duplicate="fail">
0N/A <fileset dir="${classes.dir}" excludes="**/*.java"/>
0N/A <manifest >
0N/A <attribute name="Built-By" value="${user.name}" />
0N/A <section name="common">
0N/A <attribute name="Sealed" value="${jar.jmx.sealed}" />
0N/A <attribute name="Specification-Title" value="${jar.jmx.spec.title}" />
0N/A <attribute name="Specification-Version" value="${jar.jmx.spec.version}" />
0N/A <attribute name="Specification-Vendor" value="${jar.jmx.spec.vendor}" />
0N/A <attribute name="Implementation-Title" value="${jar.jmx.impl.title}" />
686N/A <attribute name="Implementation-Version" value="${project.build.fulltag}" />
0N/A <attribute name="Implementation-Vendor" value="${jar.jmx.impl.vendor}" />
0N/A </section>
0N/A </manifest>
0N/A </jar>
0N/A </target>
0N/A
0N/A <target name="clean" depends="-init,shared.clean">
0N/A <delete file="${dist.dir}/lib/${jar.jmx.name}"/>
0N/A </target>
0N/A</project>