Commit Graph

166 Commits

Author SHA1 Message Date
Alexandre Archambault f8c75d7033 Address deprecation warning 2020-09-15 11:36:11 +02:00
Alexandre Archambault 90f44bc5cc Deprecated temporary helper 2020-09-15 11:36:11 +02:00
Alexandre Archambault 29d957604e Make dependency-graph scripted test Windows-proof 2020-09-15 11:36:11 +02:00
Alexandre Archambault cc0643e71b
Remove sbt-pgp-coursier (#269) 2020-09-14 14:13:11 +02:00
eugene yokota 02016e9f21
Fix Provided configuration handling (#262)
* Reproduce Provided issue

Ref https://github.com/coursier/coursier/issues/1813

* Revert "Fix provided scope handling"

Ref https://github.com/coursier/sbt-coursier/pull/239

This reverts commit c5ab3a8047ab587ac741b3fedcd217624756d619 except for the scripted test.

* Restore CoursierConfiguration#provdedInCompile for bincompat
2020-07-31 16:26:05 +02:00
Alexandre Archambault 66f98e89ea Enable test 2020-06-26 14:15:30 +02:00
Alexandre Archambault e248a43f32 Take into account UpdateConfiguration passed to DependencyResolution 2020-06-26 14:15:30 +02:00
Alexandre Archambault 315a4bb4c0 Fix
Trapped errors?
2020-06-26 13:25:36 +02:00
Alexandre Archambault f5f3fd12f8 Refacto 2020-06-26 13:25:05 +02:00
Alexandre Archambault e601f843e5 Allow several resolutions to run at a time with fallback logger 2020-06-26 13:25:05 +02:00
Øyvind Raddum Berg 5f595b23a4 Reuse thread pool from `FileCache` 2020-06-26 13:25:05 +02:00
Alexandre Archambault 84a14e7855 Don't report evictions about modules in dependencyOverrides 2020-06-02 16:15:22 +02:00
Alexandre Archambault bc059d1bc6 Remove unused parameter and default values 2020-06-02 15:59:17 +02:00
Alexandre Archambault 158ede9ab1 nit 2020-06-02 15:59:15 +02:00
Alexandre Archambault bfa847de28 Uncomment evicted test 2020-06-02 15:59:15 +02:00
Alexandre Archambault 5e519e22e0
Add override element in ivy.xml (#247)
Note that it's not read by coursier later on though…
2020-06-02 13:30:02 +02:00
Alexandre Archambault 677725dc3f
Merge pull request #243 from alexarchambault/develop
Minor tweaking
2020-05-29 19:44:42 +02:00
Alexandre Archambault cc9d567917
Pass some missing strict parameters to coursier (#244) 2020-05-29 18:49:12 +02:00
Alexandre Archambault caa1123c1f Set csrConfiguration too, in sbt-lm-coursier
sbt-lm-coursier uses its own coursierConfiguration, rather than
csrConfiguration from sbt. Setting the latter just-in-case some other
plugin, or users, rely on csrConfiguration.
2020-05-29 15:55:21 +02:00
Alexandre Archambault d8ea3b91d5 Add helper method 2020-05-29 15:55:21 +02:00
Alexandre Archambault 031648a1d7
Fix provided scope handling (#239)
It was resolved independently of compile since we run resolutions for
each configuration. It couldn't bump versions in compile because of that
in particular.
2020-05-22 01:56:17 +02:00
Alexandre Archambault 33cfaf3df6 Address compilation warnings 2020-05-19 15:58:31 +02:00
Alexandre Archambault c82ab8850d Remove former shading plugin related code
Which is now unused.
2020-05-19 15:58:31 +02:00
Alexandre Archambault 2c2c98669d Clean-up scripted test 2020-05-19 14:23:48 +02:00
Alexandre Archambault 123f40723d Clean-up scripted test
Actually unused file
2020-05-19 14:23:48 +02:00
Alexandre Archambault 8aa40d1f21 Move ivy.xml generation stuff to lm-coursier
So that it can be re-used from sbt
2020-05-19 14:23:48 +02:00
Alexandre Archambault 6cebc8fe7a Keep global exclusions as such in generated ivy.xml 2020-05-19 14:23:48 +02:00
Alexandre Archambault 3d374247ca Rely on coursier.Resolve to handle exclusions
It applies it to root dependencies too, in particular.
2020-05-19 14:23:48 +02:00
Alexandre Archambault fa72797823 Clean-up scripted test 2020-05-19 14:23:48 +02:00
Alexandre Archambault 808f9a0d0f Tweak updateSbtClassifiers handling in sbt-coursier
Running one resolution per config messed things up a bit…
2020-05-19 14:23:48 +02:00
Alexandre Archambault 3cd521c43c Run resolution for each configuration
Rather than for each configuration sub-graph. This runs a resolution for
Compile, one for Runtime, one for Test, etc. rather than one for all 3
of them, for example.

We re-use the Resolution instance from the first extended configuration,
so that the performance penalty is really low.
2020-05-19 14:23:48 +02:00
Alexandre Archambault ca0d5eaa3c Set dependencyResolution in scalaCompilerBridgeScope too 2020-05-15 12:20:43 +02:00
Alexandre Archambault 907d26865a Set missingOk if sbtClassifiers is true
Seems sbt doesn't do it by default
2020-05-15 12:20:43 +02:00
OlegYch 66711aa796 Add updateSbtClassifiers test 2020-05-15 12:20:43 +02:00
Alexandre Archambault 0ce27bde9e Pass sbtClassifiers around
Mostly for printed messages, and for missingOk in a subsequent commit
2020-05-15 12:20:26 +02:00
Alexandre Archambault aefefb4634 Mark artifacts as optional if missingOk is true 2020-05-15 12:20:26 +02:00
Alexandre Archambault 55a0e79239 Remove some duplicate input prior to resolution 2020-05-15 11:49:07 +02:00
Alexandre Archambault 597a4c014a Get dependency / artifact matching straight from coursier
Rather than matching them after-the-fact in a fragile way.
2020-05-15 11:49:07 +02:00
Alexandre Archambault 9694d32083 Remove sbt-shading sources
It now lives at https://github.com/coursier/sbt-shading.
2020-05-12 01:00:09 +02:00
Alexandre Archambault 33af97d81e
Warn if legacy cache location ~/.coursier/cache is found (#222) 2020-05-05 19:59:59 +02:00
eugene yokota 0047a9803b
Implement missingOk (#212)
Ref https://github.com/coursier/coursier/issues/1541
Ref https://github.com/sbt/sbt/issues/4707

This adds `missingOk` setting to `CoursierConfiguration`, forwarding the `missingOk` setting in `UpdateConfiguration` from LM API. lmcoursier _not_ respecting this setting is causing various issues on sbt side since the expected behavior of some plugins (including IntelliJ import feature) is that the source JARs missing would not fail the entire operation.
Ideally we should return a partially resolved graph (for example if one out of 20 depdencies are missing source JARs it's still useful), but for now I'm going to return an empty `UpdateReport`.

Co-authored-by: Alexandre Archambault <alexandre.archambault@gmail.com>
2020-05-05 17:35:12 +02:00
Alexandre Archambault f37dd6af0f Support missing coursier.core.Authentication fields 2020-05-03 18:14:32 +02:00
richardgilmore e2876fb23e Allow authenticating via custom HTTP headers 2020-05-03 18:14:28 +02:00
Stephane Landelle b643112c2a
Merge transitive and direct reverse dependencies, close sbt/stb#5484 (#209)
Motivation:

Direct reverse dependencies Map is added into the transitive reverse dependencies Map, so any dependency existing in both Maps loses transitive callers.

This behavior is not consistent with the ivy based lm and is not desirable: the goal is to have the complete callers tree.

Modification:

Merge the 2 maps instead of adding and lose values for conflicting keys.

Result:

Transitive callers are not lost when dependency is also pulled directly.
2020-03-31 15:35:50 +02:00
Cyrille Chépélov 29208b66b9
expose ttl, verbosityLevel, checksums, cachePolicies to SBT (#205) 2020-03-16 12:23:33 +01:00
Dale Wijnand 6157bff6d7
Minor cleanups in SbtUpdateReport (#189)
Use Seq.unapplySeq over .size/.head.  Drop now unnecessary toVector's.
2020-02-06 20:18:06 +01:00
Dale Wijnand 0849574331
Forward classpathOrder into SbtUpdateReport (#187)
* Add a scripted test for "cp order"

* Forward classpathOrder into SbtUpdateReport

* Bump the target sbt version to 1.2.8

* Preserve order all through SbtUpdateReport.moduleReports

* Update scala-jars scripted test

Seems some changes in the way sbt handles the scala-library / reflect /
compiler JARs made it stale…

Co-authored-by: Alexandre Archambault <alexarchambault@users.noreply.github.com>
2020-02-05 19:10:28 +01:00
Dale Wijnand 5bd2db84ee Enable classpath ordering (w/ disable option) (#174) 2020-01-07 22:18:59 +01:00
eugene yokota 44de26435f make scala-tool an exception not the rule (#158)
Fixes https://github.com/coursier/coursier/issues/1442
Fixes https://github.com/coursier/coursier/issues/1340
Ref https://github.com/coursier/sbt-coursier/pull/136

This treats `ScalaTool` (and only `ScalaTool`) as a sandbox configuration isolated from other subprojects. Likely this behavior is needed only for `ScalaTool` configuration where the scala-xml build's `ScalaTool` configuration transitively loops back to scala-xml's `Compile` artifacts. In most other cases, it's desirable to allow "x->compile" relationship.
2019-11-22 18:19:18 +01:00
eugene yokota dc5b9ecd12 Fix UpdateReport to be compatible with dependency-graph (#156)
Fixes https://github.com/coursier/coursier/issues/1375
Ref https://github.com/sbt/sbt/issues/4706 / https://github.com/sbt/sbt/issues/4688
Ref https://github.com/jrudolph/sbt-dependency-graph/issues/178

Currently the UpdateReport returned by Coursier is missing callers from the direct dependencies. This is evident from the fact that `thisModule`'s information is not passed. Another missing information in the UpdateReport is ModuleReport that originates from subproject dependencies (aka inter-project dependencies). These two missing info result in broken rendering for sbt-dependency-graph.

This commit attemps to fix them by passing them through to SbtUpdateReport. See the scripted test for confirmation.
2019-11-21 01:13:53 +01:00