summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.xml93
-rw-r--r--src/build/pack.xml4
-rw-r--r--src/compiler/scala/tools/util/BashCompletion.scala132
-rw-r--r--src/compiler/scala/tools/util/PathResolver.scala6
4 files changed, 46 insertions, 189 deletions
diff --git a/build.xml b/build.xml
index 7e09d34138..d59863277b 100644
--- a/build.xml
+++ b/build.xml
@@ -230,18 +230,18 @@ INITIALISATION
<!-- Both clauses of the conditional set svn.number -->
<if>
- <equals arg1="${svn.number.svn}" arg2="0" />
- <then>
+ <equals arg1="${svn.number.svn}" arg2="0" />
+ <then>
<!-- Finding SVN revision, git style -->
- <exec osfamily="unix" executable="tools/git-get-rev" outputproperty="svn.number.git" failifexecutionfails="false" />
- <propertyregex
- property="svn.number" input="${svn.number.git}" select="\1"
- regexp="\D*?(\d+)"
- defaultValue="0"/>
- </then>
- <else>
- <property name="svn.number" value="${svn.number.svn}" />
- </else>
+ <exec osfamily="unix" executable="tools/git-get-rev" outputproperty="svn.number.git" failifexecutionfails="false" />
+ <propertyregex
+ property="svn.number" input="${svn.number.git}" select="\1"
+ regexp="\D*?(\d+)"
+ defaultValue="0"/>
+ </then>
+ <else>
+ <property name="svn.number" value="${svn.number.svn}" />
+ </else>
</if>
<property name="init.avail" value="yes"/>
@@ -623,15 +623,15 @@ QUICK BUILD (QUICK)
file="${src.dir}/continuations/plugin/scalac-plugin.xml"
todir="${build-quick.dir}/classes/continuations-plugin"/>
<!-- not very nice to create jar here but needed to load plugin -->
- <mkdir dir="${build-quick.dir}/plugins"/>
- <jar destfile="${build-quick.dir}/plugins/continuations.jar">
+ <mkdir dir="${build-quick.dir}/misc/scala-devel/plugins"/>
+ <jar destfile="${build-quick.dir}/misc/scala-devel/plugins/continuations.jar">
<fileset dir="${build-quick.dir}/classes/continuations-plugin"/>
</jar>
<!-- might split off library part into its own ant target -->
<scalacfork
destdir="${build-quick.dir}/classes/library"
compilerpathref="locker.classpath"
- params="${scalac.args.quick} -Xpluginsdir ${build-quick.dir}/plugins -Xplugin-require:continuations -P:continuations:enable"
+ params="${scalac.args.quick} -Xpluginsdir ${build-quick.dir}/misc/scala-devel/plugins -Xplugin-require:continuations -P:continuations:enable"
srcdir="${src.dir}/continuations/library"
jvmargs="${scalacfork.jvmargs}">
<include name="**/*.scala"/>
@@ -852,13 +852,13 @@ PACKED QUICK BUILD (PACK)
<target name="pack.pre-plugins" depends="pack.comp">
<uptodate
property="pack.plugins.available"
- targetfile="${build-pack.dir}/plugins/continuations.jar"
+ targetfile="${build-pack.dir}/misc/scala-devel/plugins/continuations.jar"
srcfile="${build-quick.dir}/plugins.complete"/>
</target>
<target name="pack.plugins" depends="pack.pre-plugins" unless="pack.plugins.available">
- <mkdir dir="${build-pack.dir}/plugins"/>
- <jar destfile="${build-pack.dir}/plugins/continuations.jar">
+ <mkdir dir="${build-pack.dir}/misc/scala-devel/plugins"/>
+ <jar destfile="${build-pack.dir}/misc/scala-devel/plugins/continuations.jar">
<fileset dir="${build-quick.dir}/classes/continuations-plugin"/>
</jar>
</target>
@@ -933,15 +933,6 @@ PACKED QUICK BUILD (PACK)
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/fsc"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scalap"/>
-
- <mkdir dir="${build-pack.dir}/etc"/>
- <exec osfamily="unix" executable="${build-pack.dir}/bin/scala" output="${build-pack.dir}/etc/scala_completion.sh" failifexecutionfails="false" >
- <arg line="scala.tools.util.BashCompletion" />
- </exec>
- <!-- <exec append="true" osfamily="unix" executable="${build-pack.dir}/bin/scala" output="${build-pack.dir}/etc/scala_completion.sh" failifexecutionfails="false" >
- <arg line="scala.tools.partest.PartestSpecDryRun" />
- </exec> -->
-
<touch file="${build-pack.dir}/bin.complete" verbose="no"/>
</target>
@@ -1130,15 +1121,15 @@ BOOTSTRAPPING BUILD (STRAP)
file="${src.dir}/continuations/plugin/scalac-plugin.xml"
todir="${build-strap.dir}/classes/continuations-plugin"/>
<!-- not very nice to create jar here but needed to load plugin -->
- <mkdir dir="${build-strap.dir}/plugins"/>
- <jar destfile="${build-strap.dir}/plugins/continuations.jar">
+ <mkdir dir="${build-strap.dir}/misc/scala-devel/plugins"/>
+ <jar destfile="${build-strap.dir}/misc/scala-devel/plugins/continuations.jar">
<fileset dir="${build-strap.dir}/classes/continuations-plugin"/>
</jar>
<!-- might split off library part into its own ant target -->
<scalacfork
destdir="${build-strap.dir}/classes/library"
compilerpathref="pack.classpath"
- params="${scalac.args.all} -Xpluginsdir ${build-quick.dir}/plugins -Xplugin-require:continuations -P:continuations:enable"
+ params="${scalac.args.all} -Xpluginsdir ${build-quick.dir}/misc/scala-devel/plugins -Xplugin-require:continuations -P:continuations:enable"
srcdir="${src.dir}/continuations/library"
jvmargs="${scalacfork.jvmargs}">
<include name="**/*.scala"/>
@@ -1507,27 +1498,27 @@ BOOTRAPING TEST AND TEST SUITE
</target>
<target name="test.suite" depends="pack.done">
- <partest classpathref="pack.classpath">
- <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
- <sysproperty key="partest.srcdir" value="files" />
- <sysproperty key="partest.scalacopts" value="${scalac.args.all}" />
- <sysproperty key="partest.javacopts" value="${javac.args}" />
- <syspropertyset>
- <propertyref prefix="partest"/>
- </syspropertyset>
+ <partest classpathref="pack.classpath">
+ <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
+ <sysproperty key="partest.srcdir" value="files" />
+ <sysproperty key="partest.scalacopts" value="${scalac.args.all}" />
+ <sysproperty key="partest.javacopts" value="${javac.args}" />
+ <syspropertyset>
+ <propertyref prefix="partest"/>
+ </syspropertyset>
</partest>
</target>
<target name="test.continuations.suite" depends="pack.done">
- <partest classpathref="pack.classpath">
- <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
- <sysproperty key="partest.srcdir" value="continuations" />
- <sysproperty key="partest.scalacopts" value="${scalac.args.optimise} -Xpluginsdir ${build-quick.dir}/plugins -Xplugin-require:continuations -P:continuations:enable" />
- <sysproperty key="partest.runsets" value="neg run" />
- <syspropertyset>
- <propertyref prefix="partest"/>
- </syspropertyset>
- </partest>
+ <partest classpathref="pack.classpath">
+ <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
+ <sysproperty key="partest.srcdir" value="continuations" />
+ <sysproperty key="partest.scalacopts" value="${scalac.args.optimise} -Xpluginsdir ${build-quick.dir}/misc/scala-devel/plugins -Xplugin-require:continuations -P:continuations:enable" />
+ <sysproperty key="partest.runsets" value="neg run" />
+ <syspropertyset>
+ <propertyref prefix="partest"/>
+ </syspropertyset>
+ </partest>
</target>
<target name="test.done" depends="test.suite, test.continuations.suite, test.stability"/>
@@ -1554,13 +1545,9 @@ DISTRIBUTION
<chmod perm="ugo+rx" file="${dist.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${dist.dir}/bin/fsc"/>
<chmod perm="ugo+rx" file="${dist.dir}/bin/scalap"/>
- <mkdir dir="${dist.dir}/etc"/>
- <copy toDir="${dist.dir}/etc">
- <fileset dir="${build-pack.dir}/etc"/>
- </copy>
- <mkdir dir="${dist.dir}/plugins"/>
- <copy toDir="${dist.dir}/plugins">
- <fileset dir="${build-pack.dir}/plugins"/>
+ <mkdir dir="${dist.dir}/misc/scala-devel/plugins"/>
+ <copy toDir="${dist.dir}/misc/scala-devel/plugins">
+ <fileset dir="${build-pack.dir}/misc/scala-devel/plugins"/>
</copy>
</target>
diff --git a/src/build/pack.xml b/src/build/pack.xml
index 5c5c8fbd8d..fa6c4ade20 100644
--- a/src/build/pack.xml
+++ b/src/build/pack.xml
@@ -102,6 +102,8 @@ MAIN DISTRIBUTION SBAZ
dir="${dist.dir}/bin"
includes="scala,scala.bat,scalac,scalac.bat,scaladoc,scaladoc.bat,fsc,fsc.bat"/>
<libset dir="${dist.dir}/lib" includes="scala-compiler.jar,jline.jar"/>
+ <miscset dir="${dist.dir}/misc/scala-devel"
+ includes="plugins/continuations.jar"/>
<manset dir="${dist.dir}/man" includes="**"/>
<srcset dir="${dist.dir}/src" includes="scala-compiler-src.jar"/>
</sbaz>
@@ -200,7 +202,7 @@ MAIN DISTRIBUTION SBAZ
<sequential>
<mkdir dir="${dists.dir}/maven/${version.number}/plugins/@{mvn.artifact.name}"/>
<copy todir="${dists.dir}/maven/${version.number}/plugins/@{mvn.artifact.name}">
- <fileset dir="${dist.dir}/plugins/">
+ <fileset dir="${dist.dir}/misc/scala-devel/plugins/">
<filename name="@{mvn.artifact.name}.jar"/>
</fileset>
<fileset dir="${src.dir}/build/maven/">
diff --git a/src/compiler/scala/tools/util/BashCompletion.scala b/src/compiler/scala/tools/util/BashCompletion.scala
deleted file mode 100644
index ed9f1b505a..0000000000
--- a/src/compiler/scala/tools/util/BashCompletion.scala
+++ /dev/null
@@ -1,132 +0,0 @@
-/* NSC -- new Scala compiler
- * Copyright 2006-2010 LAMP/EPFL
- * @author Paul Phillips
- */
-
-package scala.tools
-package util
-
-import nsc.{ Global, Settings }
-
-/** Examines Settings and generates a bash completion file
- * containing both bells and whistles.
- */
-object BashCompletion {
- val completionTemplate = """
-# Bash Scala completion
-#
-# Add this file to /etc/bash_completion.d/ (or your local equivalent)
-# or place a line like this in your .bashrc or .profile:
-#
-# . /path/to/file/scala_completion.sh
-#
-# For more information, see:
-#
-# http://bash-completion.alioth.debian.org/
-#
-# This file is generated by running scala.tools.util.BashCompletion.
-#
-
-SCALA_PHASES="@@PHASES@@"
-SCALA_PHASE_SETTINGS=( @@PHASE_SETTINGS@@ )
-SCALA_OPTIONS="@@OPTIONS@@"
-SCALA_OPTIONS_EXPANDED="@@OPTIONS_EXPANDED@@"
-
-_scala_completion()
-{
- local cur prev opts colonprefixes
-
- COMPREPLY=()
- opts=""
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- colonprefixes=${cur%"${cur##*:}"}
-
- # special case escaping madness because bash treats : as a separator.
- case "${cur}" in
- -*:*)
- precolon=$(echo "${cur}" | sed 's/:.*//g')
-
- for p in ${SCALA_PHASE_SETTINGS[@]}; do
- if [[ "${precolon}" == "${p}" ]] ; then
- cur=$(echo "${cur}" | sed 's/.*://g') # cut cur down to postcolon part
- opts=${SCALA_PHASES}
- fi
- done
-
- if [ "${opts}" == "" ] ; then
- opts=${SCALA_OPTIONS_EXPANDED}
- fi
- ;;
- esac
-
- if [ "${opts}" == "" ] ; then
- opts=${SCALA_OPTIONS}
- fi
-
- COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
-
- local i=${#COMPREPLY[*]}
- while [ $((--i)) -ge 0 ]; do
- COMPREPLY[$i]=${COMPREPLY[$i]#"$colonprefixes"}
- done
-
- return 0
-}
-
-_scala_commands()
-{
-@@PROGRAMS@@
-}
-_scala_commands
- """.trim
-
- private lazy val settings = new Settings()
- import settings._
-
- val phaseNames = "all" :: (new Global(settings) phaseNames)
- val phaseSettings = settings.visibleSettings collect { case x: PhasesSetting => "\"" + x.name + "\"" }
-
- def settingStrings(s: Setting, expanded: Boolean) = s match {
- case x: ChoiceSetting => if (expanded) x.choices map (x.name + ":" + _) else List(x.name + ":")
- case x: PhasesSetting => List(x.name + ":")
- case x => List(x.name)
- }
-
- /** We embed one list which stops at : and another where all choice settings are expanded out
- * to include the choices.
- */
- def settingNames = settings.visibleSettings.toList flatMap (x => settingStrings(x, false)) sorted
- def settingNamesExpanded = settings.visibleSettings.toList flatMap (x => settingStrings(x, true)) sorted
-
- def commandForName(name: String) = " complete -o default -F _scala_completion " + name + "\n"
- def interpolate(template: String, what: (String, String)*) =
- what.foldLeft(template) {
- case (text, (key, value)) =>
- val token = "@@" + key + "@@"
-
- (text indexOf token) match {
- case -1 => error("Token '%s' does not exist." format token)
- case idx => (text take idx) + value + (text drop idx drop token.length)
- }
- }
-
- def create(cmds: List[String]) = {
- interpolate(completionTemplate,
- "PROGRAMS" -> (cmds map commandForName mkString ""),
- "OPTIONS" -> (settingNames mkString " "),
- "OPTIONS_EXPANDED" -> (settingNamesExpanded mkString " "),
- "PHASES" -> (phaseNames mkString " "),
- "PHASE_SETTINGS" -> (phaseSettings mkString " ")
- )
- }
-
- def main(args: Array[String]): Unit = {
- val commands = if (args.isEmpty) List("fsc", "scala", "scalac", "scaladoc") else args.toList
- val result = create(commands)
- if (result contains "@@")
- error("Some tokens were not replaced: text is " + result)
-
- println(result)
- }
-} \ No newline at end of file
diff --git a/src/compiler/scala/tools/util/PathResolver.scala b/src/compiler/scala/tools/util/PathResolver.scala
index 716b0b43dc..d2cb5e74c0 100644
--- a/src/compiler/scala/tools/util/PathResolver.scala
+++ b/src/compiler/scala/tools/util/PathResolver.scala
@@ -119,9 +119,9 @@ object PathResolver {
case _ => ""
}
- def scalaExtDirs = Environment.scalaExtDirs
- def scalaPluginDirs = List("misc", "scala-devel", "plugins")
- def scalaPluginPath = join(scalaPluginDirs map (scalaHomeDir / _ path): _*)
+ def scalaExtDirs = Environment.scalaExtDirs
+
+ def scalaPluginPath = (scalaHomeDir / "misc" / "scala-devel" / "plugins").path
override def toString = """
|object Defaults {