Mark Harrah
e93c4450a1
early commands: anything prefixed with -- gets moved to the front of the command sequence on startup
2013-10-24 16:34:16 -04:00
Mark Harrah
86ae3c8c59
Deprecate -, --, and --- in favor of onFailure, sbtClearOnFailure, and resumeFromFailure.
2013-10-24 16:34:16 -04:00
Mark Harrah
4e7f30c893
provide Logger via Keys.sLog for use by settings during project initialization. Ref #806 .
2013-10-24 16:34:16 -04:00
Mark Harrah
eeb1ce8884
use global logging levels as the default for task logging levels
2013-10-24 16:34:16 -04:00
Mark Harrah
55832b3a03
set global logging levels from project settings if not already explicitly set
2013-10-24 16:34:16 -04:00
Mark Harrah
5498275ebd
Track whether global logging levels were set explicitly by the user or not.
2013-10-24 16:34:16 -04:00
Mark Harrah
fb1437cf36
Transfer logging,trace levels from old to new global loggers.
2013-10-24 16:34:16 -04:00
Benjy
c66eefcec9
Switch to using the interned serialization format.
2013-10-23 10:41:13 -04:00
Mark Harrah
11b0c7b3ff
Process settings once in SettingGraph for better performance.
...
Running 'inspect tree sbt/update' on sbt goes from 27 s to <1 s.
Review by @eed3si9n.
2013-10-18 19:56:43 -04:00
Mark Harrah
9dcb8727d8
New method `toTask` on `Initialize[InputTask[T]]` to apply the full input and get a plain task out.
2013-10-18 16:49:34 -04:00
Mark Harrah
136bb00698
Use scalacOptions from project/ for the build definition.
2013-10-14 19:59:28 -04:00
Mark Harrah
7d49bcdbf2
Add missed s interpolator, as pointed out by @xuwei-k
2013-10-08 13:38:33 -04:00
Mark Harrah
277813dd0a
Improve forked test debugging by listing tests run by sbt. Fixes #868 .
...
This helps diagnosing issues on the sbt/framework border by verifying
that sbt is properly collecting and invoking tests.
2013-10-03 10:57:00 -04:00
Mark Harrah
4958c98e52
Remove redundancy in excludeFilter default implementation.
2013-10-02 19:39:17 -04:00
Mark Harrah
e62b5d7dbd
Enable trapExit by default.
2013-10-02 09:13:50 -04:00
Mark Harrah
60426facba
TrapExit support for multiple, concurrent managed applications. Fixes #831 .
2013-10-02 09:13:45 -04:00
James Roper
743ce99315
String upper/lower case no longer locale dependent
...
Fixed many instances of the Turkish i bug.
Spare a thought for the poor Turks!
2013-09-24 08:14:15 -04:00
Havoc Pennington
6ba517c19b
Attempt to improve key collision error message
2013-09-13 10:13:18 -04:00
William Benton
2a3462ac12
Additional options for Ivy resolvers.
...
Specify an Ivy resolver with ", descriptorOptional" to make Ivy
descriptor files optional for that repository or with
", skipConsistencyCheck" to disable Ivy consistency checks for
that repository.
2013-08-26 14:06:21 -04:00
Eugene Yokota
cce87fcf9a
fixes scaladoc cache not detecting -doc-root-content. #837
...
adds fileInputOptions key to track options that may invalidate the
cache for doc task.
2013-08-17 01:31:53 -04:00
Mark Harrah
9d1d18cd71
remove duplicate relativize implementation from Path
2013-08-16 14:22:14 -04:00
Mark Harrah
f5c4c89d17
some additional API docs for Defaults.scala
2013-08-16 14:21:44 -04:00
Johannes Rudolph
701206b54d
prevent another StringIndexOutOfBoundsException in Graph.toAscii
2013-07-31 15:31:04 +02:00
James Roper
1eaf548bcd
Added shutdown hook for restoring the terminal
2013-07-30 19:02:10 +10:00
Eugene Yokota
fd03ad67f2
refix #795
...
`math.min` should have been `math.max` here.
It's currently chopping off the output of inspect tree.
2013-07-29 16:33:53 -04:00
Mark Harrah
4ab037c5cd
remove Process from base imports in .sbt files and eval
...
The implicits are already in the sbt package object.
2013-07-29 14:14:04 -04:00
Mark Harrah
7dadbf1fc6
Drop unneeded import that triggers SI-7690.
2013-07-23 15:20:45 -04:00
Mark Harrah
4123769214
inline implementation of Symbol.isTopLevelModule, which no longer exists in 2.11
2013-07-23 11:35:34 -04:00
Mark Harrah
61509408c9
Deprecate seq. The implicits Seq[Setting[_]] <-> SettingsDefinition handle the typical plugin/build.sbt case.
2013-07-19 20:50:10 -04:00
Mark Harrah
2e0257f440
Alias from Project->Def for SettingsDefinition
2013-07-19 20:50:10 -04:00
Mark Harrah
0a77a47f41
Revert "Don't import the Global.Range in 2.11, which shadows the collection Range"
...
This reverts commit 5d7d9c4cef . Can't do it this way
since Global.Range doesn't exist in 2.10.
2013-07-19 07:20:12 -04:00
Mark Harrah
5d7d9c4cef
Don't import the Global.Range in 2.11, which shadows the collection Range
2013-07-18 22:41:52 -04:00
Mark Harrah
a4d0a0cb5a
Provide implicits in consoleProject to add .eval to task and setting keys. Fixes #815 .
2013-07-17 14:58:53 -04:00
Mark Harrah
c0e06a14fe
Apply setup and cleanup hooks to forked tests.
...
The actual class loader for test classes cannot be provided because it
is in another jvm.
2013-07-16 13:55:10 -04:00
Mark Harrah
c2df1e8d68
Deduplicate options processing for forked/non-forked tests.
...
This in particular fixes testOnly/testQuick when forking.
2013-07-16 13:55:10 -04:00
Mark Harrah
45677de789
test arguments no longer need to be passed throughout- they are now only used in Runner construction
2013-07-11 21:13:06 -04:00
Mark Harrah
4795799a15
Drop defaultConfigurationMapping, which wasn't used. Fixes #421 .
2013-07-11 18:49:30 -04:00
Mark Harrah
32bdab68bd
Fix remaining Global defaults to be added only once.
2013-07-11 18:49:30 -04:00
Mark Harrah
0507a2a1a9
Deprecate implicit RootProject/LocalProject calls on URI/File/String
...
Builds are using explicit calls anyway, so reduce the implicits.
2013-07-10 18:15:30 -04:00
Mark Harrah
001bd6cb9f
Provide a better error message when an older launcher is used with 0.13 and JLine classes are incompatible.
2013-07-08 18:42:00 -04:00
Mark Harrah
ccff43ce8c
API docs and cleanup for test configuration data structures
2013-07-08 09:14:19 -04:00
Mark Harrah
919d0ac63d
Failed task execution should still preserve State changes. Fixes #804 .
...
Candidate for inclusion in 0.13.0 if there is another RC, otherwise
scheduled for 0.13.1.
2013-07-03 17:16:00 -04:00
Mark Harrah
3e7bedd11b
Properly filter test results and decode test names in printed output.
...
Initial report by @viktorklang, based on his patch.
2013-07-03 17:16:00 -04:00
Mark Harrah
7992997ac1
refined auto project ID to prepend 'root-' if initial character is numeric
2013-06-28 14:31:45 -04:00
Mark Harrah
a1a00526ff
properly wrap unknown test data structures in serializable ones
2013-06-28 12:12:58 -04:00
Mark Harrah
851451a90a
shouldn't need to deserialize user classes when forking tests, only sbt+test-interface
2013-06-28 11:02:49 -04:00
Mark Harrah
53191cb787
Only print extra test status counts if nonzero
2013-06-28 09:48:27 -04:00
Mark Harrah
301c11f9e0
Drop ForkTestDefinition in favor of TaskDef
2013-06-28 09:24:47 -04:00
cheeseng
86f47bd67d
Added explicitlySpecified and selectors field to ForkTestDefinition, and change ForkMain to use explicitlySpecified and selectors value sent from ForkTests.
2013-06-28 17:45:13 +08:00
cheeseng
0c66d1a5d3
Added support of Ignore, Canceled and Pending added in the latest framework API.
2013-06-28 17:19:27 +08:00
cheeseng
5bb46359b5
Change to use test-interface-1.0-SNAP7, and use ScalaTest 2.0.M6-SNAP26 which implemented test-interface-1.0-SNAP7.
2013-06-28 17:18:38 +08:00
Mark Harrah
220886be80
fix plugin depth and project ID auto detection for external dependencies
2013-06-28 00:01:19 -04:00
Mark Harrah
ca9f32c7d1
Include projects without defined settings in KeyIndex.
2013-06-28 00:01:19 -04:00
Mark Harrah
0e009b1480
Exclude class directories from plugin classpath used for updateSbtClassifiers: classified jars not available
...
Fixes #798 .
2013-06-27 14:12:47 -04:00
Eugene Yokota
b880c5bc16
Supply default terminal width to fix #795
2013-06-25 10:37:56 -04:00
Mark Harrah
aef6df3e20
handle undefined target directory in unique target check
2013-06-23 19:57:31 -04:00
Mark Harrah
602c1759a1
Make ExecuteProgress listener configurable via executeProgress setting.
...
Experimental, so everything is private[sbt].
2013-06-23 19:57:30 -04:00
Mark Harrah
1cc2f57e15
Experimental task progress interface. Fixes #592 .
...
Set sbt.task.timings=true to print timings for tasks.
This sample progress handler shows how to get names for tasks and
deal with flatMapped tasks. There are still some tasks that make
it through as anonymous, which needs to be investigated.
A setting to provide a custom handler should come in a subsequent commit.
2013-06-23 19:57:30 -04:00
Mark Harrah
ce1c8b0ebc
Better auto project ID handling. Ref #776 .
...
* Consolidate project ID validation and normalization into Project methods
* Provide an earlier and more detailed error message when the directory
name can't be used for the project ID
2013-06-23 19:57:30 -04:00
Mark Harrah
6f0028e50d
Use last path component of a URI in the staged path.
2013-06-23 19:57:30 -04:00
Mark Harrah
6091e60611
Show project version in 'about'
2013-06-19 19:18:40 -04:00
Mark Harrah
7796715e88
Move deprecated scala-tools conveniences to private[sbt] accessibility
2013-06-19 17:15:22 -04:00
Mark Harrah
464f093017
Handle newer predefined launcher types in boot overrides
2013-06-19 17:15:22 -04:00
Mark Harrah
b1cba90332
Promote new State methods to public
2013-06-19 12:01:45 -04:00
Mark Harrah
284cddff70
set position on parameter references in task/setting macros
2013-06-19 11:53:11 -04:00
Mark Harrah
2f9d68e869
Require projects to have unique target directories.
...
Configuring projects so that target directories overlap is usually
unintentional and the error message that results is usually unrelated
to the cause.
2013-06-18 18:43:50 -04:00
Mark Harrah
800bd3698a
Add syntax summary to 'set' and 'inspect' help. Follow-up to #776 .
2013-06-17 12:06:13 -04:00
Mark Harrah
53f75a85cc
Basic named commands now print usage if the argument parser fails on empty input. Fixes #776 .
...
The Help for these commands now needs to be cleaned up, since they were not written with
this feature in mind. In particular,
* consider adding syntax summaries in the short help strings
* alternatively, add the syntax summary data elsewhere for use specifically by this feature
* display a better message when there is no short help string, such as
"See 'help <command>' for usage." or just displaying the lower level error message, such as
"Expected whitespace"
2013-06-17 12:06:13 -04:00
Mark Harrah
53e7960976
separate out help message functions
2013-06-17 12:06:13 -04:00
Mark Harrah
74438d0c72
handle empty help list in aligned printing
2013-06-17 12:06:13 -04:00
Mark Harrah
0780a6c08a
Key parsing improvements. Ref #776 .
...
* Explain context of expected ':' and '/' error messages
* Restore strict project ID parsing to get proper message about invalid project ID
2013-06-17 12:06:13 -04:00
Mark Harrah
fb27f5558c
Propagate taskDefinitionKey in Incompletes from flatMaps. Ref #784 .
2013-06-15 23:55:05 -04:00
Mark Harrah
5a252fae3a
ScopeFilter.debug to print accepted and rejected scopes
2013-06-10 17:05:11 -04:00
Mark Harrah
271b03550b
Record artifact, module ID, and config for products
2013-06-01 10:56:30 -04:00
Mark Harrah
cd2b1edf6c
IncOptions class backup directory should be per-compilation, not shared.
...
Otherwise, one concurrent compilation will clean the directory out from under another.
2013-05-30 15:00:26 -04:00
Mark Harrah
431a0be42d
Pull sbt dependency version from sbtVersion to facilitate cross-building plugins.
2013-05-30 15:00:26 -04:00
Mark Harrah
8d13043afa
Only add automatically detected plugins to options once. Fixes #757 .
2013-05-28 07:56:48 -04:00
Mark Harrah
598b6209e3
Put summary not available message at the debug level. Review by @cheeseng.
2013-05-14 09:09:20 -04:00
Mark Harrah
0bb460c03e
Derive testGrouping,compilers,scalaBinaryVersion. Don't go through compileInputs for doc. Fixes #539 , #708 , #391 .
2013-05-09 17:28:50 -04:00
Mark Harrah
e1acc12290
In 'set' command, handle keys in new scopes in the affected settings part
2013-05-09 17:28:50 -04:00
Mark Harrah
7ed56d3fcd
Show defining locations when there are cycles between derived settings
2013-05-09 17:28:50 -04:00
Mark Harrah
6c0f47ef48
Default settings, which give internal sbt settings something like Plugin.globalSettings.
2013-05-09 17:28:40 -04:00
Mark Harrah
60b714e8de
require dynamic initialization to be explicitly enabled for derived settings
2013-05-09 17:28:39 -04:00
Mark Harrah
994886ee51
display derived settings information in 'inspect'
2013-05-09 17:28:39 -04:00
Mark Harrah
dfe418b3c3
Derived settings, which allows injecting settings wherever their dependencies are defined.
...
This is an advanced feature initially intended for internal sbt use.
2013-05-09 17:27:43 -04:00
Mark Harrah
6b32aa661c
use Option constructor instead of Some for potentially null file lock
2013-05-08 12:56:50 -04:00
Mark Harrah
51bd1e8ceb
Include files with zip extension in unmanaged jars. Fixes #750 .
2013-05-06 08:28:34 -04:00
Mark Harrah
f7ce8334c3
Merge remote-tracking branch 'scalatest/new-framework-api-12' into 0.13
2013-05-01 08:34:01 -04:00
Mark Harrah
6a70b9f565
Proper support for stashing on-failure handlers. Fixes #732 .
2013-04-30 18:55:02 -04:00
Mark Harrah
8813712c60
Versioned global sbt directory. Fixes #735 .
2013-04-30 18:55:02 -04:00
Mark Harrah
fb0a8c463b
Scope packagedArtifacts for publish*Configuration to publish* to make it easier to filter artifacts for different publish targets.
2013-04-26 18:51:58 -04:00
cheeseng
48fb0c4ed6
Initial working version of makeParallel that support nested tasks.
2013-04-25 00:06:52 +08:00
cheeseng
3109912d00
Added support of nested test tasks when tests are executed InProcess and sequentially.
2013-04-25 00:06:52 +08:00
cheeseng
ad18b4f3ae
Added code to tag test task using Array[String] returned from Task.tags method.
2013-04-25 00:06:51 +08:00
cheeseng
f862e64911
Added support of custom summary message returned from Runner.done method.
2013-04-25 00:06:51 +08:00
cheeseng
1ec2118219
-Moved code that count test results from TestLogger to SuiteResult.
...
-Print the results in Tests.showResult.
2013-04-25 00:06:41 +08:00
cheeseng
a76523a5f6
Added >1 framework class per framework support, this enables sbt to support both old and new framework API at the same time.
2013-04-23 12:00:05 +08:00
cheeseng
f38a244d0f
Added code to call Runner's done() method in both InProcess and SubProcess cases.
2013-04-23 12:00:03 +08:00
cheeseng
244e65cd79
-Changed behavior so that only a single Runner instance is used to run tests in multiple test groups.
...
-Added code to support remoteArgs in test-interface 1.0.
2013-04-23 11:09:50 +08:00
cheeseng
b83d378cd0
Changed ForkTests to call acceptorThread.join(), to make sure that acceptorThread is finished before Acceptor.result is called.
2013-04-23 11:09:48 +08:00
cheeseng
18bc8423b5
Initial version that uses new framework API in test-interface 1.0:
...
-Changed usages and implementations of interfaces in org.scalatools.testing._ to use/implement interfaces/classes in sbt.testing._ instead.
-Added sbt.testing to interfaceFilter in TestFramework.createTestLoader method to enable loading of classes in sbt.testing package.
-Added FrameworkWrapper.java to wrap old framework implementations.
-Added code in ForkMain.java to serialize Selectors.
2013-04-23 11:09:37 +08:00
Mark Harrah
8d0c1408c0
Allow -cp argument to 'apply' command to be quoted. Fixes #724 .
2013-04-12 12:47:45 -04:00
Mark Harrah
a4c059cb7e
Better auto-generated IDs for default projects. Fixes #554 .
...
For the global plugins project, the default ID is "global-plugins".
For a normal project, the default ID is the name of the build directory.
The ID of a build definition for one of the above appends -build.
2013-04-10 20:15:28 -04:00
Mark Harrah
96b2ca7ce4
Use a default root project aggregating all projects if no root is defined. Fixes #697 .
...
Ref #554 .
2013-04-10 20:15:27 -04:00
Mark Harrah
23be591c95
memoize .sbt file loading within a build and only add a Project once
...
This fixes an infinite loop when defining a Project in a .sbt file
with the build base directory as the project base directory.
This allows the standard behavior for interpreting settings from
.sbt files for both Projects defined in .sbt files as well as in
.scala files. That is, settings in .sbt files in "." go in all
projects with "." as their base directory.
Ref #554 .
2013-04-10 20:15:27 -04:00
Mark Harrah
b990a29c09
Undeprecate ScalaInstance.libraryJar, which will be reliable for modularized Scala.
2013-04-08 09:21:59 -04:00
Mark Harrah
382b55402b
don't put Scala jars on forked boot classpath by default
...
Ideally, Scala jars on the normal classpath would be moved to the boot classpath,
but this is more involved.
2013-04-05 09:02:24 -04:00
Mark Harrah
f18ddd2a88
make ScopeFilter accessible without a qualifier
...
Should be improved: ideally there would only be a single top-level alias.
2013-04-03 12:44:35 -04:00
Mark Harrah
322a49faba
Make autoCompilerPlugins support compiler plugins defined in a internal dependency
...
requires the compiler plugin project to define exportJars := true
2013-04-03 12:44:35 -04:00
Mark Harrah
45155e2616
move to <key>.all inDefaults
2013-03-28 16:08:24 -04:00
Mark Harrah
7605818f04
workaround for ThisProject not being properly resolved by Scope.resolve*
2013-03-28 16:08:23 -04:00
Mark Harrah
df5e79e3be
API for evaluating a setting or task in multiple scopes
2013-03-27 09:17:53 -04:00
Mark Harrah
2f13b7a8c7
add publish-m2 task for publishing to ~/.m2/repository. Fixes #485 .
2013-03-27 09:17:53 -04:00
Mark Harrah
6327e11a59
Object->AnyRef change in EvalTest
2013-03-18 09:52:57 -04:00
Mark Harrah
5f41b06026
fix stray val
2013-03-12 15:29:27 -04:00
Mark Harrah
fd2823e827
clean up 'inspect' command and limit Related section to 10 keys
2013-03-12 14:51:19 -04:00
Mark Harrah
718fa91772
Publish test artifacts in Test configuration and corrects classifier to 'tests'. Fixes #683
2013-03-08 20:11:53 -05:00
Mark Harrah
5b80e8c941
use .evaluated instead of .value for InputTasks
2013-03-08 14:23:31 -05:00
Mark Harrah
387f06e73a
partialInput/fullInput methods on InputTask to apply input programmatically. ref #407 .
2013-03-08 14:23:31 -05:00
Mark Harrah
d6f78db0c9
Construct input tasks in multiple steps to allow input task reuse. Fixes #407 .
2013-03-08 14:23:30 -05:00
Mark Harrah
ada663106d
Further Scala handling refinements. fixes #690 .
...
* No longer override the Scala version to force it to be scalaVersion. Custom configurations might use an independent version.
* Only substitute the jars from scalaHome when the major.minor versions line up for the substituted artifact
* Allow the Scala version to use for dependency resolution to be specified when using ++ to change Scala home: ++ version=/path/to/scala/home
2013-03-05 17:22:21 -05:00
Mark Harrah
925ec98900
Restore class files after an unsuccessful compilation.
...
This is useful when an error occurs in a later incremental step that
requires a fix in the originally changed files.
CC @gkossakowski
2013-03-04 07:24:31 -05:00
Mark Harrah
bf1831eb88
fix TagsTest test size generator and properly set Tags.All on tag maps
2013-03-03 19:43:37 -05:00
Mark Harrah
1fdf3fa38c
support explicit types on lazy vals in definingValName
...
lazy val x: Project = project has a rather different enclosing tree
than lazy val x = project.
2013-03-03 19:43:37 -05:00
Mark Harrah
54b103f4c7
Tag the actual test task and not a later task. Fixes #692 .
2013-03-03 19:43:36 -05:00
Mark Harrah
9d82718897
disable printing of success for 'export' command
2013-02-28 17:59:39 -05:00
Mark Harrah
a263b7e91f
when exporting settings, send the output directly to the console
2013-02-28 17:59:38 -05:00
Mark Harrah
dde24d5e5a
make classpaths exported
2013-02-28 17:59:38 -05:00
Mark Harrah
f2d29d8678
Export approximate command lines executed for 'doc', 'compile', and 'console'
2013-02-28 17:59:38 -05:00
Alex Dupre
92e99cfef0
Switch from JLine 1.0 to 2.10.
2013-02-26 07:39:33 -05:00
Mark Harrah
1870edfd27
more deprecations
2013-02-26 07:39:23 -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
68443fc047
minor improvement to use stripSuffix in DotGraph
2013-02-22 16:31:32 -05:00
Mark Harrah
76ebc3a01d
force test definition sequences to fix tests/order
2013-02-21 20:45:07 -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
Mark Harrah
824f10aa9a
better error message when help search syntax isn't a valid java.util.regex
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
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
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
9ab1b98d2a
Use @compileTimeOnly for .value and .parsed methods.
...
Needed to set position on wrapper method for correct error message position.
2013-02-19 08:54:40 -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
c0b1bb51e6
-Xlint
2013-02-04 17:30:31 -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
Eugene Yokota
125727ba83
support binary version in launcher
2013-01-29 16:55:13 -05:00
Mark Harrah
e47b8ab578
Make 'eval' command work when project isn't loaded.
2013-01-29 08:47:04 -05:00
Mark Harrah
a57407375e
Implement InputTask.~= to operate directly on the result type T instead of an InputTask[T].
2013-01-28 18:01:35 -05:00
Mark Harrah
8d11d1087a
Mark the tests failed exception as having already provided feedback
2013-01-28 17:14:53 -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
13ea342b7a
use standard Context.weakTypeOf
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
Paolo G. Giarrusso
236143be8d
Silence boring Eclipse warnings: catching all exceptions
...
Here I make explicit where catching all exceptions is intended.
Mark Harrah corrected one decision during review.
2013-01-22 09:05:15 -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
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
aefad9c033
when looking for the enclosing val definition in definingValName, allow the macro to be in an expression
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
f0a72e53e8
use proper separator in command tab completion
2013-01-03 11:37:40 -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
329b42453b
move Eval test to correct location
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
71f12fbcdb
2.9 compatibility for incremental compilation modules
2012-12-11 14:41:22 -05:00
Mark Harrah
f388b07632
fix inputTask construction method and put sbt package object in proper directory
2012-12-09 20:40:41 -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
912948f5c8
update 'apply' help string to include -cp option
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
Mark Harrah
f55c8ca15e
Tab completion of right side of setting in 'set' command no longer necessary with the new task syntax.
2012-12-06 19:11:07 -05:00
Mark Harrah
769ecbace5
add scala-tool configuration and dependencies when configuring via pom.xml/ivy.xml
2012-12-06 07:25:41 -05:00
Mark Harrah
8f25b07d71
-cp/-classpath option to 'apply' command
2012-12-04 21:08:39 -05:00
Mark Harrah
005b2b356f
fix IO tests, which needed scala-compiler.jar on the classpath
2012-12-04 13:20:03 -05:00
Josh Suereth
f338018bd1
Modified SBT defualts to pull in app repositories.
...
* If SBT launcher supports app repositories these are added by default.
* IF SBT launcher does not support app repositories, previous defaults are used.
2012-12-04 13:10:10 -05: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
cdd2e72cdf
move top-level settingKey,taskKey,inputKey objects to Def and package object
...
avoids class file name collision on case insensitive filesystem
2012-12-04 13:08:52 -05:00
Mark Harrah
495e7c6f62
Disable aggregation for `run-main` by default
2012-12-03 08:56:22 -05:00
Mark Harrah
2598a8f1a9
extend source positions to all setting creation methods
2012-12-02 03:17:20 -05:00
Mark Harrah
f73e77de16
convert () to {} to workaround macro bug
...
(bug is fixed in 2.10.x branch)
2012-12-02 03:17:20 -05:00
Mark Harrah
2f2596c133
record source name or full path for settings/tasks depending on whether the enclosing package is the empty package
2012-12-02 03:17:20 -05:00