Commit Graph

282 Commits

Author SHA1 Message Date
Mark Harrah 6015d082aa use resolvers configured in plugin definition for update-sbt-classifiers. fixes #304. 2012-04-01 23:19:08 -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
Indrajit Raychaudhuri 2525eeb7e6 Ensure that `parents` for java classes have all the ancestors
Currently, only immediate parents classes are picked up for java classes.
This could be problematic, for example, in detecting Fingerprint for test frameworks.
So far, Scala types are not affected –– all the ancestors are available for them.
2012-03-25 15:44:16 +05:30
Mark Harrah 1cbb7ce93c print-warnings task for Scala 2.10+ to avoid needing to rerun 'compile' to see deprecation/unchecked warnings 2012-03-17 19:31:55 -04:00
Mark Harrah 7768aaacb0 add overload of addSbtPlugin for explicitly specifying the sbt cross-version 2012-03-17 19:31:55 -04:00
Mark Harrah f0eb3ac3a8 force 'update' to run when invoked directly. ref #335 2012-03-17 19:31:03 -04:00
Indrajit Raychaudhuri eef3a1ed31 Adjust mechanism of resolver conflict detection
Warn when publish resolver and dependency resolvers have same name but different access mechanism.
Multiple resolvers having same name as well as same access mechanism (i.e., equality matching) isn't
usually a problem. A common scenario for this would be Maven based resolvers with exact (http based)
same access mechanism. Also see #367, #363
2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri abcd4555b9 Replace `Pair.apply` with `Util.pairID`, avoids extra class generation 2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri c09174c428 Enable `sbtPluginReleases` repository by default for plugins. Closes #380 2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri 5b3dc5bf26 Update Resolver configuration
- deprecate scala-tools resolvers
- rename `typesafeResolver` to `typesafeReleases` for consistency
- add reference for other wel known resolvers, viz., oss.sonatype.org and scalasbt.artifactoryonline.com
- rearrange locations for helper methods
2012-03-12 05:25:12 +05:30
Mark Harrah 4527e9bfc6 merge test-quick reimplementation #393 from vigdorchik/wip_test_quick 2012-03-09 09:31:39 -05:00
Eugene Vigdorchik 40d35a5ced Change according to review and add a missing recursive dependency check. 2012-03-08 20:20:17 +04:00
Eugene Vigdorchik d5bf8cf6d6 Transitive compilation dependency tracking. 2012-03-08 18:58:44 +04:00
Eugene Vigdorchik efb9cde9f3 Add test file itself to the set to track compilation time. 2012-03-07 13:13:56 +04:00
Eugene Vigdorchik e92ba43b3f Add API dependency tracking to testQuickFilter. 2012-03-07 12:28:40 +04:00
Indrajit Raychaudhuri 57ec3bf37e rename `docSetting` to more consistent `docTaskSettings` 2012-03-06 23:36:02 +05:30
Indrajit Raychaudhuri 2e554c10ba Add support for compile task specific settings on `compile` task axis
So far we had ability to configure compile task specific settings on
`Compile` Configuration scope only. We can now add `compile` task scope
as well.

Usecase: one can now specify:
```
// applies for all tasks on Compile axis
scalacOptions in Compile += "-deprecation"
// applies for compile tasks on Compile axis
scalacOptions in (Compile, compile) += "-Xcheckinit" // effectively, "-deprecation -Xcheckinit"
```
2012-03-06 11:20:11 +05:30
Indrajit Raychaudhuri 14f6d7fd87 rename `packageTasks` to more consistent `packageTaskSettings` 2012-03-06 11:20:11 +05:30
Indrajit Raychaudhuri b64e9fb482 Use regular scala helper `Pair.apply` instead of `PairID` 2012-03-06 11:20:11 +05:30
Mark Harrah 6746557d05 addCommandAlias method for defining command aliases in build definitions. fixes #388 2012-03-05 13:40:17 -05:00
Eugene Vigdorchik cef766046d Add forgotten test listener. 2012-03-05 18:37:46 +04:00
Eugene Vigdorchik 6e0ad08ad3 testQuick: track previous test status. 2012-03-05 17:17:55 +04:00
Eugene Vigdorchik fe753768d9 Extract testFilter task to substitute in case of test-quick. 2012-03-04 11:09:42 +04:00
Indrajit Raychaudhuri 940b77f940 Make warnings for multiple resolvers with same name more verbose.
Just so that user can figure out more quickly what's going on
2012-02-28 16:33:20 +05:30
Indrajit Raychaudhuri ea08f86520 Added support for providing basic SCM info
Sonatype OSS repo (where many libraries are expected to migrate) requires
populating SCM info in additional to what is already provisioned for
populating in SBT.

