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.
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.
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.
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>
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.
* 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>