diff options
author | Geoff Reedy <gereedy@sandia.gov> | 2012-02-06 09:05:32 -0700 |
---|---|---|
committer | Geoff Reedy <gereedy@sandia.gov> | 2012-02-06 09:05:32 -0700 |
commit | 0c73665be747937a80a8178268782a470f0b3413 (patch) | |
tree | 46bcf8970efaa9c56f9dd44f9393863295527da5 | |
parent | 28b2d0c13aba7156431076119c920c7dcee6dc77 (diff) | |
download | scala-0c73665be747937a80a8178268782a470f0b3413.tar.gz scala-0c73665be747937a80a8178268782a470f0b3413.tar.bz2 scala-0c73665be747937a80a8178268782a470f0b3413.zip |
Automatically fetch jars as needed
Use mappers with uptodate and touch tasks to detect if any jars need to
be downloaded based on the modification time of the desired.sha1 files
-rw-r--r-- | build.xml | 33 |
1 files changed, 19 insertions, 14 deletions
@@ -210,28 +210,33 @@ PROPERTIES INITIALISATION ============================================================================ --> - <condition property="starr.absent"> - <not><available file="${lib.dir}/scala-library.jar"/></not> - </condition> - - <!-- It's such a PITA to perform the amazing && in ant, forget it. - I'll just check the compiler jar. --> - <target name="init.starr.check"> - <uptodate property="starr.compiler.uptodate" - srcfile="${lib.dir}/scala-compiler.jar.desired.sha1" - targetfile="${lib.dir}/scala-compiler.jar" /> + <target name="init.jars.check"> + <uptodate property="lib.jars.uptodate"> + <srcfiles dir="${basedir}"> + <include name="lib/**/*.desired.sha1"/> + <include name="test/files/**/*.desired.sha1"/> + <include name="tools/**/*.desired.sha1"/> + </srcfiles> + <mapper type="glob" from="*.desired.sha1" to="*"/> + </uptodate> </target> - <target name="init.starr" depends="init.starr.check" unless="starr.compiler.uptodate"> + <target name="init.jars" depends="init.jars.check" unless="lib.jars.uptodate"> <echo level="warn" message="Updating bootstrap libs. (To do this by hand, run ./pull-binary-libs.sh)"/> <exec osfamily="unix" vmlauncher="false" executable="./pull-binary-libs.sh" failifexecutionfails="true" /> <exec osfamily="windows" vmlauncher="false" executable="pull-binary-libs.sh" failifexecutionfails="true" /> <!-- uptodate task needs to know these are what's in the sha. --> - <touch file="${lib.dir}/scala-library.jar" /> - <touch file="${lib.dir}/scala-compiler.jar" /> + <touch> + <fileset dir="${basedir}"> + <include name="lib/**/*.desired.sha1"/> + <include name="test/files/**/*.desired.sha1"/> + <include name="tools/**/*.desired.sha1"/> + </fileset> + <mapper type="glob" from="*.desired.sha1" to="*"/> + </touch> </target> - <target name="init" depends="init.starr"> + <target name="init" depends="init.jars"> <!-- scalac.args.optimise is selectively overridden in certain antcall tasks. --> <property name="scalac.args.optimise" value=""/> <!-- scalac.args.quickonly are added to quick.* targets but not others (particularly, locker.) |