We now support populating the basic SCM info as thus:
```
// Usual <scm><url/><connection/></scm>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scm:git:https://github.com/foo/project.git"))

// Also add <developerConnection/>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scm:git:https://github.com/foo/project.git", Some("dev_connection")))
```
For anything more esoteric than the basic info, there is always `pomPostProcess` :)
2012-02-28 15:30:51 +05:30
Indrajit Raychaudhuri 4daed3b745 Adjust `packageConfig` Settings to be wrapped within appropriate `inTask` methods 2012-02-28 00:26:23 +05:30
Mark Harrah b0e86898d1 support for dependency overrides 2012-02-14 21:59:12 -05:00
Eugene Vigdorchik 7cf1e3fe3c Remove artificial TaskKey. 2012-02-11 12:32:40 +04:00
Eugene Vigdorchik c6ea7ccd67 Remove unneeded validation. It would be really nice
if sbt allowed to show all paths in a DAG between 2 given vertices.
2012-02-10 13:26:06 +04:00
Eugene Vigdorchik 6c5d398608 Validate resolvers when making ivy configuration and publishing. 2012-02-10 13:17:25 +04:00
Mark Harrah bb765db6c2 drop compatibility framework definitions (dead anyway) 2012-02-07 21:56:37 -05:00
Indrajit Raychaudhuri d54c520cb1 Make mapping task names more consistent, ref #317, credit @Atry 2012-02-05 21:55:15 +05:30
Mark Harrah f55d34f617 Add Path.allSubpaths and API documentation for mappers 2012-01-26 21:28:19 -05:00
Mark Harrah f092fb35c9 When *::main-class is set, use its value for run::main-class 2012-01-25 17:29:51 -05:00
Mark Harrah 5e155900da rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
Mark Harrah 6a7eb6c937 Merge branch 'parsing_changes' into 0.12 2012-01-15 13:09:41 -05:00
Mark Harrah 64ffd20e15 cleanup deprecations for 0.12.0 2012-01-15 12:29: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 795b924f46 reimplement lighter support for controlling aggregation 2012-01-09 08:01:24 -05:00
Mark Harrah 5d398bc4a1 add native library support to 'console' and 'console-quick', fixes #305 2011-12-16 08:21:54 -05:00
Mark Harrah 38a529d037 handle multiple projects sharing a single base directory better by including project ID in cache directory path 2011-12-13 17:29:08 -05:00
Mark Harrah 2bb78c133f introduce {sbt,scala}BinaryVersion
by default assumes binary compatibility for incremental version bumps for sbt 0.12+ and Scala 2.10+
2011-12-13 17:15:05 -05:00
Mark Harrah 426acdf3f9 correct default resolver order 2011-12-13 17:15:05 -05:00
Indrajit Raychaudhuri 859f569da0 Fix spelling: 'descendent' is now 'descendant', English ftw. Closes #293 2011-12-12 19:10:47 +05:30
Mark Harrah f3f4bea2d5 fixes #280. sort aggregate and classpath dependencies separately to keep cycle detection for them separate 2011-11-27 17:48:01 -05:00
Mark Harrah 62355c3e1e implement 'skip in update' 2011-11-21 22:40:10 -05:00
Mark Harrah eb2ec8c781 concurrent execution restrictions 2011-11-19 23:56:30 -05:00
Indrajit Raychaudhuri e1e6b25d0c Honor maxErrors for compileInput
This uses a recently added technique (cf `TaskKey.local`) to introduce
local TaskKey and get around the nine parameter restriction.
2011-11-10 14:52:58 +05:30
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 301c981c99 reset default logging level to be DownloadOnly instead of quiet 2011-11-04 13:40:59 -04:00
Mark Harrah 8e9e4b22cd checksums configurable in [ivy] section. fixes #235 2011-11-04 13:40:59 -04:00
Mark Harrah b154468097 invalidate 'update' cache when 'update' cache of a dependency is invalidated, fixes #246 2011-10-30 18:40:01 -04:00
Mark Harrah 85ad0c023e clean up after temporary task directory 2011-10-30 18:39:18 -04:00
Mark Harrah 5fbe6e9d97 more flexible inter-project dependencies 2011-10-26 19:35:29 -04:00
Indrajit Raychaudhuri 289dc17c9b Initialize project version to SNAPSHOT 2011-10-20 10:21:29 +05:30
Mark Harrah 5fd3c1d2e5 task execution interruptible using ctrl+c. fixes #228,#229
- interrupts task execution only
- no further tasks scheduled
- existing tasks interrupted
- a task must terminate any other started threads when interrupted
- set cancelable to true to enable
- currently, 'run' properly terminates if the application properly
   terminates when interrupted
