Commit Graph

1089 Commits

Author SHA1 Message Date
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