Commit Graph

1850 Commits

Author SHA1 Message Date
Alex Dupre 92e99cfef0 Switch from JLine 1.0 to 2.10. 2013-02-26 07:39:33 -05:00
Mark Harrah 29a26a13ab Custom implementation of Streams can be bound to Keys.stateStreams in State. 2013-02-25 09:24:05 -05:00
Mark Harrah 0cf702efd5 Move GlobalLogBacking.newLogger to GlobalLogging to make the role of GlobalLogBacking clearer. 2013-02-25 09:24:05 -05:00
Mark Harrah f6d73128fc deprecations 2013-02-25 09:24:04 -05:00
Mark Harrah a61421dcb8 Split ConsoleOut into its own file, track the global ConsoleOut and use it instead of StandardMain.console 2013-02-25 09:24:04 -05:00
Mark Harrah 5b5577a187 Replace Scala jars in UpdateReport with ScalaProvider jars in more situations. Fixes #661.
Specifically, when the Scala version for sbt is the same as that for the project being built,
the jars in UpdateReport should be the same as those in ScalaProvider.  This is because the
loader will come from the ScalaProvider, which uses jars in the boot directory instead of the
cache.  The first part of the fix for #661 checks that loaded classes come from the classpath
and so they need to line up.
2013-02-21 20:44:26 -05:00
Mark Harrah bd0f208302 Class loader that restricts loading to a classpath. Ref #661.
It is now used for consoleProject, run, and test.  This loader verifies
that all classes loaded through it came from a particular classpath or
from the "root" loader.  Root loader here is the launcher loader so that
those classes with native bindings come from that shared loader.
2013-02-21 20:44:26 -05:00
Mark Harrah 98e2662bc4 Make full set of ForkOptions configurable for both run and test. Fixes #665.
Environment variables may be passed by configuring the envVars task.
2013-02-21 20:44:26 -05:00
Mark Harrah e06ada8fb7 Add help for ++ and + commands 2013-02-19 14:33:22 -05:00
Mark Harrah 2047849b50 remove deprecated command strings 2013-02-19 14:33:22 -05:00
Grzegorz Kossakowski 70036812ab Introduce incremental compiler options.
Introduce a way to configure incremental compiler itself instead
of underlying Java/Scala compiler.

Specific list of changes in this commit:
  * Add a method to `xsbti.compile.Setup` that returns incremental
    compiler options as a `java.util.Map<String, String>`. We considered
    statis interface instead of a `Map` but based on mailing
    list feedback we decided that it's not the best way to go because
    static interface is hard to evolve it by adding new options.
  * Since passing `java.util.Map<String, String>` not very convenient
    we convert it immediately to `sbt.inc.IncOptions`
  * Add options argument to various methods/classes that implement
    incremental compilation so in the end options reach
    `sbt.inc.IncOptions` object
  * Add `incOptions` task that allows users to configure incremental
    compiler options in their build files. Default implementation of
    that tasks returns just `IncOptions.DEFAULT`
  * Both system property `xsbt.inc.debug` and `IncOptions.relationsDebug`
    trigger debugging of relations now. In the near future, we should
    deprecate use of `xsbt.inc.debug`.
2013-02-19 12:23:07 -05:00
Grzegorz Kossakowski d6f4c5ae4f Strip down trailing whitespace.
I have Eclipse configured to do that automatically when saving file.
I decided to finally commit those changes to files I touch a lot.
2013-02-19 12:18:26 -05:00
Mark Harrah ae74fff88c When serially executing tests*, order tests by testOnly filter order
* parallelExecution in test := false

cc @bantonsson
2013-02-13 10:27:43 -05:00
Mark Harrah 4b61747dfc remove deprecated scaladocOptions 2013-02-13 08:12:51 -05:00
Mark Harrah 76e0a941ba Update to 2.10.1-RC1
Needed an explicit type in PMap to workaround an error.
Need to drop tuple assignment of parser.parsed in input task macro as a workaround
  for macro/resetAllAttrs/pattern matching/annotation issue in RC1.
2013-02-13 07:17:20 -05:00
Mark Harrah 8cb7e23011 Load global plugins in their own class loader and replace the base loader with that. Fixes #272.
Also, replace the base classpath with the global classpath.
2013-02-01 13:10:27 -05:00
Mark Harrah 52954b3ae7 skip duplicate entries in PluginClassLoader 2013-02-01 13:10:26 -05:00
Mark Harrah b2eb4661df Support 'reload plugins' after ignoring a failure to load a project.
This can be used to debug problems with dependencies or code.
It won't help with .sbt files, however.
2013-01-29 17:47:29 -05:00
Mark Harrah 6c5cafb55b Remove support for deprecated alternative to project/ directory name. 2013-01-29 17:47:29 -05:00
Mark Harrah e47b8ab578 Make 'eval' command work when project isn't loaded. 2013-01-29 08:47:04 -05:00
Mark Harrah 76a02c463f Temporarily use a Scala home with '++ /path/to/scala/home' 2013-01-28 17:14:53 -05:00
Mark Harrah 076480b50a Reduce InputTask to the ideal wrapper around 'State => Parser[Initialize[Task[T]]]'
Ref #407.
2013-01-28 17:14:53 -05:00
Mark Harrah 9013e00fdd Remove InputStatic and parsedResult.
This cleans up the InputTask implementation.  It no longer requires the hook
in setting loading (Load.finalTransforms) and has better types.
2013-01-18 18:49:26 -05:00
Mark Harrah a9ac6b3983 Configurable conflict manager and corresponding documentation on conflictManager, dependencyOverrides, and force(). Fixes #603. 2013-01-11 16:01:31 -05:00
Mark Harrah a48ee68d17 Additional convenience methods on Project for configuring the .sbt files processed.
The Project.setSbtFiles and addSbtFiles methods combined with the current sbt version
available from ComponentMangaer.version (suggestions for a better location are welcome),
should make it straightforward to load different .sbt files based on the sbt version.

