summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.xml207
-rw-r--r--src/compiler/scala/tools/ant/ScalaTool.scala125
-rw-r--r--src/compiler/scala/tools/ant/templates/generic-unix.tmpl85
-rw-r--r--src/compiler/scala/tools/ant/templates/int-unix.tmpl99
-rw-r--r--src/compiler/scala/tools/ant/templates/tool-unix.tmpl74
-rw-r--r--src/dbc/scala/dbc/DataType.scala (renamed from src/library/scala/dbc/DataType.scala)0
-rw-r--r--src/dbc/scala/dbc/Database.scala (renamed from src/library/scala/dbc/Database.scala)13
-rw-r--r--src/dbc/scala/dbc/Syntax.scala (renamed from src/library/scala/dbc/Syntax.scala)0
-rw-r--r--src/dbc/scala/dbc/Utilities.scala (renamed from src/library/scala/dbc/Utilities.scala)0
-rw-r--r--src/dbc/scala/dbc/Value.scala (renamed from src/library/scala/dbc/Value.scala)0
-rw-r--r--src/dbc/scala/dbc/Vendor.scala (renamed from src/library/scala/dbc/Vendor.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/ApproximateNumeric.scala (renamed from src/library/scala/dbc/datatype/ApproximateNumeric.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/Boolean.scala (renamed from src/library/scala/dbc/datatype/Boolean.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/Character.scala (renamed from src/library/scala/dbc/datatype/Character.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/CharacterLargeObject.scala (renamed from src/library/scala/dbc/datatype/CharacterLargeObject.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/CharacterString.scala (renamed from src/library/scala/dbc/datatype/CharacterString.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/CharacterVarying.scala (renamed from src/library/scala/dbc/datatype/CharacterVarying.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/ExactNumeric.scala (renamed from src/library/scala/dbc/datatype/ExactNumeric.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/Factory.scala (renamed from src/library/scala/dbc/datatype/Factory.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/Numeric.scala (renamed from src/library/scala/dbc/datatype/Numeric.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/String.scala (renamed from src/library/scala/dbc/datatype/String.scala)0
-rw-r--r--src/dbc/scala/dbc/datatype/Unknown.scala (renamed from src/library/scala/dbc/datatype/Unknown.scala)0
-rw-r--r--src/dbc/scala/dbc/exception/IncompatibleSchema.scala (renamed from src/library/scala/dbc/exception/IncompatibleSchema.scala)0
-rw-r--r--src/dbc/scala/dbc/exception/UnsupportedFeature.scala (renamed from src/library/scala/dbc/exception/UnsupportedFeature.scala)0
-rw-r--r--src/dbc/scala/dbc/result/Field.scala (renamed from src/library/scala/dbc/result/Field.scala)0
-rw-r--r--src/dbc/scala/dbc/result/FieldMetadata.scala (renamed from src/library/scala/dbc/result/FieldMetadata.scala)0
-rw-r--r--src/dbc/scala/dbc/result/Relation.scala (renamed from src/library/scala/dbc/result/Relation.scala)0
-rw-r--r--src/dbc/scala/dbc/result/Status.scala (renamed from src/library/scala/dbc/result/Status.scala)0
-rw-r--r--src/dbc/scala/dbc/result/Tuple.scala (renamed from src/library/scala/dbc/result/Tuple.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/AccessMode.scala (renamed from src/library/scala/dbc/statement/AccessMode.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/DerivedColumn.scala (renamed from src/library/scala/dbc/statement/DerivedColumn.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Expression.scala (renamed from src/library/scala/dbc/statement/Expression.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Insert.scala (renamed from src/library/scala/dbc/statement/Insert.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/InsertionData.scala (renamed from src/library/scala/dbc/statement/InsertionData.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/IsolationLevel.scala (renamed from src/library/scala/dbc/statement/IsolationLevel.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/JoinType.scala (renamed from src/library/scala/dbc/statement/JoinType.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Jointure.scala (renamed from src/library/scala/dbc/statement/Jointure.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Relation.scala (renamed from src/library/scala/dbc/statement/Relation.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Select.scala (renamed from src/library/scala/dbc/statement/Select.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/SetClause.scala (renamed from src/library/scala/dbc/statement/SetClause.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/SetQuantifier.scala (renamed from src/library/scala/dbc/statement/SetQuantifier.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Statement.scala (renamed from src/library/scala/dbc/statement/Statement.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Status.scala (renamed from src/library/scala/dbc/statement/Status.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Table.scala (renamed from src/library/scala/dbc/statement/Table.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Transaction.scala (renamed from src/library/scala/dbc/statement/Transaction.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/Update.scala (renamed from src/library/scala/dbc/statement/Update.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/Aggregate.scala (renamed from src/library/scala/dbc/statement/expression/Aggregate.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/BinaryOperator.scala (renamed from src/library/scala/dbc/statement/expression/BinaryOperator.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/Constant.scala (renamed from src/library/scala/dbc/statement/expression/Constant.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/Default.scala (renamed from src/library/scala/dbc/statement/expression/Default.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/Field.scala (renamed from src/library/scala/dbc/statement/expression/Field.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/FunctionCall.scala (renamed from src/library/scala/dbc/statement/expression/FunctionCall.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/Select.scala (renamed from src/library/scala/dbc/statement/expression/Select.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/SetFunction.scala (renamed from src/library/scala/dbc/statement/expression/SetFunction.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/TypeCast.scala (renamed from src/library/scala/dbc/statement/expression/TypeCast.scala)0
-rw-r--r--src/dbc/scala/dbc/statement/expression/UnaryOperator.scala (renamed from src/library/scala/dbc/statement/expression/UnaryOperator.scala)0
-rw-r--r--src/dbc/scala/dbc/syntax/DataTypeUtil.scala (renamed from src/library/scala/dbc/syntax/DataTypeUtil.scala)0
-rw-r--r--src/dbc/scala/dbc/syntax/Database.scala (renamed from src/library/scala/dbc/syntax/Database.scala)0
-rw-r--r--src/dbc/scala/dbc/syntax/Statement.scala (renamed from src/library/scala/dbc/syntax/Statement.scala)0
-rw-r--r--src/dbc/scala/dbc/syntax/StatementExpression.scala (renamed from src/library/scala/dbc/syntax/StatementExpression.scala)0
-rw-r--r--src/dbc/scala/dbc/value/ApproximateNumeric.scala (renamed from src/library/scala/dbc/value/ApproximateNumeric.scala)0
-rw-r--r--src/dbc/scala/dbc/value/Boolean.scala (renamed from src/library/scala/dbc/value/Boolean.scala)0
-rw-r--r--src/dbc/scala/dbc/value/Character.scala (renamed from src/library/scala/dbc/value/Character.scala)0
-rw-r--r--src/dbc/scala/dbc/value/CharacterLargeObject.scala (renamed from src/library/scala/dbc/value/CharacterLargeObject.scala)0
-rw-r--r--src/dbc/scala/dbc/value/CharacterVarying.scala (renamed from src/library/scala/dbc/value/CharacterVarying.scala)0
-rw-r--r--src/dbc/scala/dbc/value/Conversion.scala (renamed from src/library/scala/dbc/value/Conversion.scala)0
-rw-r--r--src/dbc/scala/dbc/value/ExactNumeric.scala (renamed from src/library/scala/dbc/value/ExactNumeric.scala)0
-rw-r--r--src/dbc/scala/dbc/value/Factory.scala (renamed from src/library/scala/dbc/value/Factory.scala)0
-rw-r--r--src/dbc/scala/dbc/value/Unknown.scala (renamed from src/library/scala/dbc/value/Unknown.scala)0
-rw-r--r--src/dbc/scala/dbc/vendor/PostgreSQL.scala (renamed from src/library/scala/dbc/vendor/PostgreSQL.scala)0
70 files changed, 257 insertions, 346 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}"/>
diff --git a/src/compiler/scala/tools/ant/ScalaTool.scala b/src/compiler/scala/tools/ant/ScalaTool.scala
index de130777ec..94ab2d9918 100644
--- a/src/compiler/scala/tools/ant/ScalaTool.scala
+++ b/src/compiler/scala/tools/ant/ScalaTool.scala
@@ -60,34 +60,34 @@ package scala.tools.ant {
/** The path to the exec script file. ".bat" will be appended for the
* Windows BAT file, if generated. */
private var file: Option[File] = None
- /** The name of this tool. By default this is equal to the file name. */
- private var name: Option[String] = None
- /** The main class to run. */
+ /** The main class to run. If this is not set, a generic script will be generated */
private var mainClass: Option[String] = None
+ /** The name of this tool. Can only be set when a main class is defined,
+ * default this is equal to the file name. */
+ private var name: Option[String] = None
/** Supported platforms for the script. Either "unix" or "windows". Defaults
* to both. */
private var platforms: List[String] = Nil
/** The optional version number. If set, when "-version" is passed to the
- * script, this value will be printed. */
+ * script, this value will be printed. */
private var version: String = ""
/** The optional copyright notice, that will be printed in the script. */
private var copyright: String = "This file is copyrighted by its owner"
/** An (optional) path to all JARs that this script depend on. Paths must be
* relative to the scala home directory. If not set, all JAR archives in
* "lib/" are automatically added. */
- private var classpath: List[String] = Nil
+ private var extclasspath: List[String] = Nil
/** Comma-separated Java system properties to pass to the JRE. Properties
- * are formated as name=value. Properties scala.home and scala.tool.name
- * are always set. */
+ * are formated as name=value. Properties scala.home, scala.class.path,
+ * scala.boot.class.path and scala.ext.class.path are always set;
+ * scala.tool.name and scala.tool.version are set when this script is
+ * non-generic. */
private var properties: List[Pair[String,String]] = Nil
/** Additional flags passed to the JRE ("java [javaFlags] class"). */
private var javaFlags: String = ""
- /** Additional flags passed to the tool ("java class [toolFlags]"). */
+ /** Additional flags passed to the tool ("java class [toolFlags]"). Can only
+ * be set when a main class is defined */
private var toolFlags: String = ""
- /** The path to the generic runtime script file. ".bat" will be appended for
- * the Windows BAT file, if generated. If not set, no generic runtime
- * script will be generated. */
- private var genericFile: Option[File] = None
/******************************************************************************\
** Properties setters **
@@ -132,10 +132,10 @@ package scala.tools.ant {
def setCopyright(input: String) =
copyright = input
- /** Sets the classpath attribute. Used by Ant.
+ /** Sets the extension classpath attribute. Used by Ant.
* @param input The value of <code>classpath</code>. */
- def setClasspath(input: String) =
- classpath = classpath ::: List.fromArray(input.split(":"))
+ def setExtclasspath(input: String) =
+ extclasspath = extclasspath ::: List.fromArray(input.split(":"))
/** Sets the properties attribute. Used by Ant.
* @param input The value for <code>properties</code>. */
@@ -158,11 +158,6 @@ package scala.tools.ant {
def setToolflags(input: String) =
toolFlags = input
- /** Sets the version attribute. Used by Ant.
- * @param input The value of <code>version</code>. */
- def setGenericfile(input: File) =
- genericFile = Some(input)
-
/******************************************************************************\
** Properties getters **
\******************************************************************************/
@@ -175,13 +170,13 @@ package scala.tools.ant {
/** Gets the value of the classpath attribute in a Scala-friendly form.
* @returns The class path as a list of files. */
- private def getUnixClasspath: String =
- classpath.mkString("", ":", "")
+ private def getUnixExtClasspath: String =
+ extclasspath.mkString("", ":", "")
/** Gets the value of the classpath attribute in a Scala-friendly form.
* @returns The class path as a list of files. */
- private def getWinClasspath: String =
- classpath.map(.replace('/', '\\')).
+ private def getWinExtClasspath: String =
+ extclasspath.map(.replace('/', '\\')).
mkString("", ";", "")
/** Gets the value of the classpath attribute in a Scala-friendly form.
@@ -191,12 +186,6 @@ package scala.tools.ant {
case Pair(name,value) => "-D" + name + "=\"" + value + "\""
}).mkString("", " ", "")
- /** Gets the value of the file attribute in a Scala-friendly form.
- * @returns The file as a file. */
- private def getGenericFile: File =
- if (genericFile.isEmpty) error("Member 'file' is empty.")
- else getProject().resolveFile(genericFile.get.toString())
-
/******************************************************************************\
** Compilation and support methods **
\******************************************************************************/
@@ -263,6 +252,24 @@ package scala.tools.ant {
replaceAll("#([^#]*)#", "%_$1%")
)
+ private def pipeTemplate(template: String, patches: Map[String,String]) = {
+ val resourceRoot = "scala/tools/ant/templates/"
+ if (platforms.contains("unix")) {
+ val unixPatches = expandUnixVar(patches.
+ update("extclasspath", getUnixExtClasspath))
+ val unixTemplateResource = resourceRoot + template + "-unix.tmpl"
+ val unixTemplate = readResource(unixTemplateResource, unixPatches)
+ writeFile(getFile, unixTemplate)
+ }
+ if (platforms.contains("windows")) {
+ val winPatches = expandWinVar(patches.
+ update("extclasspath", getWinExtClasspath))
+ val winTemplateResource = resourceRoot + template + "-windows.tmpl"
+ val winTemplate = readResource(winTemplateResource, winPatches)
+ writeFile(new File(getFile.getAbsolutePath() + ".bat"), winTemplate)
+ }
+ }
+
/******************************************************************************\
** The big execute method **
@@ -272,43 +279,29 @@ package scala.tools.ant {
override def execute() = {
// Tests if all mandatory attributes are set and valid.
if (file.isEmpty) error("Attribute 'file' is not set.")
- if (name.isEmpty) name = Some(file.get.getName())
- if (mainClass.isEmpty) error("Attribute 'mainclass' is not set.")
if (platforms.isEmpty) platforms = Platforms.values
- // Gets the input streams for the script templates.
- val resourceRoot = "scala/tools/ant/templates/"
- val patches = ListMap.Empty.
- update("name", name.get).
- update("class", mainClass.get).
- update("version", version).
- update("copyright", copyright).
- update("properties", getProperties).
- update("javaflags", javaFlags).
- update("toolflags", toolFlags)
- if (platforms.contains("unix")) {
- val unixPatches = expandUnixVar(
- patches.update("classpath", getUnixClasspath))
- val unixTemplateResource = resourceRoot + "tool-unix.tmpl"
- val unixTemplate = readResource(unixTemplateResource, unixPatches)
- writeFile(getFile, unixTemplate)
- if (!genericFile.isEmpty) {
- val unixTemplateResource = resourceRoot + "generic-unix.tmpl"
- val unixTemplate = readResource(unixTemplateResource, unixPatches)
- writeFile(getGenericFile, unixTemplate)
- }
- }
- if (platforms.contains("windows")) {
- val winPatches = expandWinVar(
- patches.update("classpath", getWinClasspath))
- val winTemplateResource = resourceRoot + "tool-windows.tmpl"
- val winTemplate = readResource(winTemplateResource, winPatches)
- writeFile(new File(getFile.getAbsolutePath() + ".bat"), winTemplate)
- if (!genericFile.isEmpty) {
- val winTemplateResource = resourceRoot + "generic-windows.tmpl"
- val winTemplate = readResource(winTemplateResource, winPatches)
- writeFile(new File(getGenericFile.getAbsolutePath() + ".bat"),
- winTemplate)
- }
+ if (mainClass.isEmpty) {
+ if (toolFlags != "")
+ error("Attribute 'toolflags' cannot be set in a generic file.")
+ if (!name.isEmpty)
+ error("Attribute 'name' cannot be set in a generic file.")
+ val patches = ListMap.Empty.
+ update("version", version).
+ update("copyright", copyright).
+ update("properties", getProperties).
+ update("javaflags", javaFlags)
+ pipeTemplate("generic", patches)
+ } else {
+ val patches = ListMap.Empty.
+ update("name", name.get).
+ update("class", mainClass.get).
+ update("version", version).
+ update("copyright", copyright).
+ update("properties", getProperties).
+ update("javaflags", javaFlags).
+ update("toolflags", toolFlags)
+ if (name.isEmpty) name = Some(file.get.getName())
+ pipeTemplate("tool", patches)
}
}
diff --git a/src/compiler/scala/tools/ant/templates/generic-unix.tmpl b/src/compiler/scala/tools/ant/templates/generic-unix.tmpl
index c06273c36e..e2c899682e 100644
--- a/src/compiler/scala/tools/ant/templates/generic-unix.tmpl
+++ b/src/compiler/scala/tools/ant/templates/generic-unix.tmpl
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
##############################################################################
# Scala runtime @version@
@@ -31,50 +31,58 @@ done;
SCALA_HOME=`dirname "$SOURCE"`/..;
SCALA_HOME=`cd "$SCALA_HOME"; pwd`;
-## buraq: previous version of this script computed the MYCLASSPATH and
-## then appended it to the bootclasspath. Unfortunately, this
-## won't work for library code that uses reflection to obtain
-## a class living on the classpath. For this reason, we have
-## to merge everything in the -cp classpath. This requires
-## intercepting the user's -cp, if any, or the user's $CLASSPATH,
-## if set, appending our libs to it and passing the whole thing by -cp
+EXTENSION_CLASSPATH="@extclasspath@"
+USER_CLASSPATH="."
+USER_ARGS=""
-MYCLASSPATH=@classpath@
-if [ "$MYCLASSPATH" == "" ] ; then
+if [ "$EXTENSION_CLASSPATH" == "" ] ; then
for jar in `ls $SCALA_HOME/lib/*.jar` ; do
- MYCLASSPATH="$MYCLASSPATH:$jar"
+ EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$jar"
done
- MYCLASSPATH=${MYCLASSPATH:1}
+ EXTENSION_CLASSPATH=${EXTENSION_CLASSPATH:1}
fi
-QQ_USERCLASSPATH="."
-QQ_USERARGS=""
-QQ_NEXT=0
+if [ "$CLASSPATH" != "" ] ; then
+ USER_CLASSPATH="$CLASSPATH"
+fi
+
+QQ_CP_ARGUMENT=0
for i in $@@ ; do
- if [ $QQ_NEXT -eq 1 ] ; then
- QQ_USERCLASSPATH=$i
- QQ_NEXT=0
+ if [ "$QQ_CP_ARGUMENT" -eq 1 ] ; then
+ USER_CLASSPATH=$i
+ QQ_CP_ARGUMENT=0
else
if [[ $i = "-cp" || $i = "-classpath" ]] ; then
- QQ_NEXT=1
+ QQ_CP_ARGUMENT=1
else
- QQ_USERARGS="$QQ_USERARGS $i"
- QQ_NEXT=0
+ USER_ARGS="$USER_ARGS $i"
+ QQ_CP_ARGUMENT=0
fi
fi
done
-## Lex suggested the user classpath comes before
-## the Scala libraries, since it gets preferred.
-
-if [ "$QQ_USERCLASSPATH" != "." ] ; then
- MYCLASSPATH="$QQ_USERCLASSPATH:$MYCLASSPATH"
+MYCLASSPATH=""
+if [ "$EXTENSION_CLASSPATH" == "" ] ; then
+ MYCLASSPATH="$USER_CLASSPATH"
else
- if [ "$CLASSPATH" != "" ] ; then
- MYCLASSPATH="$CLASSPATH:$MYCLASSPATH"
+ if [ "$USER_CLASSPATH" == "" ] ; then
+ MYCLASSPATH="$EXTENSION_CLASSPATH"
else
- MYCLASSPATH=".:$MYCLASSPATH"
+ MYCLASSPATH="$USER_CLASSPATH:$EXTENSION_CLASSPATH"
+ fi
+fi
+
+for flag in "$@@" ; do
+ if [ "$flag" == '-version' ] ; then
+ echo "Scala runtime version @version@ -- @copyright@"
+ ${JAVACMD:=java} -version
+ exit 0
fi
+done
+
+BOOT_CLASSPATH=""
+if [ -f "$SCALA_HOME/lib/scala-library.jar" ] ; then
+ BOOT_CLASSPATH="$SCALA_HOME/lib/scala-library.jar"
fi
if $cygwin; then
@@ -83,17 +91,16 @@ if $cygwin; then
else
format=windows
fi
+ SCALA_HOME=`cygpath --$format "$SCALA_HOME"`
+ USER_CLASSPATH=`cygpath --path --$format "$USER_CLASSPATH"`
+ BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"`
+ EXTENSION_CLASSPATH=`cygpath --path --$format "$EXTENSION_CLASSPATH"`
MYCLASSPATH=`cygpath --path --$format "$MYCLASSPATH"`
fi
-QQ_USERARGS="-cp $MYCLASSPATH $QQ_USERARGS"
-
-for flag in "$@@" ; do
- if [ "$flag" == '-version' ] ; then
- echo "Scala runtime version @version@ -- @copyright@"
- ${JAVACMD:=java} -version
- exit 0
- fi
-done
+QQ_BOOT_ARG=""
+if [ "$BOOT_CLASSPATH" != "" ] ; then
+ QQ_BOOT_ARG="-Xbootclasspath/a:$BOOT_CLASSPATH"
+fi
-${JAVACMD:=java} @javaflags@ $QQ_USERARGS
+${JAVACMD:=java} $QQ_BOOT_ARG @javaflags@ -cp "$MYCLASSPATH" -Dscala.home="$SCALA_HOME" -Dscala.class.path="$USER_CLASSPATH" -Dscala.boot.class.path="$BOOT_CLASSPATH" -Dscala.ext.path="$EXTENSION_CLASSPATH" @properties@ $USER_ARGS
diff --git a/src/compiler/scala/tools/ant/templates/int-unix.tmpl b/src/compiler/scala/tools/ant/templates/int-unix.tmpl
deleted file mode 100644
index 7a78d65258..0000000000
--- a/src/compiler/scala/tools/ant/templates/int-unix.tmpl
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/bash
-
-##############################################################################
-# @name@ @version@
-##############################################################################
-# @copyright@
-# This is free software; see the distribution for copying conditions.
-# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-##############################################################################
-
-cygwin=false;
-darwin=false;
-case "`uname`" in
- CYGWIN*) cygwin=true ;;
- Darwin*) darwin=true ;;
-esac
-
-SOURCE=$0;
-SCRIPT=`basename "$SOURCE"`;
-while [ -h "$SOURCE" ]; do
- SCRIPT=`basename "$SOURCE"`;
- LOOKUP=`ls -ld "$SOURCE"`;
- TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`;
- if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then
- SOURCE=${TARGET:-.};
- else
- SOURCE=`dirname "$SOURCE"`/${TARGET:-.};
- fi;
-done;
-SCALA_HOME=`dirname "$SOURCE"`/..;
-SCALA_HOME=`cd "$SCALA_HOME"; pwd`;
-
-## buraq: previous version of this script computed the MYCLASSPATH and
-## then appended it to the bootclasspath. Unfortunately, this
-## won't work for library code that uses reflection to obtain
-## a class living on the classpath. For this reason, we have
-## to merge everything in the -cp classpath. This requires
-## intercepting the user's -cp, if any, or the user's $CLASSPATH,
-## if set, appending our libs to it and passing the whole thing by -cp
-
-MYCLASSPATH=@classpath@
-if [ "$MYCLASSPATH" == "" ] ; then
- for jar in `ls $SCALA_HOME/lib/*.jar` ; do
- MYCLASSPATH="$MYCLASSPATH:$jar"
- done
- MYCLASSPATH=${MYCLASSPATH:1}
-fi
-
-QQ_USERCLASSPATH="."
-QQ_USERARGS=""
-QQ_OTHER=""
-QQ_NEXT=0
-for i in $@@ ; do
- if [ $QQ_NEXT -eq 1 ] ; then
- QQ_USERCLASSPATH=$i
- QQ_NEXT=0
- else
- if [[ $i = "-cp" || $i = "-classpath" ]] ; then
- QQ_NEXT=1
- else
- QQ_OTHER="$QQ_OTHER $i"
- QQ_NEXT=0
- fi
- fi
-done
-
-## Lex suggested the user classpath comes before
-## the Scala libraries, since it gets preferred.
-
-if [ "$QQ_USERCLASSPATH" != "." ] ; then
- MYCLASSPATH="$QQ_USERCLASSPATH:$MYCLASSPATH"
-else
- if [ "$CLASSPATH" != "" ] ; then
- MYCLASSPATH="$CLASSPATH:$MYCLASSPATH"
- else
- MYCLASSPATH=".:$MYCLASSPATH"
- fi
-fi
-
-if $cygwin; then
- if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
- format=mixed
- else
- format=windows
- fi
- MYCLASSPATH=`cygpath --path --$format "$MYCLASSPATH"`
-fi
-
-QQ_USERARGS="-cp $MYCLASSPATH $QQ_USERARGS"
-
-for flag in "$@@" ; do
- if [ "$flag" == '-version' ] ; then
- echo "@name@ version @version@ -- @copyright@"
- exit 0
- fi
-done
-
-${JAVACMD:=java} @javaflags@ -Dscala.home="$SCALA_HOME" -Dscala.tool.name="@name@" -Dscala.tool.version="@version@" @properties@ $QQ_USERARGS @class@ @toolflags@ $QQ_OTHER
diff --git a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
index d192198bad..3777c9bf89 100644
--- a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
+++ b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
##############################################################################
# @name@ @version@
@@ -31,51 +31,18 @@ done;
SCALA_HOME=`dirname "$SOURCE"`/..;
SCALA_HOME=`cd "$SCALA_HOME"; pwd`;
-## buraq: previous version of this script computed the MYCLASSPATH and
-## then appended it to the bootclasspath. Unfortunately, this
-## won't work for library code that uses reflection to obtain
-## a class living on the classpath. For this reason, we have
-## to merge everything in the -cp classpath. This requires
-## intercepting the user's -cp, if any, or the user's $CLASSPATH,
-## if set, appending our libs to it and passing the whole thing by -cp
+EXTENSION_CLASSPATH="@extclasspath@"
+BOOT_CLASSPATH="@bootclasspath@"
+USER_ARGS=""
-MYCLASSPATH=@classpath@
-if [ "$MYCLASSPATH" == "" ] ; then
+if [ "$EXTENSION_CLASSPATH" == "" ] ; then
for jar in `ls $SCALA_HOME/lib/*.jar` ; do
- MYCLASSPATH="$MYCLASSPATH:$jar"
+ EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$jar"
done
- MYCLASSPATH=${MYCLASSPATH:1}
+ EXTENSION_CLASSPATH=${EXTENSION_CLASSPATH:1}
fi
-QQ_USERCLASSPATH="."
-QQ_USERARGS=""
-QQ_NEXT=0
-for i in $@@ ; do
- if [ $QQ_NEXT -eq 1 ] ; then
- QQ_USERCLASSPATH=$i
- QQ_NEXT=0
- else
- if [[ $i = "-cp" || $i = "-classpath" ]] ; then
- QQ_NEXT=1
- else
- QQ_USERARGS="$QQ_USERARGS $i"
- QQ_NEXT=0
- fi
- fi
-done
-
-## Lex suggested the user classpath comes before
-## the Scala libraries, since it gets preferred.
-
-if [ "$QQ_USERCLASSPATH" != "." ] ; then
- MYCLASSPATH="$QQ_USERCLASSPATH:$MYCLASSPATH"
-else
- if [ "$CLASSPATH" != "" ] ; then
- MYCLASSPATH="$CLASSPATH:$MYCLASSPATH"
- else
- MYCLASSPATH=".:$MYCLASSPATH"
- fi
-fi
+MYCLASSPATH="$EXTENSION_CLASSPATH"
if $cygwin; then
if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
@@ -94,4 +61,27 @@ for flag in "$@@" ; do
fi
done
-${JAVACMD:=java} @javaflags@ -Dscala.home="$SCALA_HOME" -Dscala.tool.name="@name@" -Dscala.tool.version="@version@" @properties@ -cp $MYCLASSPATH @class@ @toolflags@ $QQ_USERARGS
+BOOT_CLASSPATH=""
+if [ -f "$SCALA_HOME/lib/scala-library.jar" ] ; then
+ BOOT_CLASSPATH="$SCALA_HOME/lib/scala-library.jar"
+fi
+
+if $cygwin; then
+ if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
+ format=mixed
+ else
+ format=windows
+ fi
+ SCALA_HOME=`cygpath --$format "$SCALA_HOME"`
+ USER_CLASSPATH=`cygpath --path --$format "$USER_CLASSPATH"`
+ BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"`
+ EXTENSION_CLASSPATH=`cygpath --path --$format "$EXTENSION_CLASSPATH"`
+ MYCLASSPATH=`cygpath --path --$format "$MYCLASSPATH"`
+fi
+
+QQ_BOOT_ARG=""
+if [ "$BOOT_CLASSPATH" != "" ] ; then
+ QQ_BOOT_ARG="-Xbootclasspath/a:$BOOT_CLASSPATH"
+fi
+
+${JAVACMD:=java} $QQ_BOOT_ARG @javaflags@ -cp "$MYCLASSPATH" -Dscala.home="$SCALA_HOME" -Dscala.class.path="$USER_CLASSPATH" -Dscala.boot.class.path="$BOOT_CLASSPATH" -Dscala.ext.path="$EXTENSION_CLASSPATH" -Dscala.tool.name="@name@" -Dscala.tool.version="@version@" @properties@ @class@ @toolflags@ $@@
diff --git a/src/library/scala/dbc/DataType.scala b/src/dbc/scala/dbc/DataType.scala
index f9b12bc431..f9b12bc431 100644
--- a/src/library/scala/dbc/DataType.scala
+++ b/src/dbc/scala/dbc/DataType.scala
diff --git a/src/library/scala/dbc/Database.scala b/src/dbc/scala/dbc/Database.scala
index cd1ff4e6b1..3dd27c8481 100644
--- a/src/library/scala/dbc/Database.scala
+++ b/src/dbc/scala/dbc/Database.scala
@@ -15,13 +15,12 @@ package scala.dbc;
import java.sql._;
/** A link to a database. The <code>Database</code> abstract class must
- * be specialised for every different DBMS.
- *
- * @author Gilles Dubochet
- */
+ * be specialised for every different DBMS.
+ * @author Gilles Dubochet
+ **/
case class Database(dbms: Vendor) {
- class Closed extends Exception;
+ class Closed extends Exception {}
/** A lock used for operations that need to be atomic for this database
* instance. */
@@ -62,7 +61,7 @@ case class Database(dbms: Vendor) {
usedConnections = connection :: usedConnections;
lock.release;
connection;
- }
+ }
}
}
}
@@ -116,7 +115,7 @@ case class Database(dbms: Vendor) {
val sqlResult = connection.createStatement().executeQuery(statement.sqlString);
closeConnection(connection);
statement.typeCheck(this);
- }
+ }
/** Executes a statement that updates the state of the database.
*
diff --git a/src/library/scala/dbc/Syntax.scala b/src/dbc/scala/dbc/Syntax.scala
index d8ed87740a..d8ed87740a 100644
--- a/src/library/scala/dbc/Syntax.scala
+++ b/src/dbc/scala/dbc/Syntax.scala
diff --git a/src/library/scala/dbc/Utilities.scala b/src/dbc/scala/dbc/Utilities.scala
index c2691143f3..c2691143f3 100644
--- a/src/library/scala/dbc/Utilities.scala
+++ b/src/dbc/scala/dbc/Utilities.scala
diff --git a/src/library/scala/dbc/Value.scala b/src/dbc/scala/dbc/Value.scala
index 13a7678928..13a7678928 100644
--- a/src/library/scala/dbc/Value.scala
+++ b/src/dbc/scala/dbc/Value.scala
diff --git a/src/library/scala/dbc/Vendor.scala b/src/dbc/scala/dbc/Vendor.scala
index b9b3595d95..b9b3595d95 100644
--- a/src/library/scala/dbc/Vendor.scala
+++ b/src/dbc/scala/dbc/Vendor.scala
diff --git a/src/library/scala/dbc/datatype/ApproximateNumeric.scala b/src/dbc/scala/dbc/datatype/ApproximateNumeric.scala
index 8943f46364..8943f46364 100644
--- a/src/library/scala/dbc/datatype/ApproximateNumeric.scala
+++ b/src/dbc/scala/dbc/datatype/ApproximateNumeric.scala
diff --git a/src/library/scala/dbc/datatype/Boolean.scala b/src/dbc/scala/dbc/datatype/Boolean.scala
index c4a880885e..c4a880885e 100644
--- a/src/library/scala/dbc/datatype/Boolean.scala
+++ b/src/dbc/scala/dbc/datatype/Boolean.scala
diff --git a/src/library/scala/dbc/datatype/Character.scala b/src/dbc/scala/dbc/datatype/Character.scala
index 02b4b182e0..02b4b182e0 100644
--- a/src/library/scala/dbc/datatype/Character.scala
+++ b/src/dbc/scala/dbc/datatype/Character.scala
diff --git a/src/library/scala/dbc/datatype/CharacterLargeObject.scala b/src/dbc/scala/dbc/datatype/CharacterLargeObject.scala
index c84bb4bae9..c84bb4bae9 100644
--- a/src/library/scala/dbc/datatype/CharacterLargeObject.scala
+++ b/src/dbc/scala/dbc/datatype/CharacterLargeObject.scala
diff --git a/src/library/scala/dbc/datatype/CharacterString.scala b/src/dbc/scala/dbc/datatype/CharacterString.scala
index 1f250475b3..1f250475b3 100644
--- a/src/library/scala/dbc/datatype/CharacterString.scala
+++ b/src/dbc/scala/dbc/datatype/CharacterString.scala
diff --git a/src/library/scala/dbc/datatype/CharacterVarying.scala b/src/dbc/scala/dbc/datatype/CharacterVarying.scala
index e0cdbc819b..e0cdbc819b 100644
--- a/src/library/scala/dbc/datatype/CharacterVarying.scala
+++ b/src/dbc/scala/dbc/datatype/CharacterVarying.scala
diff --git a/src/library/scala/dbc/datatype/ExactNumeric.scala b/src/dbc/scala/dbc/datatype/ExactNumeric.scala
index 331cf866e1..331cf866e1 100644
--- a/src/library/scala/dbc/datatype/ExactNumeric.scala
+++ b/src/dbc/scala/dbc/datatype/ExactNumeric.scala
diff --git a/src/library/scala/dbc/datatype/Factory.scala b/src/dbc/scala/dbc/datatype/Factory.scala
index a4a9672184..a4a9672184 100644
--- a/src/library/scala/dbc/datatype/Factory.scala
+++ b/src/dbc/scala/dbc/datatype/Factory.scala
diff --git a/src/library/scala/dbc/datatype/Numeric.scala b/src/dbc/scala/dbc/datatype/Numeric.scala
index d086ecdfff..d086ecdfff 100644
--- a/src/library/scala/dbc/datatype/Numeric.scala
+++ b/src/dbc/scala/dbc/datatype/Numeric.scala
diff --git a/src/library/scala/dbc/datatype/String.scala b/src/dbc/scala/dbc/datatype/String.scala
index 878bea7061..878bea7061 100644
--- a/src/library/scala/dbc/datatype/String.scala
+++ b/src/dbc/scala/dbc/datatype/String.scala
diff --git a/src/library/scala/dbc/datatype/Unknown.scala b/src/dbc/scala/dbc/datatype/Unknown.scala
index 4ab1db59f8..4ab1db59f8 100644
--- a/src/library/scala/dbc/datatype/Unknown.scala
+++ b/src/dbc/scala/dbc/datatype/Unknown.scala
diff --git a/src/library/scala/dbc/exception/IncompatibleSchema.scala b/src/dbc/scala/dbc/exception/IncompatibleSchema.scala
index bb566ff6f2..bb566ff6f2 100644
--- a/src/library/scala/dbc/exception/IncompatibleSchema.scala
+++ b/src/dbc/scala/dbc/exception/IncompatibleSchema.scala
diff --git a/src/library/scala/dbc/exception/UnsupportedFeature.scala b/src/dbc/scala/dbc/exception/UnsupportedFeature.scala
index 073bd8ab32..073bd8ab32 100644
--- a/src/library/scala/dbc/exception/UnsupportedFeature.scala
+++ b/src/dbc/scala/dbc/exception/UnsupportedFeature.scala
diff --git a/src/library/scala/dbc/result/Field.scala b/src/dbc/scala/dbc/result/Field.scala
index 75c9898076..75c9898076 100644
--- a/src/library/scala/dbc/result/Field.scala
+++ b/src/dbc/scala/dbc/result/Field.scala
diff --git a/src/library/scala/dbc/result/FieldMetadata.scala b/src/dbc/scala/dbc/result/FieldMetadata.scala
index a3117a262c..a3117a262c 100644
--- a/src/library/scala/dbc/result/FieldMetadata.scala
+++ b/src/dbc/scala/dbc/result/FieldMetadata.scala
diff --git a/src/library/scala/dbc/result/Relation.scala b/src/dbc/scala/dbc/result/Relation.scala
index 218f8ff825..218f8ff825 100644
--- a/src/library/scala/dbc/result/Relation.scala
+++ b/src/dbc/scala/dbc/result/Relation.scala
diff --git a/src/library/scala/dbc/result/Status.scala b/src/dbc/scala/dbc/result/Status.scala
index c8a2370819..c8a2370819 100644
--- a/src/library/scala/dbc/result/Status.scala
+++ b/src/dbc/scala/dbc/result/Status.scala
diff --git a/src/library/scala/dbc/result/Tuple.scala b/src/dbc/scala/dbc/result/Tuple.scala
index 6ed8955951..6ed8955951 100644
--- a/src/library/scala/dbc/result/Tuple.scala
+++ b/src/dbc/scala/dbc/result/Tuple.scala
diff --git a/src/library/scala/dbc/statement/AccessMode.scala b/src/dbc/scala/dbc/statement/AccessMode.scala
index 16f778b35e..16f778b35e 100644
--- a/src/library/scala/dbc/statement/AccessMode.scala
+++ b/src/dbc/scala/dbc/statement/AccessMode.scala
diff --git a/src/library/scala/dbc/statement/DerivedColumn.scala b/src/dbc/scala/dbc/statement/DerivedColumn.scala
index 653ce75698..653ce75698 100644
--- a/src/library/scala/dbc/statement/DerivedColumn.scala
+++ b/src/dbc/scala/dbc/statement/DerivedColumn.scala
diff --git a/src/library/scala/dbc/statement/Expression.scala b/src/dbc/scala/dbc/statement/Expression.scala
index 6243564311..6243564311 100644
--- a/src/library/scala/dbc/statement/Expression.scala
+++ b/src/dbc/scala/dbc/statement/Expression.scala
diff --git a/src/library/scala/dbc/statement/Insert.scala b/src/dbc/scala/dbc/statement/Insert.scala
index 19d236d2fb..19d236d2fb 100644
--- a/src/library/scala/dbc/statement/Insert.scala
+++ b/src/dbc/scala/dbc/statement/Insert.scala
diff --git a/src/library/scala/dbc/statement/InsertionData.scala b/src/dbc/scala/dbc/statement/InsertionData.scala
index c36dde0fb7..c36dde0fb7 100644
--- a/src/library/scala/dbc/statement/InsertionData.scala
+++ b/src/dbc/scala/dbc/statement/InsertionData.scala
diff --git a/src/library/scala/dbc/statement/IsolationLevel.scala b/src/dbc/scala/dbc/statement/IsolationLevel.scala
index 4d1d2ef2de..4d1d2ef2de 100644
--- a/src/library/scala/dbc/statement/IsolationLevel.scala
+++ b/src/dbc/scala/dbc/statement/IsolationLevel.scala
diff --git a/src/library/scala/dbc/statement/JoinType.scala b/src/dbc/scala/dbc/statement/JoinType.scala
index 77befa5607..77befa5607 100644
--- a/src/library/scala/dbc/statement/JoinType.scala
+++ b/src/dbc/scala/dbc/statement/JoinType.scala
diff --git a/src/library/scala/dbc/statement/Jointure.scala b/src/dbc/scala/dbc/statement/Jointure.scala
index 471626ab05..471626ab05 100644
--- a/src/library/scala/dbc/statement/Jointure.scala
+++ b/src/dbc/scala/dbc/statement/Jointure.scala
diff --git a/src/library/scala/dbc/statement/Relation.scala b/src/dbc/scala/dbc/statement/Relation.scala
index d6e86b39a5..d6e86b39a5 100644
--- a/src/library/scala/dbc/statement/Relation.scala
+++ b/src/dbc/scala/dbc/statement/Relation.scala
diff --git a/src/library/scala/dbc/statement/Select.scala b/src/dbc/scala/dbc/statement/Select.scala
index 4da6b9e571..4da6b9e571 100644
--- a/src/library/scala/dbc/statement/Select.scala
+++ b/src/dbc/scala/dbc/statement/Select.scala
diff --git a/src/library/scala/dbc/statement/SetClause.scala b/src/dbc/scala/dbc/statement/SetClause.scala
index e6a55ae846..e6a55ae846 100644
--- a/src/library/scala/dbc/statement/SetClause.scala
+++ b/src/dbc/scala/dbc/statement/SetClause.scala
diff --git a/src/library/scala/dbc/statement/SetQuantifier.scala b/src/dbc/scala/dbc/statement/SetQuantifier.scala
index ad7c2238c8..ad7c2238c8 100644
--- a/src/library/scala/dbc/statement/SetQuantifier.scala
+++ b/src/dbc/scala/dbc/statement/SetQuantifier.scala
diff --git a/src/library/scala/dbc/statement/Statement.scala b/src/dbc/scala/dbc/statement/Statement.scala
index 5c78b075b7..5c78b075b7 100644
--- a/src/library/scala/dbc/statement/Statement.scala
+++ b/src/dbc/scala/dbc/statement/Statement.scala
diff --git a/src/library/scala/dbc/statement/Status.scala b/src/dbc/scala/dbc/statement/Status.scala
index 3065ec5f7a..3065ec5f7a 100644
--- a/src/library/scala/dbc/statement/Status.scala
+++ b/src/dbc/scala/dbc/statement/Status.scala
diff --git a/src/library/scala/dbc/statement/Table.scala b/src/dbc/scala/dbc/statement/Table.scala
index 17015a6c73..17015a6c73 100644
--- a/src/library/scala/dbc/statement/Table.scala
+++ b/src/dbc/scala/dbc/statement/Table.scala
diff --git a/src/library/scala/dbc/statement/Transaction.scala b/src/dbc/scala/dbc/statement/Transaction.scala
index a802aa82fa..a802aa82fa 100644
--- a/src/library/scala/dbc/statement/Transaction.scala
+++ b/src/dbc/scala/dbc/statement/Transaction.scala
diff --git a/src/library/scala/dbc/statement/Update.scala b/src/dbc/scala/dbc/statement/Update.scala
index cf8a3c9b6f..cf8a3c9b6f 100644
--- a/src/library/scala/dbc/statement/Update.scala
+++ b/src/dbc/scala/dbc/statement/Update.scala
diff --git a/src/library/scala/dbc/statement/expression/Aggregate.scala b/src/dbc/scala/dbc/statement/expression/Aggregate.scala
index 3a93864475..3a93864475 100644
--- a/src/library/scala/dbc/statement/expression/Aggregate.scala
+++ b/src/dbc/scala/dbc/statement/expression/Aggregate.scala
diff --git a/src/library/scala/dbc/statement/expression/BinaryOperator.scala b/src/dbc/scala/dbc/statement/expression/BinaryOperator.scala
index 3b3ac6f0fe..3b3ac6f0fe 100644
--- a/src/library/scala/dbc/statement/expression/BinaryOperator.scala
+++ b/src/dbc/scala/dbc/statement/expression/BinaryOperator.scala
diff --git a/src/library/scala/dbc/statement/expression/Constant.scala b/src/dbc/scala/dbc/statement/expression/Constant.scala
index 6ee665c97d..6ee665c97d 100644
--- a/src/library/scala/dbc/statement/expression/Constant.scala
+++ b/src/dbc/scala/dbc/statement/expression/Constant.scala
diff --git a/src/library/scala/dbc/statement/expression/Default.scala b/src/dbc/scala/dbc/statement/expression/Default.scala
index 7d03872ab5..7d03872ab5 100644
--- a/src/library/scala/dbc/statement/expression/Default.scala
+++ b/src/dbc/scala/dbc/statement/expression/Default.scala
diff --git a/src/library/scala/dbc/statement/expression/Field.scala b/src/dbc/scala/dbc/statement/expression/Field.scala
index b005f024bd..b005f024bd 100644
--- a/src/library/scala/dbc/statement/expression/Field.scala
+++ b/src/dbc/scala/dbc/statement/expression/Field.scala
diff --git a/src/library/scala/dbc/statement/expression/FunctionCall.scala b/src/dbc/scala/dbc/statement/expression/FunctionCall.scala
index bfee8701dd..bfee8701dd 100644
--- a/src/library/scala/dbc/statement/expression/FunctionCall.scala
+++ b/src/dbc/scala/dbc/statement/expression/FunctionCall.scala
diff --git a/src/library/scala/dbc/statement/expression/Select.scala b/src/dbc/scala/dbc/statement/expression/Select.scala
index 44c14e8474..44c14e8474 100644
--- a/src/library/scala/dbc/statement/expression/Select.scala
+++ b/src/dbc/scala/dbc/statement/expression/Select.scala
diff --git a/src/library/scala/dbc/statement/expression/SetFunction.scala b/src/dbc/scala/dbc/statement/expression/SetFunction.scala
index b58850df12..b58850df12 100644
--- a/src/library/scala/dbc/statement/expression/SetFunction.scala
+++ b/src/dbc/scala/dbc/statement/expression/SetFunction.scala
diff --git a/src/library/scala/dbc/statement/expression/TypeCast.scala b/src/dbc/scala/dbc/statement/expression/TypeCast.scala
index 5c9cbddebe..5c9cbddebe 100644
--- a/src/library/scala/dbc/statement/expression/TypeCast.scala
+++ b/src/dbc/scala/dbc/statement/expression/TypeCast.scala
diff --git a/src/library/scala/dbc/statement/expression/UnaryOperator.scala b/src/dbc/scala/dbc/statement/expression/UnaryOperator.scala
index 9068595f77..9068595f77 100644
--- a/src/library/scala/dbc/statement/expression/UnaryOperator.scala
+++ b/src/dbc/scala/dbc/statement/expression/UnaryOperator.scala
diff --git a/src/library/scala/dbc/syntax/DataTypeUtil.scala b/src/dbc/scala/dbc/syntax/DataTypeUtil.scala
index c42efb082f..c42efb082f 100644
--- a/src/library/scala/dbc/syntax/DataTypeUtil.scala
+++ b/src/dbc/scala/dbc/syntax/DataTypeUtil.scala
diff --git a/src/library/scala/dbc/syntax/Database.scala b/src/dbc/scala/dbc/syntax/Database.scala
index 31a04b1129..31a04b1129 100644
--- a/src/library/scala/dbc/syntax/Database.scala
+++ b/src/dbc/scala/dbc/syntax/Database.scala
diff --git a/src/library/scala/dbc/syntax/Statement.scala b/src/dbc/scala/dbc/syntax/Statement.scala
index 027a05b8fc..027a05b8fc 100644
--- a/src/library/scala/dbc/syntax/Statement.scala
+++ b/src/dbc/scala/dbc/syntax/Statement.scala
diff --git a/src/library/scala/dbc/syntax/StatementExpression.scala b/src/dbc/scala/dbc/syntax/StatementExpression.scala
index 78c75ae174..78c75ae174 100644
--- a/src/library/scala/dbc/syntax/StatementExpression.scala
+++ b/src/dbc/scala/dbc/syntax/StatementExpression.scala
diff --git a/src/library/scala/dbc/value/ApproximateNumeric.scala b/src/dbc/scala/dbc/value/ApproximateNumeric.scala
index 5da4fec640..5da4fec640 100644
--- a/src/library/scala/dbc/value/ApproximateNumeric.scala
+++ b/src/dbc/scala/dbc/value/ApproximateNumeric.scala
diff --git a/src/library/scala/dbc/value/Boolean.scala b/src/dbc/scala/dbc/value/Boolean.scala
index fba78dcfd1..fba78dcfd1 100644
--- a/src/library/scala/dbc/value/Boolean.scala
+++ b/src/dbc/scala/dbc/value/Boolean.scala
diff --git a/src/library/scala/dbc/value/Character.scala b/src/dbc/scala/dbc/value/Character.scala
index c02a21b28e..c02a21b28e 100644
--- a/src/library/scala/dbc/value/Character.scala
+++ b/src/dbc/scala/dbc/value/Character.scala
diff --git a/src/library/scala/dbc/value/CharacterLargeObject.scala b/src/dbc/scala/dbc/value/CharacterLargeObject.scala
index 61f55f868a..61f55f868a 100644
--- a/src/library/scala/dbc/value/CharacterLargeObject.scala
+++ b/src/dbc/scala/dbc/value/CharacterLargeObject.scala
diff --git a/src/library/scala/dbc/value/CharacterVarying.scala b/src/dbc/scala/dbc/value/CharacterVarying.scala
index 177dbdba5b..177dbdba5b 100644
--- a/src/library/scala/dbc/value/CharacterVarying.scala
+++ b/src/dbc/scala/dbc/value/CharacterVarying.scala
diff --git a/src/library/scala/dbc/value/Conversion.scala b/src/dbc/scala/dbc/value/Conversion.scala
index 093cf55902..093cf55902 100644
--- a/src/library/scala/dbc/value/Conversion.scala
+++ b/src/dbc/scala/dbc/value/Conversion.scala
diff --git a/src/library/scala/dbc/value/ExactNumeric.scala b/src/dbc/scala/dbc/value/ExactNumeric.scala
index 1c30c89c29..1c30c89c29 100644
--- a/src/library/scala/dbc/value/ExactNumeric.scala
+++ b/src/dbc/scala/dbc/value/ExactNumeric.scala
diff --git a/src/library/scala/dbc/value/Factory.scala b/src/dbc/scala/dbc/value/Factory.scala
index 34975937e7..34975937e7 100644
--- a/src/library/scala/dbc/value/Factory.scala
+++ b/src/dbc/scala/dbc/value/Factory.scala
diff --git a/src/library/scala/dbc/value/Unknown.scala b/src/dbc/scala/dbc/value/Unknown.scala
index b1ba51d064..b1ba51d064 100644
--- a/src/library/scala/dbc/value/Unknown.scala
+++ b/src/dbc/scala/dbc/value/Unknown.scala
diff --git a/src/library/scala/dbc/vendor/PostgreSQL.scala b/src/dbc/scala/dbc/vendor/PostgreSQL.scala
index f637b32a82..f637b32a82 100644
--- a/src/library/scala/dbc/vendor/PostgreSQL.scala
+++ b/src/dbc/scala/dbc/vendor/PostgreSQL.scala