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
Alexandre Archambault
ce2544d776
Use data-class in lm-coursier ( #152 )
2019-10-18 13:39:03 +02:00
Brice Jaglin
0b193815c8
Switch to coursier-2.0.0-RC4-1 ( #151 )
2019-10-18 11:50:52 +02: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
43d24c9609
Remove unused methods in lmcoursier.credentials ( #123 )
2019-08-15 17:33:52 +02:00
Alexandre Archambault
f97b0860d3
Less verbose output during shading
2019-08-14 17:28:30 +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
eugene yokota
ebe96c613f
Include reconciliation to CoursierConfiguration ( #112 )
...
Also re-enable sbt-contraband, and deal with Dependency change.
2019-08-09 11:55:57 +02:00
Alexandre Archambault
63ddd4c616
Switch to coursier 2.0.0-RC3-2 ( #116 )
2019-08-06 17:02:57 +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
0400b537f4
Use jarjar library from pants (WIP) ( #102 )
...
Seems more maintained than https://github.com/shevek/jarjar
2019-07-12 10:03:59 +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
50c69c3634
Fix mima checks
2019-07-02 14:01:08 +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
6185d646af
Temporary workaround
...
Until we bump the coursier version again
2019-06-21 13:44:10 +02:00