Fixes #467.
2013-01-11 16:01:30 -05:00
Mark Harrah 36a3203226 API documentation for Project getters 2013-01-11 16:01:30 -05:00
Mark Harrah a152965933 Option to automatically manage API documentation mappings
Set autoAPIMappings := true to enable.

Then, set apiURL to the base URL of the API documentation for a project.
This will get stored in an extra attribute in the ivy.xml or as a property
a pom.xml.

When using managed dependencies that have set their apiURL, the -doc-external-doc
setting for scaladoc will be automatically configured.  Note that this option
will only be available in Scala 2.10.1 and so enabling autoAPIMappings for
earlier versions will result in an error from scaladoc.

For unmanaged dependencies or dependencies without an automatic apiURL, add the
(File,URL) mapping to apiMappings.  The File is the classpath entry and the URL
is the location of the API documentation.
2013-01-10 16:06:12 -05:00
Mark Harrah e5a9d31d6f Make exclude-classifiers per-user instead of per-build. Fixes #634. 2013-01-10 16:06:12 -05:00
Mark Harrah aff95baf0e Provide cacheDirectory via Streams instead of a separate setting
This is cleaner and makes it harder for the task author to have overlapping caches.
2013-01-10 16:06:12 -05:00
Mark Harrah 1ef258d88e Convenience method Project.configure(f,g) for g(f(proj)) to be used to apply plugin configuration provided as a Project=>Project transformation 2013-01-10 16:06:12 -05:00
Mark Harrah ae9b6d1e47 Support 'val p = project' via a 'project' macro 2013-01-10 16:06:12 -05:00
Mark Harrah a8b93dfed3 Project.in(File) for setting the base directory of a Project 2013-01-10 16:06:11 -05:00
Mark Harrah 87faa7191a API documentation for Project transforming methods 2013-01-10 16:06:11 -05:00
Mark Harrah aba717c0c5 cleanup imports in BuildStructure 2013-01-03 11:37:40 -05:00
Mark Harrah ea3e5c3548 Allow cleanKeepFiles to contain directories
The directory contents will be kept as will empty directories.
2012-12-19 10:17:56 -05:00
Mark Harrah f6317a5c75 remove deprecated Extracted.evalTask 2012-12-19 10:17:56 -05:00
Mark Harrah dd66d8b17a API documentation in Extracted 2012-12-19 10:17:56 -05:00
Mark Harrah d156ccfe4e Further refinements to Scala version handling
- override location of resolved Scala jars when scalaInstance is unmanaged
- document current behavior: scalaHome, update, scalaInstance, autoScalaLibrary, managedScalaInstance
2012-12-16 18:56:22 -05:00
Mark Harrah e3745540c9 More cleanup of Scala version handling, including managedScalaInstance to control automatic 'scala-tool' configuration and dependencies. 2012-12-09 20:40:41 -05:00
Mark Harrah d4fd136192 support defining Projects in .sbt files
vals of type Project are added to the Build
2012-12-09 20:40:41 -05:00
Grzegorz Kossakowski ef39aeb9c1 Follow source layout convention supported by Eclipse.
Moved source files so directory structure follow package
structure. That makes it possible to use Scala Eclipse plugin
with sbt's source code.
2012-12-07 10:27:08 -08:00
Josh Suereth 0c08c1169e Bumped the Scalatest/Specs versions for 2.10.0-RC3
* Modified tests to use mutable Specs API
* Fixed a few minor specs issues.
2012-12-04 13:10:09 -05:00
Mark Harrah 538f687208 Use and methods instead of mapR,mapFailure,flatFailure,flatMapR 2012-12-02 03:17:19 -05:00
Mark Harrah 8d6dd10798 2.10.0-M5, different arity generalization
1. KList[M[_]] now instead of KList[HL <: HList, M[_]]
  a. head, tail work properly in this variant
  b. disadvantage is that full type not easily transformed to new type constructor
2. AList abstracts on K[L[x]], a higher order type constructor.
 A. Instances written for:
  a. KList
  b. Seq[M[T]] for a fixed T
  c. TupleN
  d. single values
  e. operate on one type constructor when nested
 B. Main disadvantage is type inference.  It just doesn't happen for K[L[x]].
    This is mitigated by AList being used internally and rarely needing to construct a K.
2012-11-17 20:19:24 -05:00
Mark Harrah 795b924f46 reimplement lighter support for controlling aggregation 2012-01-09 08:01:24 -05:00
Mark Harrah 82326cc899 new aggregation approach, still need exclusion mechanism 2012-01-09 08:01:24 -05:00
Mark Harrah ec48779829 moved task axis before the key 2012-01-09 08:00:29 -05:00
Mark Harrah c9039a4d44 separate out generators for test builds 2011-10-01 14:40:14 -04:00
Mark Harrah 41667f9f49 test fix 2011-05-23 18:40:03 -04:00
Mark Harrah 19ed648de5 tests and fixes for delegation 2011-05-09 20:57:10 -04:00