- 'console' does not, 'test' depends on the test framework

- also bundled: set connectInput to true to connect standard input to forked run
2011-10-18 22:43:25 -04:00
Mark Harrah 57b5b95ae3 Include plugins in update-sbt-classifiers. Fixes #138 2011-10-16 17:27:36 -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 fe172a4a1d Predef.error => sys.error 2011-10-16 17:27:36 -04:00
Mark Harrah 92fee61d46 remove remaining deprecated uses of identity 2011-10-16 17:27:36 -04:00
Mark Harrah 6ddeca12a2 merge Scoped{Setting,Task,Input} and {Setting,Task,Input}Key 2011-10-16 17:27:36 -04:00
Mark Harrah 09a87a3bc6 better default behavior for classpathConfiguration for external Ivy files. fixes #214 2011-10-05 18:14:32 -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 794f87d0b9 generalize classpath argument of consoleTask to ScopedTask 2011-10-03 09:58:37 -04:00
Mark Harrah 7702d30f40 generalize addArtifact arguments to Initialize[...]. fixes #207 2011-10-01 14:40:14 -04:00
Mark Harrah 230d15cc5b watch aggregated dependencies. fixes #206 2011-09-26 18:23:16 -04:00
Mark Harrah 2a21a86f8c move from TaskData to new system 2011-09-21 22:54:46 -04:00
Mark Harrah 5918c24722 Task state.
* Allow tasks to provide State transformations that are applied after all tasks complete.
* Provide convenience methods for preserving state across invocations.
* Option of session or persisted state.
2011-09-21 22:54:46 -04:00
Mark Harrah 66c24c9e59 Add standard manifest attributes before user options instead of after. Fixes #187 2011-09-16 22:04:56 -04:00
Mark Harrah de6f55952f allow watching and triggered messages to be customized 2011-09-16 22:04:56 -04:00
Mark Harrah babe8dbbdb conditionally initialize onLoad and onUnload. fixes #186 2011-09-16 22:04:56 -04:00
Indrajit Raychaudhuri ebb16bc9a3 Deprecate `scaladocOptions` in favor of `scalacOptions in doc` 2011-09-13 03:39:48 +05:30
Indrajit Raychaudhuri 450fa15c0e Expose snapshot flag via standard `SettingKey` 2011-09-09 18:35:57 +05:30
Mark Harrah 370145994f Revert modifying publishMavenStyle based on sbtPlugin. 2011-09-04 13:33:40 -04:00
Mark Harrah 5420a48a87 on-load message customizable, more specific message for plugin projects 2011-09-03 17:30:37 -04:00
Mark Harrah 8938fc564e fix includeFilter in unmanagedJars reference 2011-09-03 17:30:37 -04:00
Mark Harrah 228b245d2d make filter changes more backwards compatible. ref #165 2011-09-03 14:59:34 -04:00
Mark Harrah f515a0e8b6 Merge pull request #165 from indrajitr/0.11
Externalize resourceFilter configuration
2011-09-03 07:51:46 -07:00
Indrajit Raychaudhuri 7f9adf31b8 Add start-year for compliance in ProjectInfo 2011-09-03 02:19:08 +05:30
Indrajit Raychaudhuri 5614243ce9 Make include and exclude filters more consistent in name and behavior.
GlobalScope has conservative default with task specific filters explicitly modified.
2011-09-03 02:09:25 +05:30
Indrajit Raychaudhuri 434d7f2322 organizationName and organizationHomepage need not be set in GlobalScope 2011-08-31 20:34:40 +05:30
Mark Harrah 65ae7dab1c switch publishMavenStyle off when project is an sbt plugin 2011-08-30 09:16:33 -04:00
Mark Harrah febe7e56e1 fix binary dependency recompilation problem introduced by fix for #108 2011-08-27 11:54:16 -04:00
Mark Harrah 039982ab1e better default for traces in run 2011-08-26 23:27:03 -04:00
Mark Harrah bf1d471118 rearrange watchSources construction to automatically add sources for new configurations 2011-08-26 23:27:03 -04:00
Mark Harrah faeb9e2fb1 Make 'package' an alias for 'package-bin'. Fixes #156 2011-08-23 19:53:33 -04:00
Mark Harrah 9ebf809259 test for separate configuration of doc sources 2011-08-23 19:51:51 -04:00
Mark Harrah 71a346bd4c support separate configuration of doc inputs 2011-08-22 22:48:35 -04:00
Mark Harrah d36e02ea22 allow setting initialization to be partially dynamic and run in parallel 2011-08-14 10:53:37 -04:00
Mark Harrah 90f25b234e Settings overhaul, intended to be source compatible where it matters.
Moves many methods previously provided by implicit conversions directly onto the classes
  for better discoverability, especially with scaladoc.

