Commit Graph

85 Commits

Author SHA1 Message Date
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 4fe0c02536 Break long argument list into multiple lines.
Some methods take a lot of arguments and I'm about to add one more
which will make them too long for easy reading.

This change is changes code formatting only. That's done on purpose
to make it easier to review other changes.
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 c0b1bb51e6 -Xlint 2013-02-04 17:30:31 -05:00
Mark Harrah 8d11d1087a Mark the tests failed exception as having already provided feedback 2013-01-28 17:14:53 -05:00
Paolo G. Giarrusso 19aaaea923 Fix compile error in Eclipse
Let's consider compile/inc/src/main/scala/sbt/CompileSetup.scala.
There are multiple Output types, and according to Eclipse importing
xsbti.compile.Output within the package sbt does not work because the
import is shadowed by sbt.Output.

However, compilation proceeds just fine within SBT. Reproducing the
example however gives the same warning, if the files are in the same
project. The problem here is probably that the shadowing Output
is declared in the same package but in another project, and that seems
to give different results in Eclipse and SBT, but relying on
that looks fragile.
Reading the spec is inconclusive since it doesn't match with Scalac's
behavior — see
https://groups.google.com/d/topic/scala-internals/-Rquc2HBYLk/discussion .

ForkTests has the same behavior as CompileSetup.
2013-01-22 09:05:15 -05:00
Mark Harrah 329b42453b move Eval test to correct location 2012-12-19 10:17:56 -05:00
Mark Harrah 71f12fbcdb 2.9 compatibility for incremental compilation modules 2012-12-11 14:41:22 -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
Eugene Vigdorchik 960d17c358 Use java.lang.Throwable.setStackTrace. Proper fix for #543. 2012-11-15 10:14:59 -05:00
Mark Harrah 1c1e5c4977 taking care of deprecations removed in Scala master 2012-11-14 11:48:06 -05:00
Mark Harrah e1c3240eae split ForkTests react() out to workaround SI-6526 2012-10-29 12:22:07 -04:00
Mark Harrah b353d0b94c better internal interfaces to javadoc/scaladoc/raw scalac 2012-09-18 16:30:33 -04:00
James Roper a3e9b53fe5 Pulled mapper folding into a function for reuse 2012-08-31 06:24:16 -04:00
James Roper 702ee44e0e Source position mapper support 2012-08-31 06:24:16 -04:00
Mark Harrah 3dd3a18996 Force update on change to last modified time of artifacts or cached descriptor.
This is part 2 of the fix for #532.  It may also fix issues when working with
multiple local projects via 'publish-local' and binary dependencies.
2012-08-29 11:13:48 -04:00
Eugene Vigdorchik b4e64d37db Various fork in Test fixes. Closes #512 #515. 2012-08-25 07:15:23 -04:00
Eugene Vigdorchik adb7d42f73 Fix compilation error for 2.10.0-M5 for all but main project. 2012-07-17 15:20:37 -04:00
Eugene Vigdorchik 76943e82ed Add xsbti.Reporter to required inputs instead of maxErrors. 2012-07-13 14:33:26 -04:00
Eugene Vigdorchik b5a29987e6 Changes required to use sbt as-is from Scala-IDE. 2012-07-13 14:33:26 -04:00
Eugene Vigdorchik c795511e13 Only allow a single task to run at any point in time if parallelExecution in Test is false. 2012-05-12 10:15:59 -04:00
Eugene Vigdorchik 04d53c05d5 Modify forking tests based on Stefan's feedback. Should be ported to 0.12 2012-05-09 20:07:47 -04:00
Mark Harrah 6769c94208 basis for a resident compiler
unstable, but can be tested with -Dsbt.resident.limit=n
 n is the maximum Globals kept around
2012-04-28 18:58:52 -04:00
Mark Harrah d837f869bd using some of the embedding interfaces 2012-04-18 11:02:52 -04:00
Mark Harrah 8594e4443d reorganize compilation modules 2012-04-18 08:08:25 -04:00
Mark Harrah db7ec09591 move compiler integration classes to subproject compile/integration 2012-04-18 03:33:49 -04:00
Mark Harrah 7109bc9637 configuration via ivysettings.xml: use URI instead of URL and make 'inter-project' resolver available for multi-project builds. ref #416 2012-04-11 22:40:45 -04:00
Michael Allman ba2e42287b Add support for loading Ivy settings from a URL 2012-04-08 20:22:15 -07:00
Mark Harrah 75dfccf098 move ForkMain.Tags out to top-level ForkTags to make sxr happy 2012-04-06 23:29:48 -04:00
Eugene Vigdorchik e8798ddca8 Add test and allow the java options to be picked for a default test group created. 2012-04-05 12:02:53 +04:00
Eugene Vigdorchik 05c4fbdc3d Cleanup: 1) Rename policies since Fork is popular name and clashes with sbt.Fork2. Don't put entire Execution into Group, but just RunPolicy. 2012-04-04 23:50:32 +04:00
Eugene Vigdorchik 2ba9bbc767 More indentation messed up. 2012-04-04 16:25:12 +04:00
Eugene Vigdorchik b5766e4057 Fix newlines and indentation. 2012-04-04 09:30:46 +04:00
Eugene Vigdorchik 291db63af3 Fixes 2012-04-03 19:43:59 +04:00
Eugene Vigdorchik ce0a2a3625 More fixes. 2012-04-02 19:01:54 +04:00
Eugene Vigdorchik 2741515d44 Fixes after review, take 3. 2012-04-02 16:05:56 +04:00
Eugene Vigdorchik 4d5effcb28 Fixes after review, take 2. 2012-04-02 12:08:18 +04:00
Eugene Vigdorchik e3a7a331d5 Changes after review, step 1. 2012-04-02 10:46:13 +04:00
Eugene Vigdorchik 68c5cbe438 Fork java, not scala. 2012-04-01 15:49:29 +04:00
Eugene Vigdorchik 7afc9e77c6 \'fork in test\' initial implementation. 2012-04-01 11:44:05 +04:00
Mark Harrah b0e86898d1 support for dependency overrides 2012-02-14 21:59:12 -05:00
Eugene Vigdorchik be3ea741bc Mirror ivy \'force\' attribute in sbt. 2012-02-07 20:14:45 +04:00
Mark Harrah 5e155900da rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
Mark Harrah d146c7f84c cleanup cache-related code, aiming for unknown cause of #292 2012-01-15 12:29:53 -05:00
Mark Harrah eb2ec8c781 concurrent execution restrictions 2011-11-19 23:56:30 -05:00
Indrajit Raychaudhuri ad7aede533 Enable Javadoc generation in `doc` task.
`docSetting` has been updated to do both Scaladoc and Javadoc. In
Scala/Java hybrid projects, the output docs are rebased to `scala`
or `java` sub-directory accordingly. But for pure scala or pure java
projects the subdirectories aren't added to becompliant with user
expectation as much as possible. We do hybrid mode iff both *.scala
and *.java files exist; other doc resources (package.html, *.jpg etc.)
don't influence the decision.
2011-11-09 17:49:54 +05:30
Mark Harrah 2805dbde8f track whether UpdateReport was cached or freshly generated 2011-10-30 18:39:47 -04:00
Mark Harrah 1578341a10 add cleanupCommands setting to specify commands to run before interpreter exits. fixes #219 2011-10-16 17:27:36 -04:00
Mark Harrah e4848efcc8 store hashes of API instead of full API. fixes #21 2011-10-05 18:09:27 -04:00
Mark Harrah dcea4f2293 make ComponentManager honor value of Ivy home provided by the launcher 2011-09-16 23:08:01 -04:00