You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2009/02/12 00:09:25 UTC
svn commit: r743555 - in /harmony/enhanced/classlib/trunk: make/
modules/auth/ modules/awt/ modules/imageio/ modules/instrument/
modules/misc/ modules/nio/ modules/nio_char/ modules/prefs/ modules/print/
modules/security/
Author: hindessm
Date: Wed Feb 11 23:09:24 2009
New Revision: 743555
URL: http://svn.apache.org/viewvc?rev=743555&view=rev
Log:
Reduce coupling by removing module names where possible.
Make build.module/exclude.module options work for build-native target.
I added some internal targets to the module build files for top-level
build-native target to use when polling the modules in order to keep
the consistently named build-native targets at the module level.
Modified:
harmony/enhanced/classlib/trunk/make/build-java.xml
harmony/enhanced/classlib/trunk/make/build-native.xml
harmony/enhanced/classlib/trunk/make/build-test.xml
harmony/enhanced/classlib/trunk/make/properties.xml
harmony/enhanced/classlib/trunk/modules/auth/build.xml
harmony/enhanced/classlib/trunk/modules/awt/build.xml
harmony/enhanced/classlib/trunk/modules/imageio/build.xml
harmony/enhanced/classlib/trunk/modules/instrument/build.xml
harmony/enhanced/classlib/trunk/modules/misc/build.xml
harmony/enhanced/classlib/trunk/modules/nio/build.xml
harmony/enhanced/classlib/trunk/modules/nio_char/build.xml
harmony/enhanced/classlib/trunk/modules/prefs/build.xml
harmony/enhanced/classlib/trunk/modules/print/build.xml
harmony/enhanced/classlib/trunk/modules/security/build.xml
Modified: harmony/enhanced/classlib/trunk/make/build-java.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/build-java.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/make/build-java.xml (original)
+++ harmony/enhanced/classlib/trunk/make/build-java.xml Wed Feb 11 23:09:24 2009
@@ -66,7 +66,7 @@
-clean-bin-catch-all"/>
<target name="-modules-clean-bin">
- <call-modules target="clean" />
+ <poll-modules target="clean" />
</target>
<target name="-clean-bin-catch-all-test">
@@ -178,7 +178,7 @@
</bootclasspath>
</hy.javac>
- <call-modules target="build" />
+ <poll-modules target="build" />
</target>
Modified: harmony/enhanced/classlib/trunk/make/build-native.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/build-native.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/make/build-native.xml (original)
+++ harmony/enhanced/classlib/trunk/make/build-native.xml Wed Feb 11 23:09:24 2009
@@ -70,20 +70,14 @@
<!-- These module targets take care of building and copying
their shared libs -->
- <ant dir="modules/portlib" antfile="build.xml" target="build-native" />
- <ant dir="modules/luni" antfile="build.xml" target="build-native-core" />
- <ant dir="modules/archive" antfile="build.xml" target="build-native" />
- <ant dir="modules/auth" antfile="build.xml" target="build-native" />
- <ant dir="modules/prefs" antfile="build.xml" target="build-native" />
- <ant dir="modules/luni" antfile="build.xml" target="build-native-secondary" />
- <ant dir="modules/nio" antfile="build.xml" target="build-native" />
- <ant dir="modules/nio_char" antfile="build.xml" target="build-native" />
- <ant dir="modules/misc" antfile="build.xml" target="build-native" />
- <ant dir="modules/awt" antfile="build.xml" target="build-native" />
- <ant dir="modules/security" antfile="build.xml" target="build-native" />
- <ant dir="modules/instrument" antfile="build.xml" target="build-native" />
- <ant dir="modules/imageio" antfile="build.xml" target="build-native" />
- <ant dir="modules/print" antfile="build.xml" target="build-native" />
+ <!-- these must be run in a specific order due to dependencies -->
+ <ant dir="modules/portlib" target="build-native" />
+ <ant dir="modules/luni" target="build-native-core" />
+ <ant dir="modules/archive" target="build-native" />
+ <ant dir="modules/luni" target="build-native-secondary" />
+
+ <!-- the rest can be run in any order -->
+ <poll-modules target="build-native-all" />
</target>
@@ -94,19 +88,7 @@
depends="copy-makefile-includes,-make-clean,clean-makefile-includes" />
<target name="-make-clean">
- <ant dir="modules/portlib" antfile="build.xml" target="clean-native" />
- <ant dir="modules/auth" antfile="build.xml" target="clean-native" />
- <ant dir="modules/archive" antfile="build.xml" target="clean-native" />
- <ant dir="modules/prefs" antfile="build.xml" target="clean-native" />
- <ant dir="modules/luni" antfile="build.xml" target="clean-native" />
- <ant dir="modules/nio" antfile="build.xml" target="clean-native" />
- <ant dir="modules/nio_char" antfile="build.xml" target="clean-native" />
- <ant dir="modules/misc" antfile="build.xml" target="clean-native" />
- <ant dir="modules/awt" antfile="build.xml" target="clean-native" />
- <ant dir="modules/security" antfile="build.xml" target="clean-native" />
- <ant dir="modules/instrument" antfile="build.xml" target="clean-native" />
- <ant dir="modules/imageio" antfile="build.xml" target="clean-native" />
- <ant dir="modules/print" antfile="build.xml" target="clean-native" />
+ <poll-modules target="clean-native" />
<delete dir="${native.lib.target}" />
</target>
@@ -174,11 +156,7 @@
target: overlay-oss
================================= -->
<target name="overlay-oss">
- <ant dir="modules/luni" antfile="build.xml"
- target="overlay-oss" />
-
- <ant dir="modules/archive" antfile="build.xml"
- target="overlay-oss" />
+ <poll-modules target="overlay-oss" />
</target>
<!-- =================================
@@ -187,12 +165,7 @@
<target name="copy-includes" >
<!-- Call copy-native-includes targets to copy across
global includes to deploy/includes/harmony -->
- <ant dir="modules/archive" antfile="build.xml"
- target="copy-native-includes" />
- <ant dir="modules/luni" antfile="build.xml"
- target="copy-native-includes" />
- <ant dir="modules/portlib" antfile="build.xml"
- target="copy-native-includes" />
+ <poll-modules target="copy-native-includes" />
</target>
@@ -203,12 +176,8 @@
<!-- Call clean.native.includes targets to delete global
includes under deploy/includes/harmony -->
- <ant dir="modules/archive" antfile="build.xml"
- target="clean-native-includes" />
- <ant dir="modules/luni" antfile="build.xml"
- target="clean-native-includes" />
- <ant dir="modules/portlib" antfile="build.xml"
- target="clean-native-includes" />
+ <poll-modules target="clean-native-includes" />
+
<!-- delete the deploy/include and deploy/jdk/include directories -->
<delete dir="${hy.hdk}/include" />
<delete dir="${hy.hdk}/jdk/include" />
@@ -240,10 +209,7 @@
target: clean-overlay-oss
================================= -->
<target name="clean-overlay-oss">
- <ant dir="modules/luni" antfile="build.xml"
- target="clean-overlay-oss" />
- <ant dir="modules/archive" antfile="build.xml"
- target="clean-overlay-oss" />
+ <poll-modules target="clean-overlay-oss" />
</target>
</project>
Modified: harmony/enhanced/classlib/trunk/make/build-test.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/build-test.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/make/build-test.xml (original)
+++ harmony/enhanced/classlib/trunk/make/build-test.xml Wed Feb 11 23:09:24 2009
@@ -53,7 +53,7 @@
</target>
<target name="test-modules" depends="support-jar, test-jre-vm-info">
- <call-modules target="-test-module" />
+ <poll-modules target="-test-module" />
</target>
<target name="gen-report" depends="full-report,short-report" />
Modified: harmony/enhanced/classlib/trunk/make/properties.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/properties.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/make/properties.xml (original)
+++ harmony/enhanced/classlib/trunk/make/properties.xml Wed Feb 11 23:09:24 2009
@@ -271,7 +271,7 @@
</condition>
<property name="jpeg.home" value="/usr" />
- <!-- default property for call-modules macro - i.e. all modules -->
+ <!-- default property for poll-modules macro - i.e. all modules -->
<property name="build.module" value="*" />
<property name="exclude.module" value="nothing" />
@@ -467,16 +467,54 @@
</exec>
</target>
- <macrodef name="call-modules">
+ <macrodef name="poll-modules"
+ description="directory-based macros for polling sub-builds">
<attribute name="target" />
+ <attribute name="dir" default="modules" />
+ <attribute name="includes" default="${build.module}"/>
+ <attribute name="excludes" default="${exclude.module}"/>
+ <attribute name="antfile" default="*.xml"/>
<sequential>
+ <!-- convert dirset pattern to fileset pattern-->
+ <property name="@{dir}.loc" location="@{dir}"/>
+ <pathconvert property="list.@{dir}.@{target}"
+ pathsep="${file.separator}@{antfile}," setonempty="no">
+ <path>
+ <dirset dir="@{dir}"
+ includes="@{includes}"
+ excludes="@{excludes}">
+ <exclude name=".*" />
+ </dirset>
+ </path>
+ <map from="${@{dir}.loc}${file.separator}" to=""/>
+ </pathconvert>
+ <!-- append antfile suffix to last item in the list, if any -->
+ <condition property="poll.@{dir}.@{target}"
+ value="${list.@{dir}.@{target}}${file.separator}@{antfile}"
+ else="">
+ <isset property="list.@{dir}.@{target}"/>
+ </condition>
+ <poll-build target="@{target}" dir="@{dir}"
+ includes="${poll.@{dir}.@{target}}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="poll-build"
+ description="plain-filter macros for polling sub-builds">
+ <attribute name="target" />
+ <attribute name="dir" />
+ <attribute name="includes" default="**/*.xml"/>
+ <attribute name="excludes" default=""/>
+ <sequential>
+ <echo message="polling @{includes}"/>
<subant target="@{target}">
+ <!-- TODO: modules probably need to work these properties
+ out for themselves in order to reduce coupling -->
<property name="hy.test.vm.name" value="${hy.test.vm.name}"/>
- <dirset dir="modules"
- includes="${build.module}"
- excludes="${exclude.module}">
- <exclude name=".*" />
- </dirset>
+ <property name="depends.oss" value="${depends.oss}"/>
+ <fileset dir="@{dir}" includes="@{includes}" excludes="@{excludes}">
+ <containsregexp expression="<target[^>]*name="@{target}""/>
+ </fileset>
</subant>
</sequential>
</macrodef>
Modified: harmony/enhanced/classlib/trunk/modules/auth/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/auth/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/auth/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/auth/build.xml Wed Feb 11 23:09:24 2009
@@ -71,7 +71,8 @@
<target name="-test-module" depends="build, compile-tests, prepare-exclude, run-tests" />
<!-- Build native code -->
- <target name="build-native" >
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" >
<make dir="${hy.auth.src.main.native}/auth/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
Modified: harmony/enhanced/classlib/trunk/modules/awt/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/build.xml Wed Feb 11 23:09:24 2009
@@ -151,7 +151,8 @@
</jar>
</target>
- <target name="build-native"
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all"
depends="-build-native-common,-build-native-unix,-build-native-windows" />
<target name="-build-native-common">
Modified: harmony/enhanced/classlib/trunk/modules/imageio/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/imageio/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/imageio/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/imageio/build.xml Wed Feb 11 23:09:24 2009
@@ -100,7 +100,8 @@
</javac>
</target>
- <target name="build-native">
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" >
<make dir="${hy.imageio.src.main.native}/jpegencoder/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
<copy todir="${hy.jdk}/jre/bin" overwrite="yes">
Modified: harmony/enhanced/classlib/trunk/modules/instrument/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/instrument/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/instrument/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/instrument/build.xml Wed Feb 11 23:09:24 2009
@@ -56,7 +56,8 @@
<target name="-test-module" depends="build, compile-tests, prepare-exclude, run-tests" />
<!-- Build native code -->
- <target name="build-native" >
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" >
<make dir="${hy.instrument.src.main.native}/instrument/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
Modified: harmony/enhanced/classlib/trunk/modules/misc/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/misc/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/misc/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/misc/build.xml Wed Feb 11 23:09:24 2009
@@ -121,7 +121,8 @@
</jar>
</target>
- <target name="build-native" >
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" >
<make dir="${hy.misc.src.main.native}/accessors/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
Modified: harmony/enhanced/classlib/trunk/modules/nio/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/build.xml Wed Feb 11 23:09:24 2009
@@ -69,7 +69,8 @@
depends="build, compile-tests, prepare-exclude, run-tests" />
<!-- Build natives.-->
- <target name="build-native">
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" >
<make dir="${hy.nio.src.main.native}/nio/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
Modified: harmony/enhanced/classlib/trunk/modules/nio_char/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio_char/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/nio_char/build.xml Wed Feb 11 23:09:24 2009
@@ -44,7 +44,8 @@
<target name="build" depends="compile-java, copy-resources, build-jar" />
<!-- Build natives.-->
- <target name="build-native">
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" >
<make dir="${hy.nio_char.src.main.native}/niochar/${hy.os.family}" />
Modified: harmony/enhanced/classlib/trunk/modules/prefs/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/prefs/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/prefs/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/prefs/build.xml Wed Feb 11 23:09:24 2009
@@ -59,7 +59,8 @@
<!-- Build natives. Currently there are only windows natives for
prefs, so we check if we are on a windows platform -->
- <target name="build-native" if="is.windows">
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" if="is.windows">
<make dir="${hy.prefs.src.main.native}/prefs/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
Modified: harmony/enhanced/classlib/trunk/modules/print/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/print/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/print/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/print/build.xml Wed Feb 11 23:09:24 2009
@@ -102,7 +102,8 @@
</javac>
</target>
- <target name="build-native" if="is.windows">
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" if="is.windows">
<make dir="${hy.print.src.main.native}/print/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->
<copy todir="${hy.jdk}/jre/bin" overwrite="yes">
Modified: harmony/enhanced/classlib/trunk/modules/security/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/security/build.xml?rev=743555&r1=743554&r2=743555&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/security/build.xml (original)
+++ harmony/enhanced/classlib/trunk/modules/security/build.xml Wed Feb 11 23:09:24 2009
@@ -80,7 +80,8 @@
<available file="${hy.security.src.main.native}/security/${hy.os.family}" property="native.present" />
- <target name="build-native" if="native.present" >
+ <target name="build-native" depends="build-native-all" />
+ <target name="build-native-all" if="native.present" >
<make dir="${hy.security.src.main.native}/security/${hy.os.family}" />
<!-- Copy the built shared libs over to the jre/bin dir -->