Commit Graph

1794 Commits

Author SHA1 Message Date
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
Mark Harrah b6c9742060 Merge pull request #370 from vigdorchik/introduce_range_positions
Remember the range for settings read from .sbt files
2012-02-17 05:04:59 -08: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 5fa93ca9f9 work around 'data has not been loaded' exception when direct dependency overridden by newer version 2012-02-14 21:59:13 -05:00
Mark Harrah 6312978f9a better override test 2012-02-14 21:59:12 -05: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
Mark Harrah 13bcdf497e Merge pull request #367 from vigdorchik/363_validate_resolvers
363 validate resolvers
2012-02-12 15:07:56 -08: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
Eugene Vigdorchik 1bc16164b5 Drop # 2012-02-08 18:30:46 +04:00
Eugene Vigdorchik aae19a4d0d Better test. 2012-02-08 13:13:23 +04:00
Mark Harrah d61ae7899f drop 2.7 compatibility in compiler reporter 2012-02-07 21:56:37 -05:00
Mark Harrah bb765db6c2 drop compatibility framework definitions (dead anyway) 2012-02-07 21:56:37 -05:00
Mark Harrah 111dfba6a3 support setting sbt.version from system property, which overrides setting in a properties file
fixes #354
2012-02-07 21:52:37 -05:00
Eugene Vigdorchik be3ea741bc Mirror ivy \'force\' attribute in sbt. 2012-02-07 20:14:45 +04:00
Mark Harrah b0853cad31 link to FAQ in README 2012-02-06 15:27:30 -05:00
Mark Harrah 9f60ea55b4 update versions in README 2012-02-06 15:18:30 -05: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 c17bf071d7 simpler compatibility fix works ok 2012-02-04 21:10:30 -05:00
Mark Harrah 5bdd55b751 keep scala-tools.org snapshots around a little longer 2012-02-04 21:10:30 -05:00
Mark Harrah 410ba2afa9 API doc fixes 2012-02-04 21:10:30 -05:00
Mark Harrah dd4efec03c auto detect Scala version for non-cross-versioned launcher app 2012-02-04 21:10:30 -05:00
Mark Harrah 7b31db4171 no cross versioning for sbt 2012-02-04 21:10:30 -05:00
Mark Harrah 651d858676 substitute variables in explicit version strings 2012-02-04 21:10:30 -05:00