summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2006-03-20 15:58:47 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2006-03-20 15:58:47 +0000
commit0a5eb2c599eead1eeba7559ed0dcc5706079bf4d (patch)
tree73c710573e7146cb6958e90f679ed35f51aaa740 /build.xml
parentb656cd6c838b424ed2aa0cff746e3f49b9871dd0 (diff)
downloadscala-0a5eb2c599eead1eeba7559ed0dcc5706079bf4d.tar.gz
scala-0a5eb2c599eead1eeba7559ed0dcc5706079bf4d.tar.bz2
scala-0a5eb2c599eead1eeba7559ed0dcc5706079bf4d.zip
1.
2. ScalaTool Ant task updated to be more flexible. 3. Build now generates a separate archive for DBC (also changed in source layout).
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml207
1 files changed, 114 insertions, 93 deletions
diff --git a/build.xml b/build.xml
index be6858e209..bfca04c7e5 100644
--- a/build.xml
+++ b/build.xml
@@ -65,12 +65,14 @@ PROPERTIES
<!-- Location of source and build elements names properties -->
<property name="lib.dir.name" value="library"/>
<property name="comp.dir.name" value="compiler"/>
+ <property name="dbc.dir.name" value="dbc"/>
<property name="exec.dir.name" value="exec"/>
<!-- Location of structure of the distribution properties -->
<property name="dist.dir" value="${basedir}/dists"/>
<property name="dist.latest.dir" value="${dist.dir}/latest"/>
<property name="dist.name" value="scala"/>
<property name="lib.jar.name" value="${dist.name}-${lib.dir.name}.jar"/>
+ <property name="lib-dbc.jar.name" value="${dist.name}-dbc.jar"/>
<property name="comp.jar.name" value="${dist.name}-${comp.dir.name}.jar"/>
<property name="scala.exec.name" value="${dist.name}"/>
<property name="scalai.exec.name" value="scalai"/>
@@ -83,8 +85,12 @@ PROPERTIES
<property name="locker.comp.dir" value="${locker.dir}/${comp.dir.name}"/>
<property name="quick.lib.dir" value="${quick.dir}/${lib.dir.name}"/>
<property name="quick.comp.dir" value="${quick.dir}/${comp.dir.name}"/>
+ <property name="quick.dbc.dir" value="${quick.dir}/${dbc.dir.name}"/>
+ <property name="quick.exec.dir" value="${quick.dir}/${exec.dir.name}"/>
<property name="strap.lib.dir" value="${strap.dir}/${lib.dir.name}"/>
<property name="strap.comp.dir" value="${strap.dir}/${comp.dir.name}"/>
+ <property name="strap.dbc.dir" value="${strap.dir}/${dbc.dir.name}"/>
+ <property name="strap.exec.dir" value="${strap.dir}/${exec.dir.name}"/>
<property name="api.lib.dir" value="${api.dir}/${lib.dir.name}"/>
<property name="api.comp.dir" value="${api.dir}/${comp.dir.name}"/>
<!-- sbaz properties -->
@@ -403,8 +409,7 @@ BUILD SUPPORT MACROS
BUILD LOCAL REFERENCE (LOCKER) LAYER
============================================================================ -->
- <target
- name="newlocker"
+ <target name="newlocker"
depends="clean.unfreeze, build.locker"
description="Rebuilds LOCKER from the current sources"
/>
@@ -445,6 +450,7 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER
<include name="**/*.scala"/>
<exclude name="scala/Predef.scala"/>
<exclude name="scala/runtime/ScalaRunTime.scala"/>
+ <exclude name="scala/dbc/**"/>
<excludesfile name="${nsc.excludes}" if="excludes.avail"/>
</starr>
<!-- Build compiler -->
@@ -481,24 +487,7 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER
/>
<!-- Copy support files to build folder and links external libraries-->
<build.support build.dir="${locker.dir}"/>
- <build.links build.dir="${locker.dir}"/>
- <!-- Build executable files -->
- <mkdir dir="${locker.dir}/${exec.dir.name}"/>
- <starrtool
- file="${locker.dir}/${exec.dir.name}/${scalac.exec.name}"
- genericFile="${locker.dir}/${exec.dir.name}/${scala.exec.name}"
- name="Scala compiler"
- class="scala.tools.nsc.Main"
- version="${version.number}"
- copyright="${copyright}"
- classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
- properties="scala.boot.class.path=#CLASSPATH#"
- javaFlags="-Xmx256M -Xms16M"
- />
- <chmod file="${locker.dir}/${exec.dir.name}/${scalac.exec.name}"
- perm="ugo+rx"/>
- <chmod file="${locker.dir}/${exec.dir.name}/${scala.exec.name}"
- perm="ugo+rx"/>
+ <!-- Mark LOCKER as being completely built -->
<touch file="${locker.dir}/complete" verbose="no"/>
</target>
@@ -506,8 +495,7 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER
BUILD QUICK-TEST LAYER
============================================================================ -->
- <target
- name="build"
+ <target name="build"
depends="setup.locker"
description="Builds a quick-test (QUICK) version of the compiler"
>
@@ -549,6 +537,21 @@ BUILD QUICK-TEST LAYER
<include name="**/*.scala"/>
<exclude name="scala/Predef.scala"/>
<exclude name="scala/runtime/ScalaRunTime.scala"/>
+ <exclude name="scala/dbc/**"/>
+ <excludesfile name="${nsc.excludes}" if="excludes.avail"/>
+ </locker>
+ <mkdir dir="${quick.dbc.dir}"/>
+ <locker
+ srcdir="${src.dir}/${dbc.dir.name}"
+ destdir="${quick.dbc.dir}"
+ addparams="${nsc.params}"
+ scalacdebugging="${nsc.log-files}"
+ >
+ <classpath>
+ <pathelement location="${quick.lib.dir}"/>
+ <pathelement location="${quick.dbc.dir}"/>
+ </classpath>
+ <include name="scala/dbc/**/*.scala"/>
<excludesfile name="${nsc.excludes}" if="excludes.avail"/>
</locker>
<!-- Build compiler -->
@@ -588,27 +591,25 @@ BUILD QUICK-TEST LAYER
<!-- Copy support files to build folder and links external libraries-->
<build.support build.dir="${quick.dir}"/>
<build.links build.dir="${quick.dir}"/>
+ <echo>${quick.dir}/${exec.dir.name}</echo>
<!-- Build executable files -->
<mkdir dir="${quick.dir}/${exec.dir.name}"/>
<lockertool
+ file="${quick.dir}/${exec.dir.name}/${scala.exec.name}"
+ version="${version.number}"
+ copyright="${copyright}"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${dbc.dir.name}"
+ javaFlags="-Xmx256M -Xms16M"
+ />
+ <lockertool
file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}"
- genericFile="${quick.dir}/${exec.dir.name}/${scala.exec.name}"
name="Scala compiler"
class="scala.tools.nsc.Main"
version="${version.number}"
copyright="${copyright}"
- classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
- properties="scala.boot.class.path=#CLASSPATH#"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
javaFlags="-Xmx256M -Xms16M"
/>
- <chmod
- file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}"
- perm="ugo+rx"
- />
- <chmod
- file="${quick.dir}/${exec.dir.name}/${scala.exec.name}"
- perm="ugo+rx"
- />
<lockertool
file="${quick.dir}/${exec.dir.name}/${scaladoc.exec.name}"
name="Scala doc generator"
@@ -616,22 +617,28 @@ BUILD QUICK-TEST LAYER
toolflags="-doc"
version="${version.number}"
copyright="${copyright}"
- classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
- properties="scala.boot.class.path=#CLASSPATH#"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
javaFlags="-Xmx256M -Xms16M"
/>
- <chmod
- file="${quick.dir}/${exec.dir.name}/${scaladoc.exec.name}"
- perm="ugo+rx"
- />
<lockertool
file="${quick.dir}/${exec.dir.name}/${scalaint.exec.name}"
name="Scala interpreter"
class="scala.tools.nsc.MainInterpreter"
version="${version.number}"
copyright="${copyright}"
- classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
- properties="scala.boot.class.path=#CLASSPATH#"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}:#SCALA_HOME#/${dbc.dir.name}"
+ />
+ <chmod
+ file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}"
+ perm="ugo+rx"
+ />
+ <chmod
+ file="${quick.dir}/${exec.dir.name}/${scala.exec.name}"
+ perm="ugo+rx"
+ />
+ <chmod
+ file="${quick.dir}/${exec.dir.name}/${scaladoc.exec.name}"
+ perm="ugo+rx"
/>
<chmod
file="${quick.dir}/${exec.dir.name}/${scalaint.exec.name}"
@@ -650,8 +657,7 @@ BUILD QUICK-TEST LAYER
TEST
============================================================================ -->
- <target
- name="test"
+ <target name="test"
depends="clean.build, test.stability, test.strap"
description="Tests the build for stability (rebuilds everything)"
/>
@@ -694,6 +700,20 @@ TEST
<include name="**/*.scala"/>
<exclude name="scala/Predef.scala"/>
<exclude name="scala/runtime/ScalaRunTime.scala"/>
+ <exclude name="scala/dbc/**"/>
+ <excludesfile name="${nsc.excludes}" if="excludes.avail"/>
+ </quick>
+ <mkdir dir="${strap.dbc.dir}"/>
+ <quick
+ srcdir="${src.dir}/${dbc.dir.name}"
+ destdir="${strap.dbc.dir}"
+ addparams="${nsc.params}"
+ >
+ <classpath>
+ <pathelement location="${strap.lib.dir}"/>
+ <pathelement location="${strap.dbc.dir}"/>
+ </classpath>
+ <include name="scala/dbc/**/*.scala"/>
<excludesfile name="${nsc.excludes}" if="excludes.avail"/>
</quick>
<!-- Build compiler -->
@@ -735,49 +755,50 @@ TEST
<!-- Build executable files -->
<mkdir dir="${strap.dir}/${exec.dir.name}"/>
<quicktool
+ file="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
+ version="${version.number}"
+ copyright="${copyright}"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${dbc.dir.name}"
+ javaFlags="-Xmx256M -Xms16M"
+ />
+ <quicktool
file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}"
- genericFile="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
name="Scala compiler"
class="scala.tools.nsc.Main"
version="${version.number}"
copyright="${copyright}"
- classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
- properties="scala.boot.class.path=#CLASSPATH#"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
javaFlags="-Xmx256M -Xms16M"
/>
- <chmod
- file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}"
- perm="ugo+rx"
- />
- <chmod
- file="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
- perm="ugo+rx"
- />
<quicktool
file="${strap.dir}/${exec.dir.name}/${scaladoc.exec.name}"
- genericFile="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
name="Scala doc generator"
class="scala.tools.nsc.Main"
toolflags="-doc"
version="${version.number}"
copyright="${copyright}"
- classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
- properties="scala.boot.class.path=#CLASSPATH#"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}"
javaFlags="-Xmx256M -Xms16M"
/>
- <chmod
- file="${strap.dir}/${exec.dir.name}/${scaladoc.exec.name}"
- perm="ugo+rx"
- />
<quicktool
file="${strap.dir}/${exec.dir.name}/${scalaint.exec.name}"
name="Scala interpreter"
class="scala.tools.nsc.MainInterpreter"
version="${version.number}"
copyright="${copyright}"
- classpath=""
- properties="scala.boot.class.path=#CLASSPATH#"
- javaFlags="-Xmx256M -Xms16M"
+ extclasspath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}:#SCALA_HOME#/${dbc.dir.name}"
+ />
+ <chmod
+ file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}"
+ perm="ugo+rx"
+ />
+ <chmod
+ file="${strap.dir}/${exec.dir.name}/${scala.exec.name}"
+ perm="ugo+rx"
+ />
+ <chmod
+ file="${strap.dir}/${exec.dir.name}/${scaladoc.exec.name}"
+ perm="ugo+rx"
/>
<chmod
file="${strap.dir}/${exec.dir.name}/${scalaint.exec.name}"
@@ -821,8 +842,7 @@ TEST
DOCUMENTATION
============================================================================ -->
- <target
- name="docs"
+ <target name="docs"
description="Generated the API for library sources"
depends="setup.quick"
>
@@ -840,8 +860,7 @@ DOCUMENTATION
</quickdoc>
</target>
- <target
- name="docs.compiler"
+ <target name="docs.compiler"
description="Generated the API for compiler sources"
depends="setup.quick"
>
@@ -906,8 +925,7 @@ GENERATES A DISTRIBUTION
<runtarget target="dist"/>
</target>
- <target
- name="dist"
+ <target name="dist"
depends="test, docs"
description="Creates a complete Scala distribution"
>
@@ -931,52 +949,56 @@ GENERATES A DISTRIBUTION
<attribute name="Signature-Version" value="${version.number}"/>
</manifest>
</jar>
+ <jar destfile="${dist.current.dir}/lib/${lib-dbc.jar.name}">
+ <fileset dir="${strap.dbc.dir}"/>
+ <manifest>
+ <attribute name="Signature-Version" value="${version.number}"/>
+ </manifest>
+ </jar>
<mkdir dir="${dist.current.dir}/bin"/>
<!-- Build executable files -->
<mkdir dir="${dist.current.dir}/bin"/>
<quicktool
+ file="${dist.current.dir}/bin/${scala.exec.name}"
+ version="${version.number}"
+ copyright="${copyright}"
+ javaFlags="-Xmx256M -Xms16M"
+ />
+ <quicktool
file="${dist.current.dir}/bin/${scalac.exec.name}"
- genericFile="${dist.current.dir}/bin/${scala.exec.name}"
name="Scala compiler"
class="scala.tools.nsc.Main"
version="${version.number}"
copyright="${copyright}"
- classpath=""
- properties="scala.boot.class.path=#CLASSPATH#"
javaFlags="-Xmx256M -Xms16M"
/>
- <chmod
- file="${dist.current.dir}/bin/${scalac.exec.name}"
- perm="ugo+rx"
- />
- <chmod
- file="${dist.current.dir}/bin/${scala.exec.name}"
- perm="ugo+rx"
- />
<quicktool
file="${dist.current.dir}/bin/${scaladoc.exec.name}"
- genericFile="${dist.current.dir}/bin/${scala.exec.name}"
- name="Scala compiler"
+ name="Scala doc generator"
class="scala.tools.nsc.Main"
toolflags="-doc"
version="${version.number}"
copyright="${copyright}"
- classpath=""
- properties="scala.boot.class.path=#CLASSPATH#"
javaFlags="-Xmx256M -Xms16M"
/>
- <chmod
- file="${dist.current.dir}/bin/${scaladoc.exec.name}"
- perm="ugo+rx"
- />
<quicktool
file="${dist.current.dir}/bin/${scalaint.exec.name}"
name="Scala interpreter"
class="scala.tools.nsc.MainInterpreter"
version="${version.number}"
copyright="${copyright}"
- classpath=""
- javaFlags="-Xmx256M -Xms16M"
+ />
+ <chmod
+ file="${dist.current.dir}/bin/${scalac.exec.name}"
+ perm="ugo+rx"
+ />
+ <chmod
+ file="${dist.current.dir}/bin/${scala.exec.name}"
+ perm="ugo+rx"
+ />
+ <chmod
+ file="${dist.current.dir}/bin/${scaladoc.exec.name}"
+ perm="ugo+rx"
/>
<chmod
file="${dist.current.dir}/bin/${scalaint.exec.name}"
@@ -1116,8 +1138,7 @@ CLEAN
<remove dir="${build.dir}"/>
</target>
- <target
- name="clean.all"
+ <target name="clean.all"
description="Removes all build products and distributions"
>
<remove dir="${build.dir}"/>