Commit Graph

116 Commits

Author SHA1 Message Date
Dale Wijnand 1afe7114e8
Expose RichUpdateReport enrichment 2017-04-03 12:39:52 +01:00
Dale Wijnand 723abc945f
Overload RichUpdateReport#select instead of using default args 2017-04-03 12:39:39 +01:00
Dale Wijnand cbdbf23127
Expose RichUpdateReport & DependencyFilter
Fixes #42
2017-04-03 12:39:39 +01:00
eugene yokota 9cf41bbf36 Merge pull request #77 from dwijnand/ssh-based-repo-apis
Recover lost ssh-based repo API
2017-03-31 10:20:48 -07:00
Dale Wijnand 084c94a93c
Recover lost ssh-based repo API
Recover APIs I accidentally removed in
f2efa10af1.
2017-03-31 15:02:16 +01:00
Dale Wijnand fb049d181b
Add prefix support to Binary/Full 2017-03-31 10:48:45 +01:00
Dale Wijnand 87e8d87811
Allow for some customization in CrossVersion results
The old way to customize CrossVersion results was a `String => String`
function called 'remapVersion', removed in
301ec787f2.

That was removed because it's not possible to serialise Function1s, and
we want to serialise CrossVersion (and therefore ModuleID, etc) to be
able to transfer them in sbt server.

