6955292: Workaround ant 1.7.1 package-info.java issue in ant scripts
6940241: Change jaxp/jaxws so that the http downloads are not done by default
6960333: Add make level ALLOW_DOWNLOADS=true option
Reviewed-by: darcy, ramap
--- a/jaxws/build-defs.xml Thu Jun 17 17:18:55 2010 -0700
+++ b/jaxws/build-defs.xml Thu Jun 17 17:19:58 2010 -0700
@@ -55,9 +55,36 @@
<drop-import name="jaxws_src"/>
<drop-import name="jaf_src"/>
<!-- <drop-import name="jaxws_tests"/> -->
+
+ <!-- Fail and print helpful messages if source does not exist. -->
+ <target name="-src-help">
+ <fail message="${failed.url.src.message}">
+ <condition>
+ <and>
+ <not>
+ <and>
+ <available file="${jaxws_src.src.dir}" type="dir"/>
+ <available file="${jaf_src.src.dir}" type="dir"/>
+ </and>
+ </not>
+ <istrue value="${allow.downloads}"/>
+ </and>
+ </condition>
+ </fail>
+ <fail message="${failed.nourl.src.message}">
+ <condition>
+ <not>
+ <and>
+ <available file="${jaxws_src.src.dir}" type="dir"/>
+ <available file="${jaf_src.src.dir}" type="dir"/>
+ </and>
+ </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}"
@@ -99,7 +126,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/jaxws/build-drop-template.xml Thu Jun 17 17:18:55 2010 -0700
+++ b/jaxws/build-drop-template.xml Thu Jun 17 17:19:58 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/jaxws/build.properties Thu Jun 17 17:18:55 2010 -0700
+++ b/jaxws/build.properties Thu Jun 17 17:19:58 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/jaxws/build.xml Thu Jun 17 17:18:55 2010 -0700
+++ b/jaxws/build.xml Thu Jun 17 17:19:58 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,13 +111,17 @@
<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}:${tools.jar}"
--- a/jaxws/make/Makefile Thu Jun 17 17:18:55 2010 -0700
+++ b/jaxws/make/Makefile Thu Jun 17 17:19:58 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,\