Commit Graph

117 Commits

Author SHA1 Message Date
Alexandre Archambault 09edac2f10 Stop running neo-sbt-scalafmt test with sbt-coursier
Having issues running it on Linux on the CI. It seems it runs fine on
sbt-lm-coursier (all OSes), or on Windows (CI) or macOS (local machine).

Hope it's not a sign of a more serious problem…
2021-12-15 00:25:23 +01:00
Guillaume Massé 92e40c2225
Add support for custom protocols (#327)
* Add configuration to fetch custom protcol handlers

* Tweak things

Co-authored-by: Alexandre Archambault <alexandre.archambault@gmail.com>
2021-11-23 21:14:52 +01:00
João Ferreira d8f97c306b
testing SbtCoursierCache leak (#317) 2021-02-15 16:35:18 +01:00
Alexandre Archambault 29d957604e Make dependency-graph scripted test Windows-proof 2020-09-15 11:36: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 f5f3fd12f8 Refacto 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 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 cc9d567917
Pass some missing strict parameters to coursier (#244) 2020-05-29 18:49:12 +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 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 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 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
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
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
Alexandre Archambault b27615cf25
Switch to coursier 2.0.0-RC4 (#148) 2019-10-14 13:52:32 +02:00
Alexandre Archambault 737a767516
Only take inter projects into account in compile config (#136) 2019-09-13 18:05:46 +02:00
Alexandre Archambault 9a1e1d0f89
Add semver reconciliation test (#131) 2019-09-11 13:41:51 +02:00
Alexandre Archambault 064978ac42 Enable extra strict conflict manager test 2019-08-14 17:28:30 +02:00
Alexandre Archambault 59ec5d2b95 Add strict reconciliation, and versionReconciliation key 2019-08-14 17:28:30 +02:00
Alexandre Archambault ecba0288a6 Switch to coursier 2.0.0-RC3-3 2019-08-14 17:28:22 +02:00
Alexandre Archambault ab55269e63
Fix 2.0.0-RC3 regression (#113)
Disable classpath ordering of JARs for now

New coursier 2.0.0-RC3 feature, maybe enabled too early here.
2019-08-05 16:03:09 +02:00
Alexandre Archambault aa53418218
Switch to coursier 2.0.0-RC3-1 (#108) 2019-08-03 17:25:30 +02:00
Alexandre Archambault 4a27bd42bc
Fix NoSuchMethodError when using coursier-based sbt launcher (#104) 2019-07-26 15:36:50 +02:00
Alexandre Archambault df3d5c627a
Migrate most scripted tests away from scala 2.11 (#107)
So that they can run with openjdk11 too
2019-07-26 12:07:11 +02:00
Alexandre Archambault e39b9cf55c
Take dependencyOverrides into account in sbt-lm-coursier (#106) 2019-07-23 20:26:00 +02:00
Alexandre Archambault 759d0bff9a
Discard inter-projects when they aren't needed (#101)
Useful in the dotty build in particular
2019-07-11 20:24:06 +02:00
Alexandre Archambault d223389637 Take conflictManager setting into account
Only latest-revision (default) and strict are supported for now.
2019-07-08 17:31:36 +02:00
Alexandre Archambault 3a69ac7466
Switch to coursier 2.0.0-RC2-4 (#93) 2019-06-27 14:20:33 +02:00
Alexandre Archambault 6be594e52e
Take explicit artifact name and extension into account (#86) 2019-06-26 11:40:39 +02:00
Alexandre Archambault dcc7d87503
Follow http to https redirections by default (#85) 2019-06-21 17:13:32 +02:00
Alexandre Archambault 8185c94b1c Add evicted stuff to update report
Should make evicted work fine from sbt-lm-coursier and sbt itself
2019-06-19 17:16:09 +02:00
Daniel Capo Sobral bc38ddc252 Log output of dependency information tasks instead of printing (#82)
This allows use of "last-grep" to filter the output.

Fixes https://github.com/coursier/coursier/issues/1191
2019-06-13 00:58:35 +02:00
Alexandre Archambault bed2d2dd28
Easier bin compat for stuff under lmcoursier.definitions (#73) 2019-05-28 12:48:16 +02:00
Alexandre Archambault 4f41e866fd Missing item in cache key? 2019-05-27 14:47:09 +02:00
Alexandre Archambault 5436809323 Take ivyPaths into account 2019-05-23 10:50:55 +02:00
eugene yokota 745894efc5 Handle whitespace in file resolver path (#68)
Fixes https://github.com/coursier/coursier/issues/1175
2019-05-21 10:03:27 +02:00