Commit Graph

94 Commits

Author SHA1 Message Date
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
Alexandre Archambault 1499a15730
Ensure we write api URL info in ivy.xml (#66) 2019-05-13 23:48:22 +02:00
Alexandre Archambault 5739ea7b60 Have sbt-lm-coursier rely on lm-coursier-shaded by default 2019-04-26 10:20:59 +02:00
Alexandre Archambault 3f6c4c3831 Remove last references to coursier modules in sbt-coursier-shared 2019-04-26 10:20:59 +02:00
Alexandre Archambault 16bf1570ad Rely on allExcludeDependencies when it's there
It excludes sbt itself in meta-builds in particular, see https://github.com/coursier/coursier/issues/1128
2019-04-26 10:20:59 +02:00
Alexandre Archambault 6bdd0f985a Vendor more stuff in lmcoursier, shade coursier in it
Along with shapeless, argonaut, argonaut-shapeless that coursier depends
on now.
2019-04-25 16:34:08 +02:00
Alexandre Archambault d6858b4857 Make most things private in lm-coursier
And as much as possible, have sbt-coursier-shared and sbt-lm-coursier
use as few as possible things from coursier itself and lm-coursier.
2019-04-25 16:34:08 +02:00
Alexandre Archambault 736d5c11c5
Switch to coursier 1.1.0-M14-2 (#60) 2019-04-25 15:35:38 +02:00
Alexandre Archambault ed38df56f5 Remove unnecessary setting 2019-04-04 18:43:50 +02:00
Alexandre Archambault 73c5d9737d Handle credentials key from global settings 2019-04-04 18:43:50 +02:00
Alexandre Archambault 2c6a6503f1 Add back former coursierCredentials key
Not to break compatibility with former plugins
2019-04-04 18:43:50 +02:00
Alexandre Archambault 973cce68ad Rework / simplify credentials handling 2019-04-04 18:43:50 +02:00
Alexandre Archambault 84d8d7ac38 Switch to coursier 1.1.0-M14 2019-04-04 18:43:50 +02:00
Eric Peters 33aa61e8eb Parse Ivy-compatible RawRepository resolvers (#49) 2019-03-22 11:07:35 +01:00
Alexandre Archambault b8befa4ec7
Tweak global plugins handling (#47)
Seems the changes of
3eb210eb1b
were missing bits to handle the configurations of the global-plugins
project.
2019-03-15 19:02:44 +01:00
Alexandre Archambault 1c28e8fb6b
Switch to coursier 1.1.0-M13-1 (#45) 2019-03-07 15:35:35 +01:00
Alexandre Archambault def85e3ddc Add sbt-dotty test
And take scalaModuleInfo.overrideScalaVersion into account.
Also requires the loosened cross version application of the previous
commit.
2019-03-06 11:39:53 +01:00
Alexandre Archambault dbcbad7e2b Switch to coursier 1.1.0-M13 2019-03-06 10:59:35 +01:00
Alexandre Archambault 22e194db90 Temporary workaround for coursier-based sbt launcher
Seems reload reloads sbt from the same classloader, which leaves the in
memory cache as is. When update is called, things are then picked from
the cache, and nothing gets logged, which makes the test fail.
2019-03-06 10:59:35 +01:00
Alexandre Archambault d852209172 Tweak tests
Most of those adjustments are required when using the coursier-based sbt
launcher.
2019-03-04 12:19:52 +01:00
Alexandre Archambault 9bd17e0fdd Switch to coursier 1.1.0-M12, use high level API 2019-02-26 13:37:30 +01:00
Alexandre Archambault 8e4fb146d8 Unused import 2019-02-18 14:03:54 +01:00
Alexandre Archambault 3eb210eb1b Less flaky handling of special project org.scala-sbt:global-plugins 2019-02-18 14:03:54 +01:00
Alexandre Archambault 7c5b8479ea Adjust dependency graph printing 2019-02-13 10:04:54 +01:00