Wenn ich vertrieben werde, wird regelmäßig sbt-Artefakt heruntergeladen (obwohl Coursier sie bereits heruntergeladen hat).
Sieht so aus, als müsste dieser auch überschrieben werden ...
Um dies zu implementieren, sollte es im Grunde "nur" darum gehen, eine Implementierung für die evicted
-Aufgabe von sbt hinzuzufügen ( hier wird eine neue Methode in Tasks.scala
oder eine neue Evicted.scala
aufgerufen Datei, sagen wir).
Diese Aufgabe sollte sich auf den Wert des Schlüssels coursierResolutions
stützen. Das entsprechende Resolution
kennt das gesamte Abhängigkeitsdiagramm ( dependencies
listet ... die Abhängigkeiten auf, rootDependencies
die Root-Abhängigkeiten, finalDependencies
gibt die Abhängigkeiten eines Moduls an - Das Abhängigkeitsdiagramm kann mit diesen Methoden durchlaufen werden. Räumungsversionen können auf diese Weise identifiziert werden.
Schließen Sie dies. evicted
sollte gut funktionieren mit sbt-lm-coursier
( addSbtPlugin("io.get-coursier" % "sbt-lm-coursier" % "2.0.0-RC3-1")
), das durch sbt-coursier
. Es sollte auch in den kommenden Versionen von sbt 1.3 ( > 1.3.0-RC3
) funktionieren.
Hilfreichster Kommentar
Um dies zu implementieren, sollte es im Grunde "nur" darum gehen, eine Implementierung für die
evicted
-Aufgabe von sbt hinzuzufügen ( hier wird eine neue Methode inTasks.scala
oder eine neueEvicted.scala
aufgerufen Datei, sagen wir).Diese Aufgabe sollte sich auf den Wert des Schlüssels
coursierResolutions
stützen. Das entsprechendeResolution
kennt das gesamte Abhängigkeitsdiagramm (dependencies
listet ... die Abhängigkeiten auf,rootDependencies
die Root-Abhängigkeiten,finalDependencies
gibt die Abhängigkeiten eines Moduls an - Das Abhängigkeitsdiagramm kann mit diesen Methoden durchlaufen werden. Räumungsversionen können auf diese Weise identifiziert werden.