Commit Graph

792 Commits

Author SHA1 Message Date
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
Vojin Jovanovic 182b7c655f Adding `scalaOrg` setting key for scala clones.
Adding scalaOrg key that specifies organization (artifactId) of scala used in the project. The change does not affect version checks for dependecies and LauncherConfiguration.

Modified scalaProvider cache in Launcher to use (scalaOrg, version) as a key.

Downloaded jars are stored in the folder scala-.../lig-<scalaOrg> if scalaOrg is not default.

scala-org is an advanced setting so it can not be used in build.sbt.
2012-04-04 19:06:55 +02: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 cdfc72d05d Given the ease of defining concurrentRestictions, I think it should be left to the user to correctly provide the limit for forked test groups. 2012-04-03 18:35:07 +04:00
Eugene Vigdorchik e169e4f222 Correctly initialize ForkedTestGroup restriction. 2012-04-03 18:13:02 +04:00
Eugene Vigdorchik c4385adce0 Some more fixes. 2012-04-03 11:49:41 +04:00
James Earl Douglas 710b12520d set status to "integration" if isSnapshot is true, and "release" if isSnapshot is false 2012-04-02 21:15:52 +05:30
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
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
Mark Harrah 6fb1934efa filter detected binary plugins by classpath now that plugin class loader is shared. fixes #412 2012-03-31 21:51:01 -04:00
Mark Harrah 04efcd12d2 fix brief help for set 2012-03-25 20:35:09 -04:00
Mark Harrah 87d2144c12 rank settings, tasks and use this to restrict help/settings/tasks output. fixes #315 2012-03-25 20:35:09 -04:00
Mark Harrah 0aadf5e500 fix help whitespace parsing 2012-03-25 20:35:09 -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 2bb2aed1f6 Revert "work around for 2.10. pattern matching on KNil now requires KNil()"
This reverts commit 2f726b34c3.

This commit caused "java.lang.Error: typeConstructor inapplicable for <none>" when running 'sxr'
2012-03-17 22:58:13 -04:00
Mark Harrah 9bebc70ada normalize URI before hashing 2012-03-17 19:31:56 -04:00
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 2c5a2f0f96 enable sbt-plugin auto-configuration when using 'reload plugins' 2012-03-17 19:31:04 -04:00
Mark Harrah f0eb3ac3a8 force 'update' to run when invoked directly. ref #335 2012-03-17 19:31:03 -04:00
Mark Harrah 5cfafdb648 provide list of task execution roots 2012-03-17 19:31:03 -04:00
Mark Harrah 2f726b34c3 work around for 2.10. pattern matching on KNil now requires KNil() 2012-03-17 19:31:03 -04:00
Mark Harrah 1ffa7b7d92 work around for type inference change in 2.10 2012-03-13 08:01:58 -04:00
Mark Harrah 4e4937e706 searchable help 2012-03-12 19:54:18 -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 3adf080bc1 Convenient `DefaultOptions` for resolvers.
Simply, add `DefaultOptions.addResolvers` in project config
or `DefaultOptions.addPluginResolvers` in plugin config to have known
resolvers added by default (snapshot mode sensitive)
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
Mark Harrah 3587777638 move error processing to complete/ 2012-03-09 07:08:38 -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 69d45b7f5f Use `provider.id.name` instead of hard-coded 'sbt' in `aboutString`
Also rearrange and reformat a bit
2012-03-02 06:05:14 +05:30
Indrajit Raychaudhuri f51aad4b5b Add fancier `shellPrompt` by default, also better arg names 2012-03-02 00:59:06 +05:30
Indrajit Raychaudhuri 9ca86725b5 Rather use `globalSettingsDirectory` instead of `globalBaseDirectory` 2012-03-01 17:23:08 +05:30
Indrajit Raychaudhuri 0fead533c0 Clarify better in deprecation message
Add additional helper method for adding credential
2012-03-01 00:28:12 +05:30
Indrajit Raychaudhuri 7b97b6833f Credentials should be kept in SBT's own global base location
The old convention of keeping credentials in ~/.ivy2 isn't recommended anymore,
they can instead go in (customizable) global base location.

