mirror of https://github.com/sbt/sbt.git
Merge branch 'master' of git@github.com:harrah/xsbt
This commit is contained in:
commit
119a09afc2
2
LICENSE
2
LICENSE
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2008, 2009, 2010 Mark Harrah
|
||||
Copyright (c) 2008, 2009, 2010 Mark Harrah, Jason Zaugg
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
|
|
|||
4
NOTICE
4
NOTICE
|
|
@ -1,5 +1,5 @@
|
|||
Simple Build Tool (xsbt)
|
||||
Copyright 2008, 2009, 2010 Mark Harrah
|
||||
Simple Build Tool (xsbt components other than sbt/)
|
||||
Copyright 2008, 2009, 2010 Mark Harrah, Jason Zaugg
|
||||
Licensed under BSD-style license (see LICENSE)
|
||||
|
||||
Portions based on code from the Scala compiler. Portions of the Scala
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
Simple Build Tool: Compile Component
|
||||
Copyright 2009, 2010 Mark Harrah
|
||||
Copyright 2009, 2010 Mark Harrah, Jason Zaugg
|
||||
Licensed under BSD-style license (see LICENSE)
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* sbt -- Simple Build Tool
|
||||
* Copyright 2010 Jason Zaugg
|
||||
*/
|
||||
package xsbt
|
||||
|
||||
import scala.tools.nsc.{CompilerCommand, Settings}
|
||||
|
||||
object Command
|
||||
{
|
||||
/**
|
||||
* Construct a CompilerCommand using reflection, to be compatible with Scalac before and after
|
||||
* <a href="https://lampsvn.epfl.ch/trac/scala/changeset/21274">r21274</a>
|
||||
*/
|
||||
def apply(arguments: List[String], settings: Settings): CompilerCommand = {
|
||||
def constr(params: Class[_]*) = classOf[CompilerCommand].getConstructor(params: _*)
|
||||
try {
|
||||
constr(classOf[List[_]], classOf[Settings]).newInstance(arguments, settings)
|
||||
} catch {
|
||||
case e: NoSuchMethodException =>
|
||||
constr(classOf[List[_]], classOf[Settings], classOf[Function1[_, _]], classOf[Boolean]).newInstance(arguments, settings, error _, false.asInstanceOf[AnyRef])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -11,13 +11,14 @@ class CompilerInterface
|
|||
{
|
||||
def run(args: Array[String], callback: AnalysisCallback, maximumErrors: Int, log: Logger)
|
||||
{
|
||||
import scala.tools.nsc.{CompilerCommand, Global, Settings}
|
||||
import scala.tools.nsc.{Global, Settings}
|
||||
|
||||
debug(log, "Interfacing (CompilerInterface) with Scala compiler " + scala.tools.nsc.Properties.versionString)
|
||||
|
||||
val reporter = new LoggerReporter(maximumErrors, log)
|
||||
val settings = new Settings(reporter.error)
|
||||
val command = new CompilerCommand(args.toList, settings, error, false)
|
||||
|
||||
val command = Command(args.toList, settings)
|
||||
|
||||
val phasesSet = new scala.collection.mutable.HashSet[Any] // 2.7 compatibility
|
||||
object compiler extends Global(command.settings, reporter)
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ class ScaladocInterface
|
|||
}
|
||||
private class Runner(args: Array[String], maximumErrors: Int, log: Logger)
|
||||
{
|
||||
import scala.tools.nsc.{doc, CompilerCommand, Global}
|
||||
import scala.tools.nsc.{doc, Global}
|
||||
val reporter = new LoggerReporter(maximumErrors, log)
|
||||
val docSettings: doc.Settings = new doc.Settings(reporter.error)
|
||||
val command = new CompilerCommand(args.toList, docSettings, error, false)
|
||||
val command = Command(args.toList, docSettings)
|
||||
|
||||
import forScope._
|
||||
def run()
|
||||
|
|
|
|||
|
|
@ -3,17 +3,15 @@
|
|||
* Arguments are passed to javac using an argument file (@). This should fix errors on Windows caused by long command lines.
|
||||
* Fixed `console-project` for custom subprojects
|
||||
* Works with Scala 2.8 trunk again.
|
||||
* API Documentation is up again.
|
||||
* [API Documentation](http://simple-build-tool.googlecode.com/svn/artifacts/latest/api/index.html) is up again.
|
||||
* Fixed logging level behavior on subprojects.
|
||||
|
||||
### Improvements
|
||||
* Added `sbt.impl.Arguments` for parsing a command like a normal action (for [http://code.google.com/p/simple-build-tool/wiki/Processors Processors])
|
||||
* `Processor` split into `Processor`/`BasicProcessor`. `Processor` provides a high level of integration with command processing. `BasicProcessor` operates on a `Project` but does not affect command processing. See the API documentation for the signature change.
|
||||
* Added `sbt.impl.Arguments` for parsing a command like a normal action (for [Processors](http://code.google.com/p/simple-build-tool/wiki/Processors))
|
||||
* `Processor` split into `Processor`/`BasicProcessor`. `Processor` provides a high level of integration with command processing. `BasicProcessor` operates on a `Project` but does not affect command processing. See the [API documentation](http://simple-build-tool.googlecode.com/svn/artifacts/latest/api/sbt/processor$package.html) for the signature change.
|
||||
* Can now use Launcher externally, including launching sbt outside of the official jar. This means a `Project` can now be created from tests.
|
||||
* Added `webappUnmanaged: PathFinder` method to `DefaultWebProject`. `Path`s selected by this `PathFinder` will not be pruned by `prepare-webapp` and will not be packaged by package. For example, to exclude the GAE datastore directory:
|
||||
{{{
|
||||
override def webappUnmanaged =
|
||||
(temporaryWarPath / "WEB-INF" / "appengine-generated" ***)
|
||||
}}}
|
||||
* Added some String generation methods to `PathFinder`: `toString` for debugging and `absString` and `relativeString` for joining the absolute (relative) paths by the platform separator.
|
||||
* All sbt code is now at http://github.com/harrah/xsbt in one project. Instructions for building from source have been updated.
|
||||
* All sbt code is now in a [single github repository](http://github.com/harrah/xsbt). Instructions for building from source have been updated.
|
||||
* Added `webappUnmanaged: PathFinder` method to `DefaultWebProject`. `Path`s selected by this `PathFinder` will not be pruned by `prepare-webapp` and will not be packaged by package. For example, to exclude the GAE datastore directory:
|
||||
|
||||
override def webappUnmanaged = (temporaryWarPath / "WEB-INF" / "appengine-generated" ***)
|
||||
Loading…
Reference in New Issue