This commit reintroduces a less-powerful way to vary the results of
apply CrossVersion, but just providing the opportunity to define a
suffix. From looking at the users of CrossVersion (Scala.js'
sbt-scalajs-plugin & Scala Native's sbt-crossproject) this looks to be
sufficient.
2017-03-31 10:24:16 +01:00
Dale Wijnand 92cc7c4cb1
Remove some compile warnings 2017-03-31 10:19:47 +01:00
Dale Wijnand ed6b57ff38 Merge pull request #51 from jroper/resolving-debug
Log resolving messages at debug level
2017-03-10 13:48:32 +00:00
Eugene Yokota c793c33740 fix test 2017-02-15 23:41:23 -05:00
Eugene Yokota caecbbabe7 util 1.0.0-M19 2017-02-15 23:12:01 -05:00
Eugene Yokota 27397de8cf Adjust to upstream 2017-01-15 22:54:15 -05:00
Eugene Yokota 95a209b033 Apply binary version conflict check to Compile related configs
Fixes #1466 Ref #2786

Even after fixing the mediator issue, we still have spurious binary
version conflict warning that does not account for sandbox
configurations.

This change follows the scalaVersionConfigs work.
2017-01-15 20:55:02 -05:00
Eugene Yokota c12c9c6187 Apply scalaVersion enforcement to Compile related configs
Fixes #2786. Ref #2634.

sbt 0.13.12 added Ivy mediator that enforces scalaOrganization and
scalaVersion for Scala toolchain artifacts.
This turns out to be a bit too aggressive because Ivy configurations
can be used as an independent dependency graph that does not rely on
the scalaVersion used by Compile configuration. By enforcing
scalaVersion in those graph causes runtime failure.

This change checks if the configuration extends Default, Compile,
Provided, or Optional before enforcing scalaVersion.
2017-01-15 20:52:58 -05:00
eugene yokota c3f5805574 Merge pull request #72 from sbt/fport/2757
[fport] CrossVersion.patch
2017-01-15 20:51:21 -05:00
Miles Sabin f495291edd fport: CrossVersion.patch
CrossVersion.full strips off -bin-suffix.
Ref https://github.com/sbt/sbt/pull/2757
2017-01-15 07:55:40 -05:00
Eugene Yokota 5b752c8522 Adds DefaultLibraryManagement
https://github.com/sbt/sbt/pull/2780/
2017-01-15 03:00:14 -05:00
Eugene Yokota df53eefbb0 Fixes merged ModuleID dropping configuration specification
Fixes #2002/#1500

Given a dependency graph such as:

    libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
    libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
% "test" classifier "tests"

previous releases of sbt would drop the Test configuration from the
classifier "tests" artifacts, and end up including the test JARs into
the Compile configuration instead of the Test configuration, which
would result in runtime error.

This fix configures the explicit artifacts into the configuration
during merge even when it says `"*"`.
2017-01-14 07:05:52 -05:00
Eugene Yokota a87ed10dc7
Move ModuleID toString out 2017-01-05 15:42:34 +00:00
Eugene Yokota 4ca5b5ae0a
Change publicationDate to java.util.Calendar
This migrates to java.util.Calendar, which is better than
java.util.Date and is supported by sjson-new out of the box.
2017-01-05 15:42:34 +00:00
Dale Wijnand 71fddd5e3f
Upgrade from sbt/datatype to sbt/contraband 2017-01-05 15:42:29 +00:00
Dale Wijnand 946f307082
Implement JsonFormat[NodeSeq] like it was in IvyCache 2017-01-05 13:42:16 +00:00
eugene yokota b0f97eaa37 Merge pull request #64 from dwijnand/add-back-SbtExclusionRule-companion-implicit-lifts
Add back SbtExclusionRule companion implicit lifts
2016-12-31 00:26:37 -05:00
Dale Wijnand 04904ed34d
Add back SbtExclusionRule companion implicit lifts 2016-12-30 17:11:18 +00:00
Dale Wijnand 19f40a1668
Fix ConfigurationReport.toString
Move the toString implementation from ConfigurationReportExtra to inside
the ConfigurationReport JSON schema definition, that way the synthetic
toString generated by contraband doesn't override the carefully defined
one.
2016-12-28 16:15:13 +00:00
Dale Wijnand e209499544
Avoid source file path clash with generated sources 2016-12-14 10:31:11 +00:00
Dale Wijnand 1bf74ddffa
Make MavenRepository the top level class
Also reintroduce "isCache".
2016-12-06 09:48:23 +00:00
Dale Wijnand af1c19034b
Remove unused imports 2016-11-16 11:17:27 +00:00
Dale Wijnand 3192b3ee1a
Remove unused warnings 2016-11-16 11:14:42 +00:00
Dale Wijnand f6c98f69b9
Organise contraband descriptor by package name & alphabetically 2016-11-16 10:52:42 +00:00
Dale Wijnand b2b606f8aa
Actually, just kill the crazy MyCrazyReferences idea 2016-11-16 10:43:16 +00:00
Dale Wijnand 301ec787f2
Drop "serialising" Function1. It's easily fallible 2016-11-16 10:11:41 +00:00
Dale Wijnand e7ba7fa9a4
Switch to FooFunctions naming convention for contraband companion parents 2016-11-16 09:55:43 +00:00
Dale Wijnand 5475a3c01c
Switch to FooExtra naming convention for contraband parents 2016-11-16 01:41:47 +00:00
Dale Wijnand f2efa10af1
Switch to sbt-datatype, sjson-new & Vectors 2016-11-15 23:59:34 +00:00
James Roper 3cb3d8d221 Log resolving messages at debug level
For great justice.
2016-09-29 19:38:22 +10:00
Miles Sabin cee81e3bb0 Configurable explicit list of artifacts for Scala binary version check 2016-08-22 11:00:09 +01:00
Dale Wijnand 138787f55e Add Resolver.sbtIvyRepo (#49)
.. deprecate & rename SbtPluginRepositoryRoot to SbtRepositoryRoot.
2016-07-15 07:57:04 +01:00
Dale Wijnand ffcad3cdad Make CrossVersion & ModuleId more commonly equal
Two instance of functions defined in the same way don't equal themselves, but
the same instance of a function does. So by using a val idStringFun for full and
binary, and making Binary and Full case classes there are much better chances
that ModuleId's defined in the same way will be equal.
2016-07-08 03:10:37 +01:00
eugene yokota e7ca095303 Merge pull request #47 from dwijnand/cleanups
Cleanups
2016-06-21 23:20:09 +02:00
Dale Wijnand 931b7d7af5 Remove unused and unused imports
Note that the pickler/sbt-serlization macros are bringing in unused imports..
2016-06-21 16:06:40 +01:00
Dale Wijnand 9dd4014553 Give IvyPaths a nicer toString 2016-06-21 14:13:15 +01:00
eugene yokota 65a3162b43 Merge pull request #43 from Duhemm/fport/workaround-2620
FPORT: Fix for sbt/sbt#2435 and Workaround for sbt/sbt#2620
2016-06-04 12:43:34 -04:00
Miles Sabin 52867b8c95 Override scala organization and version transitively at the Ivy level 2016-06-02 22:15:06 +01:00
Martin Duhem 1756d73724 Workaround for sbt/sbt#2620 2016-05-24 17:51:24 +02:00
Martin Duhem ba274e05ac Re-enable caching and updating minigraph in cached resolution 2016-05-24 17:14:00 +02:00
Martin Duhem 92ca28e25a Use configuration of evicted nodes with cached resolution
Consider a configuration where we have two projects, A and B.

A has a library dependency on "a" % "b" % "1.0.0" % "compile->runtime"
and "a" % "b" % "1.0.0" % "compile->runtime2"

B depends on project A, and has a library dependency on
"a" % "b" % "1.0.1" % "compile->runtime".

Note that project B depends on a more recent version of "a" % "b" than
project A, and that it depends ONLY on it's "runtime" configuration.

However, when compiling project B, we expect to have on the classpath
project A, and "a" % "b" % "1.0.1" % "compile->runtime" AND
"a" % "b" % "1.0.1" % "compile->runtime2" because it is part of the
compile configuration of project A.

This commit changes the cached resolution engine so that it behaves like
that, by first resolving dependencies on other project and then ensuring
that the dependent project specifies dependencies on the same
configurations.

Mark test dependency-management/cached-resolution-configurations as
passing.
2016-05-24 17:13:45 +02:00
Eugene Yokota 87b3ca04c0 Don't depend on other projects' tests 2016-05-11 14:12:10 -04:00
ddworak a70c79a731 fix typos 2016-05-08 12:53:19 +02:00
Martin Duhem 8e333984f2 Create default artifact for deps from POM files
Dependency descriptors that are created from POM files do not specify
their artifacts. In those cases, it is correct to create a default
artifact.
2016-05-06 07:10:42 +02:00