2
+ − 1
<!--
+ − 2
Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
+ − 3
+ − 4
Redistribution and use in source and binary forms, with or without
+ − 5
modification, are permitted provided that the following conditions
+ − 6
are met:
+ − 7
+ − 8
- Redistributions of source code must retain the above copyright
+ − 9
notice, this list of conditions and the following disclaimer.
+ − 10
+ − 11
- Redistributions in binary form must reproduce the above copyright
+ − 12
notice, this list of conditions and the following disclaimer in the
+ − 13
documentation and/or other materials provided with the distribution.
+ − 14
+ − 15
- Neither the name of Sun Microsystems nor the names of its
+ − 16
contributors may be used to endorse or promote products derived
+ − 17
from this software without specific prior written permission.
+ − 18
+ − 19
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ − 20
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ − 21
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ − 22
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ − 23
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ − 24
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ − 25
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ − 26
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ − 27
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ − 28
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ − 29
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ − 30
-->
+ − 31
+ − 32
<project name="jmx" default="build" basedir=".">
+ − 33
+ − 34
<import file="../common/shared.xml"/>
+ − 35
+ − 36
<target name="-pre-init">
+ − 37
<!-- Set the values for build date and time -->
+ − 38
<tstamp>
+ − 39
<format property="BUILD_DATE" pattern="yyyy.MM.dd_HH:mm:ss_z" />
+ − 40
<format property="BUILD_DATE_SIMPLE" pattern="dd_MMM_yyyy" />
+ − 41
</tstamp>
+ − 42
+ − 43
<!-- These properties are set here instead of in the build.properties file, -->
+ − 44
<!-- because they depend on the values of BUILD_DATE and BUILD_DATE_SIMPLE -->
+ − 45
<!-- At this time, ./build.properties has not been loaded yet. -->
+ − 46
<property name="project.build.name" value="openjdk-bXX"/>
+ − 47
<property name="project.build.fulltag"
+ − 48
value="${ant.project.name}-${project.build.name}-${BUILD_DATE}" />
+ − 49
+ − 50
<!-- unchecked warnings will be fixed in JMX 2.0 as part of the work
+ − 51
being done on JSR 255 new features -->
+ − 52
<property name="javac.options"
+ − 53
value="-Xlint -Xlint:-unchecked -Xlint:-deprecation"/>
+ − 54
</target>
+ − 55
+ − 56
+ − 57
<target name="-pre-compile" depends="-init">
+ − 58
<!-- Dir to keep generated stub source -->
+ − 59
<mkdir dir="${gensrc.dir}" />
+ − 60
</target>
+ − 61
+ − 62
+ − 63
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ − 64
<!-- Call rmic-jmx subtargets -->
+ − 65
+ − 66
<target name="-rmic-jmx" depends="-init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
+ − 67
description="Calls -init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
+ − 68
/>
+ − 69
+ − 70
+ − 71
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ − 72
<!-- Generate RMI JRMP stub class files for remote objects -->
+ − 73
<!-- Generated java files are kept in a separate directory -->
+ − 74
+ − 75
<target name="-rmic-jmx-jrmp" depends="-init"
+ − 76
description="Generate RMI JRMP stub class files for remote objects. Keep generated java files in separate dir." >
+ − 77
+ − 78
<!-- Dir to keep generated stub source -->
+ − 79
<mkdir dir="${gensrc.dir}" />
+ − 80
+ − 81
<rmic base="${classes.dir}/javax/management"
+ − 82
sourcebase="${gensrc.dir}"
+ − 83
includeAntRuntime="no"
+ − 84
includeJavaRuntime="no"
+ − 85
stubversion="1.2"
+ − 86
>
+ − 87
<include name="javax/management/remote/rmi/RMIConnectionImpl.class" />
+ − 88
<include name="javax/management/remote/rmi/RMIServerImpl.class" />
+ − 89
</rmic>
+ − 90
+ − 91
</target>
+ − 92
+ − 93
+ − 94
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ − 95
<!-- Generate RMI IIOP stub class files for remote objects -->
+ − 96
+ − 97
<target name="-rmic-jmx-iiop" depends="-init,-check-jmx-iiop-uptodate" unless="jmx-iiop-uptodate"
+ − 98
description="Generate RMI IIOP stub class files for remote objects. Do not keep generated java files." >
+ − 99
+ − 100
<rmic base="${classes.dir}"
+ − 101
includeAntRuntime="no"
+ − 102
includeJavaRuntime="no"
+ − 103
stubversion="1.2"
+ − 104
iiop="yes"
+ − 105
>
+ − 106
<include name="javax/management/remote/rmi/RMIConnectionImpl.class" />
+ − 107
<include name="javax/management/remote/rmi/RMIServerImpl.class" />
+ − 108
</rmic>
+ − 109
+ − 110
</target>
+ − 111
+ − 112
+ − 113
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ − 114
<!-- Check if jmx rmic generated IIOP stub and tie class files are up to date -->
+ − 115
+ − 116
<target name="-check-jmx-iiop-uptodate" depends="-init">
+ − 117
+ − 118
<uptodate property="jmx-iiop-uptodate"
+ − 119
srcfile="${classes.dir}/javax/management/remote/rmi/RMIConnectionImpl.class"
+ − 120
targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIConnectionImpl_Tie.class"
+ − 121
/>
+ − 122
<uptodate property="jmx-iiop-uptodate"
+ − 123
srcfile="${classes.dir}/javax/management/remote/rmi/RMIServerImpl.class"
+ − 124
targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIServerImpl_Tie.class"
+ − 125
/>
+ − 126
+ − 127
<echo message="jmx-iiop-uptodate=${jmx-iiop-uptodate}" />
+ − 128
+ − 129
</target>
+ − 130
+ − 131
<target name="-post-compile" depends="-init,-rmic-jmx"
+ − 132
description="Jar JMX class files (including RMI stubs)" >
+ − 133
<mkdir dir="${dist.dir}/lib"/>
+ − 134
<jar jarfile="${dist.dir}/lib/${jar.jmx.name}"
+ − 135
update="true"
+ − 136
index="false"
+ − 137
duplicate="fail">
+ − 138
<fileset dir="${classes.dir}" excludes="**/*.java"/>
+ − 139
<manifest >
+ − 140
<attribute name="Built-By" value="${user.name}" />
+ − 141
<section name="common">
+ − 142
<attribute name="Sealed" value="${jar.jmx.sealed}" />
+ − 143
<attribute name="Specification-Title" value="${jar.jmx.spec.title}" />
+ − 144
<attribute name="Specification-Version" value="${jar.jmx.spec.version}" />
+ − 145
<attribute name="Specification-Vendor" value="${jar.jmx.spec.vendor}" />
+ − 146
<attribute name="Implementation-Title" value="${jar.jmx.impl.title}" />
+ − 147
<attribute name="Implementation-Version" value="${project.build.fulltag}" />
+ − 148
<attribute name="Implementation-Vendor" value="${jar.jmx.impl.vendor}" />
+ − 149
</section>
+ − 150
</manifest>
+ − 151
</jar>
+ − 152
</target>
+ − 153
+ − 154
<target name="clean" depends="-init,shared.clean">
+ − 155
<delete file="${dist.dir}/lib/${jar.jmx.name}"/>
+ − 156
</target>
+ − 157
</project>