diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2010-04-11 19:11:40 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2010-04-11 19:11:40 +0000 |
commit | 67b1041a8512a760749a6e3882113e5aee7ba321 (patch) | |
tree | 7ebde6995f12364fce7caad7e620e0acc276c33b | |
parent | ad596fcfc77a931f9b91444acd0063dcbc9b25aa (diff) | |
download | scala-67b1041a8512a760749a6e3882113e5aee7ba321.tar.gz scala-67b1041a8512a760749a6e3882113e5aee7ba321.tar.bz2 scala-67b1041a8512a760749a6e3882113e5aee7ba321.zip |
moved plugin folder back to 'misc/scala-devel/p...
moved plugin folder back to 'misc/scala-devel/plugins'. moved bash
completion to scala-tool-support (see r21449). include continuations
in compiler sbaz package. replaced some tabs by spaces. review by
extempore.
-rw-r--r-- | build.xml | 93 | ||||
-rw-r--r-- | src/build/pack.xml | 4 | ||||
-rw-r--r-- | src/compiler/scala/tools/util/BashCompletion.scala | 132 | ||||
-rw-r--r-- | src/compiler/scala/tools/util/PathResolver.scala | 6 |
4 files changed, 46 insertions, 189 deletions
@@ -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 { |