build.xml revision 686:76ecb928e83a
1141296Sdas<!-- 2141296Sdas Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. 32116Sjkh 42116Sjkh Redistribution and use in source and binary forms, with or without 52116Sjkh modification, are permitted provided that the following conditions 62116Sjkh are met: 7141296Sdas 82116Sjkh - Redistributions of source code must retain the above copyright 9141296Sdas notice, this list of conditions and the following disclaimer. 102116Sjkh 112116Sjkh - Redistributions in binary form must reproduce the above copyright 12141296Sdas notice, this list of conditions and the following disclaimer in the 13176476Sbde documentation and/or other materials provided with the distribution. 142116Sjkh 152116Sjkh - Neither the name of Sun Microsystems nor the names of its 16176385Sbde contributors may be used to endorse or promote products derived 17176385Sbde from this software without specific prior written permission. 182116Sjkh 192116Sjkh THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 20141296Sdas IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 21141296Sdas THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 222116Sjkh PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 232116Sjkh CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 242116Sjkh EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25176465Sbde PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 26176465Sbde PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 272116Sjkh LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 282116Sjkh NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 292116Sjkh SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 302116Sjkh--> 312116Sjkh 322116Sjkh<project name="jmx" default="build" basedir="."> 332116Sjkh 342116Sjkh <import file="../common/shared.xml"/> 352116Sjkh 362116Sjkh <target name="-pre-init"> 372116Sjkh <!-- Set the values for build date and time --> 382116Sjkh <tstamp> 392116Sjkh <format property="BUILD_DATE" pattern="yyyy.MM.dd_HH:mm:ss_z" /> 408870Srgrimes <format property="BUILD_DATE_SIMPLE" pattern="dd_MMM_yyyy" /> 412116Sjkh </tstamp> 422116Sjkh 432116Sjkh <!-- These properties are set here instead of in the build.properties file, --> 442116Sjkh <!-- because they depend on the values of BUILD_DATE and BUILD_DATE_SIMPLE --> 452116Sjkh <!-- At this time, ./build.properties has not been loaded yet. --> 462116Sjkh <property name="project.build.name" value="openjdk-bXX"/> 472116Sjkh <property name="project.build.fulltag" 482116Sjkh value="${ant.project.name}-${project.build.name}-${BUILD_DATE}" /> 492116Sjkh 502116Sjkh <!-- unchecked warnings will be fixed in JMX 2.0 as part of the work 51239529Sdim being done on JSR 255 new features --> 52239529Sdim <property name="javac.options" 53176385Sbde value="-Xlint -Xlint:-deprecation"/> 54239529Sdim </target> 55176385Sbde 562116Sjkh 572116Sjkh <target name="-pre-compile" depends="-init"> 58176558Sbde <!-- Dir to keep generated stub source --> 592116Sjkh <mkdir dir="${gensrc.dir}" /> 602116Sjkh </target> 612116Sjkh 622116Sjkh 632116Sjkh <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~ --> 64176409Sbde <!-- Call rmic-jmx subtargets --> 652116Sjkh 662116Sjkh <target name="-rmic-jmx" depends="-init,-rmic-jmx-jrmp,-rmic-jmx-iiop" 67176409Sbde description="Calls -init,-rmic-jmx-jrmp,-rmic-jmx-iiop" 68176409Sbde /> 69176409Sbde 70176409Sbde 71176409Sbde <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> 72176409Sbde <!-- Generate RMI JRMP stub class files for remote objects --> 73176409Sbde <!-- Generated java files are kept in a separate directory --> 747659Sbde 757659Sbde <target name="-rmic-jmx-jrmp" depends="-init" 76176409Sbde description="Generate RMI JRMP stub class files for remote objects. Keep generated java files in separate dir." > 77176409Sbde 78176409Sbde <!-- Dir to keep generated stub source --> 797659Sbde <mkdir dir="${gensrc.dir}" /> 807659Sbde 81176409Sbde <rmic base="${classes.dir}/javax/management" 827659Sbde sourcebase="${gensrc.dir}" 83176409Sbde includeAntRuntime="no" 84176409Sbde includeJavaRuntime="no" 85176409Sbde stubversion="1.2" 86176409Sbde > 87176409Sbde <include name="javax/management/remote/rmi/RMIConnectionImpl.class" /> 88176409Sbde <include name="javax/management/remote/rmi/RMIServerImpl.class" /> 89176409Sbde </rmic> 90176409Sbde 91176409Sbde </target> 92176409Sbde 93176409Sbde 94176409Sbde <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> 957659Sbde <!-- Generate RMI IIOP stub class files for remote objects --> 967659Sbde 97176409Sbde <target name="-rmic-jmx-iiop" depends="-init,-check-jmx-iiop-uptodate" unless="jmx-iiop-uptodate" 98176409Sbde description="Generate RMI IIOP stub class files for remote objects. Do not keep generated java files." > 99176409Sbde 100176409Sbde <rmic base="${classes.dir}" 101176409Sbde includeAntRuntime="no" 102176409Sbde includeJavaRuntime="no" 103176409Sbde stubversion="1.2" 104176409Sbde iiop="yes" 105176409Sbde > 106176409Sbde <include name="javax/management/remote/rmi/RMIConnectionImpl.class" /> 107176409Sbde <include name="javax/management/remote/rmi/RMIServerImpl.class" /> 108176409Sbde </rmic> 109176409Sbde 110176409Sbde </target> 111176409Sbde 112176409Sbde 113176409Sbde <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> 114176409Sbde <!-- Check if jmx rmic generated IIOP stub and tie class files are up to date --> 115176409Sbde 116176409Sbde <target name="-check-jmx-iiop-uptodate" depends="-init"> 117176409Sbde 118176409Sbde <uptodate property="jmx-iiop-uptodate" 119176409Sbde srcfile="${classes.dir}/javax/management/remote/rmi/RMIConnectionImpl.class" 120176409Sbde targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIConnectionImpl_Tie.class" 121176409Sbde /> 122176409Sbde <uptodate property="jmx-iiop-uptodate" 123176409Sbde srcfile="${classes.dir}/javax/management/remote/rmi/RMIServerImpl.class" 124176409Sbde targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIServerImpl_Tie.class" 125176409Sbde /> 126176409Sbde 127176409Sbde <echo message="jmx-iiop-uptodate=${jmx-iiop-uptodate}" /> 128176640Sbde 129176409Sbde </target> 130176465Sbde 131176476Sbde <target name="-post-compile" depends="-init,-rmic-jmx" 132176465Sbde description="Jar JMX class files (including RMI stubs)" > 133176467Sbde <mkdir dir="${dist.dir}/lib"/> 134176465Sbde <jar jarfile="${dist.dir}/lib/${jar.jmx.name}" 135176465Sbde update="true" 136176467Sbde index="false" 137176465Sbde duplicate="fail"> 138176476Sbde <fileset dir="${classes.dir}" excludes="**/*.java"/> 1392116Sjkh <manifest > 140176466Sbde <attribute name="Built-By" value="${user.name}" /> 1412116Sjkh <section name="common"> 1422116Sjkh <attribute name="Sealed" value="${jar.jmx.sealed}" /> 143141296Sdas <attribute name="Specification-Title" value="${jar.jmx.spec.title}" /> 1442116Sjkh <attribute name="Specification-Version" value="${jar.jmx.spec.version}" /> 1452116Sjkh <attribute name="Specification-Vendor" value="${jar.jmx.spec.vendor}" /> 1462116Sjkh <attribute name="Implementation-Title" value="${jar.jmx.impl.title}" /> 1472116Sjkh <attribute name="Implementation-Version" value="${project.build.fulltag}" /> 148141296Sdas <attribute name="Implementation-Vendor" value="${jar.jmx.impl.vendor}" /> 1492116Sjkh </section> 150141296Sdas </manifest> 1512116Sjkh </jar> 1522116Sjkh </target> 1532116Sjkh 1542116Sjkh <target name="clean" depends="-init,shared.clean"> 1552116Sjkh <delete file="${dist.dir}/lib/${jar.jmx.name}"/> 156141296Sdas </target> 1572116Sjkh</project> 158141296Sdas