1. Initialize now allowed in more places.  Minor renamings in Initialize to avoid conflicts
  a. map -> apply
  b. get -> evaluate
2. Identity on Scoped* is deprecated- it is now redundant
3. Can now use += and <+= for String, Int, Long, Double settings.
  There may be some problematic corner cases in inference, especially with +=, ++, <+=, <++=
4. Some classes with a scoped: ScopedKey[T] method now have scopedKey: ScopedKey[T] instead.
5. The implicit conversion to ScopedKey[T] is now deprecated.  Use the scopedKey method.
6. :== and ::= are now private[sbt] to better reflect that they were internal use only.
2011-08-14 10:53:37 -04:00
Indrajit Raychaudhuri b57e8cd17a Hava scaladocOptions in GlobalScope for consistency 2011-08-11 01:05:30 +05:30
Indrajit Raychaudhuri 952089bf92 Add well-known main manifest attributes by default for binary and source jars 2011-08-08 20:57:18 +05:30
Mark Harrah 10aa2d67c6 use sbt version in target path for sbt plugins 2011-08-05 21:59:49 -04:00
Mark Harrah 1d4d566d6b support use of native libraries in 'run' and 'test' 2011-08-05 21:56:32 -04:00
Mark Harrah 29db8dbe8d include native libraries on unmanaged classpath 2011-08-05 21:56:32 -04:00
Mark Harrah 93801cd946 temporary directory for use by tasks that will be cleaned up after task execution 2011-08-05 21:56:32 -04:00
Mark Harrah a19d5a799c try out simplified display of scoped keys 2011-08-04 07:20:25 -04:00
Indrajit Raychaudhuri 67102aadff - Extra Settings are now available to control project information, viz., name, description, homepage, organization name, organization homepage, licenses
- Modified name/signature of some private types/methods to reduce confusion (all in limited scope, so nothing should change from end user's pov)
- Enriched Ivy and Maven descriptors produced out of the box (see Keys.scala and Defaults.scala for more)
- Projects do not need to create custom Ivy <info/> block anymore, there is more settings-specific control instead
2011-08-03 08:49:46 +05:30
Mark Harrah e67b3be331 allow Defaults.packageTasks to be used in global configuration 2011-08-01 14:23:42 -04:00