Commit Graph

723 Commits

Author SHA1 Message Date
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
Eugene Vigdorchik 33ec1c419d Remember current URI + more tests. Review by @harrah 2012-02-02 17:15:14 +04:00
Eugene Vigdorchik 0dafd5ef26 Check for the case the project doesn't exist after reload. 2012-01-31 21:15:18 +04:00
Eugene Vigdorchik 8daa6d3279 Keep project selection upon reload. 2012-01-31 19:12:52 +04:00
Mark Harrah 482ff4978d Merge pull request #342 from vigdorchik/wip_sourcepos_eugenevigdorchik
Wip sourcepos eugenevigdorchik
2012-01-30 14:34:03 -08:00
Eugene Vigdorchik d1c799cd09 More cleanup. 2012-01-30 19:06:26 +04:00
Eugene Vigdorchik dc0a40c776 Change SourcePosition definition + minor cleanup. 2012-01-30 19:06:24 +04:00
Eugene Vigdorchik e40f735f6a Display sourcepos info when at least 1 pos known. 2012-01-30 19:06:22 +04:00
Eugene Vigdorchik 09ff0664a3 Add SourcePosition to setting. 2012-01-30 19:06:18 +04:00
Mark Harrah 98c98f9c26 split command core to main/command/ 2012-01-29 14:36:27 -05:00
Mark Harrah 26ec82ed73 Append instances for Set and Map 2012-01-27 21:09:11 -05:00
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 7e71ab7c3d fix forward aggregation enabled check 2012-01-22 22:06:53 -05:00
Mark Harrah 5e155900da rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
Mark Harrah 2255bd5a62 org.scala-tools.sbt -> org.scala-sbt and dropping scala-tools.org from defaults 2012-01-22 22:06:52 -05:00
Mark Harrah 3a0938878d clarify behavior of State.reload 2012-01-19 11:00:24 -05:00
Mark Harrah 58d6f34dd5 separate configuration of global plugins, staging, and settings directories. fixes #331
System propery sbt.global.plugins configures global plugins directory
  default: $sbt.global.base/plugins

System property sbt.global.staging configures global staging directory
  default: $sbt.global.base/staging

System property sbt.global.settings configures directory containing global .sbt files
  default: $sbt.global.base
2012-01-19 11:00:24 -05:00
Mark Harrah 6a7eb6c937 Merge branch 'parsing_changes' into 0.12 2012-01-15 13:09:41 -05:00
Mark Harrah d65d23bd99 make new plugin configuration style higher precedence than deprecated project/plugins/ style 2012-01-15 12:29:54 -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 a0300cd3b3 deprecate alternative project directory name '.sbt' 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 82326cc899 new aggregation approach, still need exclusion mechanism 2012-01-09 08:01:24 -05:00
Mark Harrah ec48779829 moved task axis before the key 2012-01-09 08:00:29 -05:00
Mark Harrah 79bbe8f8a4 fix tab completion of new inspect variations 2012-01-09 08:00:29 -05:00
Mark Harrah fbe8630433 move calls to runExitHooks into the State.{reload,exit,reboot} commands. fixes #306 2011-12-16 08:21:54 -05:00
Mark Harrah 619b97d215 apply <module>* : command to apply State transformations defined by module names 2011-12-16 08:21:54 -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 967c3fe75a support https git URLs by default 2011-12-15 19:20:26 -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 7347e89f73 'set every <setting>' for overriding every definition of a key. fixes #154 2011-12-13 17:29:08 -05:00
Mark Harrah 454bc6095b show definitions and uses of a key (not a full scoped key, just a key) 2011-12-13 17:29:08 -05:00
Mark Harrah 9c87d078e3 InputTask.dependsOn, fixes #242 2011-12-13 17:29:08 -05:00
Mark Harrah 68027501f8 make ; a hard delimiter for multi-commands. fixes #270 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 7a75acfe03 treat case differences differently 2011-12-13 17:15:05 -05:00
Mark Harrah 34a39740c7 don't suggest similar keys for strings with only 1 or 2 characters 2011-12-13 17:15:05 -05:00
Mark Harrah 426acdf3f9 correct default resolver order 2011-12-13 17:15:05 -05:00
Mark Harrah 5a5e230b61 put default boot commands into an overridable 'boot' command 2011-12-13 17:15:05 -05:00
Holden Karau 07fd9ab57e Increase the magic number for RichTaskableN and ApplyN 2011-12-13 12:30:06 -08:00
杨博 4a727bc9d3 Allow `ModuleID % Configuration` 2011-12-13 00:08:18 +08:00
Indrajit Raychaudhuri 859f569da0 Fix spelling: 'descendent' is now 'descendant', English ftw. Closes #293 2011-12-12 19:10:47 +05:30
杨博 3d4b96e2df Fix stack overflow when use Build.projects in a Project's settings. 2011-12-11 01:37:47 +08:00
Mark Harrah 91a136e5f6 Merge pull request #276 from eed3si9n/inspecttree
refactored scoped key manifest extraction to ScopedKeyData
2011-11-27 19:27:11 -08:00
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
e.e d3si9n 6d9aeb94e0 compressed map and getOrElse into if-else 2011-11-26 01:41:24 -05:00
e.e d3si9n 546e7d9bad refactored scoped key manifest extraction to ScopedKeyData 2011-11-23 19:53:20 -05:00
e.e d3si9n e85833b2de "inspect tree <key>" command
This is a slightly cleaned up version of sbt-inspectr. When "inspect
tree <key>" is called, SettingGraph case class is created recursively
along the dependencies, calling the similar code as "inspect" command's
Project.details. Graph object then renders it as an ascii tree.
2011-11-23 00:49:27 -05:00
Indrajit Raychaudhuri 7c0952a266 Tweak ReadDetailed message per suggestion 2011-11-23 04:12:31 +05:30
Indrajit Raychaudhuri 15177e92a2 Streamline and update help messages for built-in commands 2011-11-23 03:37:10 +05:30
Mark Harrah 62355c3e1e implement 'skip in update' 2011-11-21 22:40:10 -05:00
Mark Harrah b07bd3adaa show deprecation message for project/plugins/. fixes #272. 2011-11-21 22:37:58 -05:00
Mark Harrah 8743165d66 Adjust 'about' output because logging is now rotated. 2011-11-21 22:37:58 -05:00
Mark Harrah eb2ec8c781 concurrent execution restrictions 2011-11-19 23:56:30 -05:00
Mark Harrah f813256ced detect invalid project IDs 2011-11-19 23:56:30 -05:00
Indrajit Raychaudhuri f314225712 Remove deprecations 2011-11-10 15:41:16 +05:30
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
Mark Harrah 03cd1ec3ab need to explicitly trim whitespace in semicolon separated commands now. fixes #261. 2011-11-09 18:30:35 -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 bef997fe29 Merge pull request #258 from jsuereth/windows-git-fix2
Windows git fix
2011-11-07 12:39:16 -08:00
Josh Suereth 175f08e1e4 Stefan Zeiger's fixes to not NPE when checking for windows. Additional cleanup to put windows git-run checks in one function. 2011-11-07 07:38:25 -05:00
Josh Suereth c5e31645a3 Attempting to fix git forking in windows 2011-11-07 07:38:11 -05:00
Mark Harrah 4a4c424d20 fix mistakenly changed return type of State.setResult 2011-11-05 09:13:34 -04:00
Indrajit Raychaudhuri c42659318b javaOptions and javacOptions would be better off as Task (like scalacOptions) 2011-11-04 13:51:17 -04:00
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 2805dbde8f track whether UpdateReport was cached or freshly generated 2011-10-30 18:39:47 -04:00