1 | <!--
|
---|
2 | Copyright (c) 2007, Oracle and/or its affiliates. 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 Oracle 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>
|
---|