The global base defaults to `~/.sbt`, hence credentials go in `~/.sbt/.credentials`
(c.f. `Keys.globalBaseDirectory` and system property `sbt.global.base`)
2012-02-28 23:01:17 +05:30
Mark Harrah 2137b29aa1 Merge pull request #369 from vigdorchik/Overwrite_setting
Overwrite previous setting if possible.
2012-02-28 07:48:44 -08:00
Indrajit Raychaudhuri 0a6f58a761 Remove use of deprecated `logger(s)` call 2012-02-28 19:07:47 +05:30
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
Eugene Vigdorchik 63aa36bd1e More agressive overwrite. 2012-02-27 22:28:09 +04:00
Eugene Vigdorchik bb646d0437 SessionSetting to contain seq of line. 2012-02-27 11:46:23 +04:00
Mark Harrah ec2566047d allow plugins to inject settings at the build level. fixes #378 2012-02-25 12:01:08 -05:00
Eugene Vigdorchik eaa10b7a48 Support multi-line replacements. 2012-02-20 15:52:57 +04:00
Eugene Vigdorchik ff4b42ce45 Merge 2012-02-20 12:30:10 +04:00
Eugene Vigdorchik d23d39cc0f Support multiline settings in build.sbt, assumes set command doesn't allow multiline settings. TODO:tests. 2012-02-20 12:27:26 +04:00
Eugene Vigdorchik e0b2475dd6 Overwrite previous setting if possible. 2012-02-19 00:20:14 +04:00
Eugene Vigdorchik a52d36987c Remember the range for settings read from .sbt files 2012-02-16 16:58:51 +04:00
Eugene Vigdorchik 31735051ea Overwrite previous setting if possible. 2012-02-15 13:06:00 +04:00
Mark Harrah 923acc1258 stable build load order 2012-02-14 21:59:12 -05:00
Mark Harrah b96ceabb80 Ordering instances for ResolvedReference, BuildRef, ProjectRef 2012-02-14 21:59:12 -05:00
Mark Harrah bda151c3bd load plugin classes in a single class loader across builds. fixes #329 2012-02-14 21:59:12 -05:00
Mark Harrah 0fbe987cd0 resolve plugin dependency version conflicts according to build order, first part of fix for #329 2012-02-14 21:59:12 -05:00
Mark Harrah b0e86898d1 support for dependency overrides 2012-02-14 21:59:12 -05:00
Mark Harrah 14e18f2350 use writeable local builds directly 2012-02-13 22:02:44 -05:00
Sanjin Sehic 0de9b67073 Remove 2-stage cloning for git and mercurial resolvers 2012-02-13 22:02:44 -05:00
Sanjin Sehic 3514ad7039 Silence svn checkout output 2012-02-13 22:02:44 -05:00
Sanjin Sehic bcfe46c019 Track all remote branches in local git repository
This change fixes bug where non-HEAD branches could not be checked out
because the local copy of a remote git repository was not tracking
them.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 43142ce3b4 Fix not cleaning up when checkout of a DVCS branch fails 2012-02-13 22:02:44 -05:00
Sanjin Sehic 5232dd941e Fix resolving SVN URI with revision 2012-02-13 22:02:44 -05:00
Sanjin Sehic 837d973fd3 Remove potentially unsafe optimization in local resolver
Old implementation of the local resolver did not copy directory if it
was writable. This optimization can lead to some potential problems if
the directory is writable, but its subdirectories aren't.

New implementation of the local resolver does not have this
optimization and it always copies the directory into staging area.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 5ed012c7d9 Add another run method in Resolvers for commands with no working directory 2012-02-13 22:02:44 -05:00
Sanjin Sehic 7efa24f59b Inline trivial private methods 2012-02-13 22:02:44 -05:00
Sanjin Sehic e4f809953f Implement resolver for subversion repositories
All subversion URIs have to be prefixed with 'svn:' to separate them
from URIs for other resolvers. For example, 'svn:https://server/repo'
can now be used.
2012-02-13 22:02:44 -05:00
Sanjin Sehic bc4443b408 Implement resolver for mercurial repositories
All mercurial URIs have to be prefixed with 'hg:' to separate them
from URIs for other resolvers. For example,
'hg:https://server/user/repo' can now be used.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 972acc871a Allow retrieving of non-standard git URIs
Non-standard git URIs are ones that do not start with 'git:' nor end
with '.git'. An example of non-standard git URI is
'ssh://server/home/user/repo'.

The mechanism for specifying a non-standard git URI is done by
prefixing the whole URI with 'git:' to signify that it should be
handled with the git resolver. For example, non-standard git URIs like
'git:ssh://server/user/repo' and 'git:https://server/user/repo' can
now be used.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 77626f5232 Optimize retrieving from git repositories
Instead of cloning from a remote git repository for each branch,
revision or tag separately, the git resolver locally clones only once
the remote git repository and then creates further local clones from
this local copy of the remote repository.

First, optimization, of course, is execution speed, because cloning
local repository is much faster than remote repository. Furthermore,
because git uses hard-linking when a clone of local repository is
created, the second optimization is in space consumption.

For example, if we have one project that uses
https://github.com/harrah/xsbt.git#v0.11.1 and second project that
uses https://github.com/harrah/xsbt.git#v0.11.2, in previous git
resolver implementation it would require two separate clones of the
remote git repository at https://github.com/harrah/xsbt.git. But, the
new git resolver requires only one clone of the remote git repository
and two local clones which take no space because of hard-linking.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 942427bfa3 Extract local, remote, and git BuildLoader.Resolver from ResolveUnit 2012-02-13 22:02:44 -05:00
Mark Harrah dd51dbb999 cleanup 2012-02-13 22:02:44 -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 baaf75b08a Merge pull request #361 from vigdorchik/add_ivy_force
Mirror ivy \'force\' attribute in sbt.
2012-02-08 06:43:02 -08:00
Mark Harrah bb765db6c2 drop compatibility framework definitions (dead anyway) 2012-02-07 21:56:37 -05:00
Eugene Vigdorchik be3ea741bc Mirror ivy \'force\' attribute in sbt. 2012-02-07 20:14:45 +04:00
Indrajit Raychaudhuri cc904b4d5d - Add default opt for javadoc
- Default credential file stays in `~/.sbt` now
2012-02-05 21:55:16 +05:30
Indrajit Raychaudhuri d54c520cb1 Make mapping task names more consistent, ref #317, credit @Atry 2012-02-05 21:55:15 +05:30
Mark Harrah 5fdbc86259 cleanup 2012-02-04 21:10:30 -05:00
Mark Harrah 410ba2afa9 API doc fixes 2012-02-04 21:10:30 -05:00
Eugene Vigdorchik 1fd1b7803c Add a test to check for keeping a selected url upon reload. 2012-02-04 21:10:30 -05:00