6955292: Workaround ant 1.7.1 package-info.java issue in ant scripts
6960333: Add make level ALLOW_DOWNLOADS=true option
6940241: Change jaxp/jaxws so that the http downloads are not done by default
Reviewed-by: darcy
--- a/jaxp/build-defs.xml Thu Jun 17 10:43:17 2010 -0700
+++ b/jaxp/build-defs.xml Thu Jun 17 10:50:14 2010 -0700
@@ -55,9 +55,29 @@
<drop-import name="jaxp_src"/>
<!-- <drop-import name="jaxp_tests"/> -->
+ <!-- Fail and print helpful messages if source does not exist. -->
+ <target name="-src-help">
+ <fail message="${failed.url.src.message}">
+ <condition>
+ <and>
+ <not>
+ <available file="${jaxp_src.src.dir}" type="dir"/>
+ </not>
+ <istrue value="${allow.downloads}"/>
+ </and>
+ </condition>
+ </fail>
+ <fail message="${failed.nourl.src.message}">
+ <condition>
+ <not>
+ <available file="${jaxp_src.src.dir}" type="dir"/>
+ </not>
+ </condition>
+ </fail>
+ </target>
- <!-- Special build area preparation. -->
- <target name="-drop-build-prep" depends="init, -init-src-dirs">
+ <!-- Special build area setup. -->
+ <target name="-drop-build-setup" depends="init, -init-src-dirs">
<mkdir dir="${build.classes.dir}"/>
<copy todir="${build.classes.dir}">
<fileset dir="${primary.src.dir}"
@@ -84,7 +104,7 @@
<!-- Source directory selection. -->
<target name="-init-src-dirs"
- depends="init, -use-drop">
+ depends="init, -use-drop,-src-help">
<echo message="Using primary.src.dir=${primary.src.dir}"/>
<pathconvert property="src.list.id" refid="src.dir.id"/>
<echo message="Using src.dir.id=${src.list.id}"/>
--- a/jaxp/build-drop-template.xml Thu Jun 17 10:43:17 2010 -0700
+++ b/jaxp/build-drop-template.xml Thu Jun 17 10:50:14 2010 -0700
@@ -75,6 +75,7 @@
<target name="-@DROP@-url-should-be-used" unless="@DROP@.url.should.be.used">
<condition property="@DROP@.url.should.be.used">
<and>
+ <istrue value="${allow.downloads}"/>
<not>
<isset property="@DROP@.master.bundle.copy.exists"/>
</not>
--- a/jaxp/build.properties Thu Jun 17 10:43:17 2010 -0700
+++ b/jaxp/build.properties Thu Jun 17 10:50:14 2010 -0700
@@ -104,4 +104,24 @@
drops.dir=${drops.dir}${line.separator}\
${line.separator}
+# Failure messages when source cannot be found on the file system
+failed.nourl.src.message=\
+ERROR: Cannot find source for project ${ant.project.name}.\
+${line.separator}${line.separator}\
+HINT: Try setting drops.dir to indicate where the bundles can be found, \
+or try setting the ant property allow.downloads=true to download the bundle from the URL.\
+${line.separator}\
+e.g. ant -Dallow.downloads=true -OR- ant -Ddrops.dir=some_directory \
+${line.separator}
+
+# Failure message when source cannot be downloaded
+failed.url.src.message=\
+ERROR: Cannot find source for project ${ant.project.name}.\
+${line.separator}${line.separator}\
+HINT: Try setting drops.dir to indicate where the bundles can be found, \
+or try checking the URL with your browser.\
+${line.separator}\
+e.g. ant -Ddrops.dir=some_directory \
+${line.separator}
+
#------------------------------------------------------------
--- a/jaxp/build.xml Thu Jun 17 10:43:17 2010 -0700
+++ b/jaxp/build.xml Thu Jun 17 10:50:14 2010 -0700
@@ -36,6 +36,11 @@
javac.debug - true or false for debug classfiles
javac.target - classfile version target
javac.source - source version
+ drops.dir - directory that holds source drop bundles
+ allow.download - permit downloads from public url (default is false)
+ (used if bundles not found in drops.dir)
+
+ Run 'make help' for help using the Makefile.
</description>
<!-- Mac is special, need to downgrade these before build.properties. -->
@@ -106,16 +111,20 @@
<jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
</target>
- <target name="-build-prep"
- depends="init, -init-src-dirs, -drop-build-prep">
+ <target name="-build-setup"
+ depends="init, -init-src-dirs, -drop-build-setup">
</target>
<!-- Build (compilation) of sources to class files. -->
<target name="build"
- depends="init, -init-src-dirs, -build-prep">
+ depends="compile, -build-setup">
+ </target>
+ <target name="compile"
+ depends="init, -init-src-dirs">
+ <mkdir dir="${build.classes.dir}"/>
<javac
- includeAntRuntime="false"
- classpath="${build.classes.dir}"
+ includeAntRuntime="false"
+ classpath="${build.classes.dir}:${tools.jar}"
fork="true"
destdir="${build.classes.dir}"
memoryInitialSize="${javac.memoryInitialSize}"
--- a/jaxp/make/Makefile Thu Jun 17 10:43:17 2010 -0700
+++ b/jaxp/make/Makefile Thu Jun 17 10:50:14 2010 -0700
@@ -65,6 +65,11 @@
endif
endif
+# If downloads are allowed
+ifeq ($(ALLOW_DOWNLOADS),true)
+ ANT_OPTIONS += -Dallow.downloads=true
+endif
+
# Figure out the platform we are using
_SYSTEM_UNAME := $(shell uname)
_PLATFORM_KIND = unix
@@ -159,6 +164,8 @@
@echo " $(ANT_TARGETS)"
@echo " "
@echo " Environment or command line variables (all optional):"
+ $(call helpenvline, ALT_DROPS_DIR,\
+ "Directory that contains the drop source bundles i.e. drops.dir")
$(call helpenvline, ALT_BOOTDIR,\
"JAVA_HOME to use when running ant")
$(call helpenvline, ALT_LANGTOOLS_DIST,\