@@ -7,6 +7,7 @@ import sbt.ScriptedPlugin.autoImport.scripted
77import sbt ._
88import sbt .plugins .SbtPlugin
99import sbtversionpolicy .SbtVersionPolicyMima
10+ import sbtversionpolicy .SbtVersionPolicyPlugin .autoImport .versionPolicyDependencySchemes
1011
1112// This is all the crazy hacks to get cross compiling working with an sub-project that is an sbt plugin.
1213object SbtPluginSubProjectPlugin extends AutoPlugin {
@@ -23,6 +24,7 @@ object SbtPluginSubProjectPlugin extends AutoPlugin {
2324 override def projectSettings : Seq [Def .Setting [_]] =
2425 List (
2526 crossScalaVersions := Nil ,
27+ mimaPreviousArtifacts := defaultIfCannotBuild(mimaPreviousArtifacts, Set .empty[ModuleID ]).value,
2628 // Remove all project dependencies for Scala 2.13 as they will not resolve when cross building.
2729 projectDependencies := taskDefaultIfSkipped(projectDependencies, Nil ).value,
2830 scripted := inputDefaultIfSkipped(scripted, ()).evaluated,
@@ -32,7 +34,10 @@ object SbtPluginSubProjectPlugin extends AutoPlugin {
3234 // Skip everything else otherwise it will just fail.
3335 skip := ! spspCanBuild.value,
3436 undeclaredCompileDependenciesFilter -= moduleFilter(),
35- mimaPreviousArtifacts := defaultIfCannotBuild(mimaPreviousArtifacts, Set .empty[ModuleID ]).value
37+ // These transitive dependencies that have been "vendored" by sbt appear as though they are
38+ // pre-release as they contain build metadata.
39+ // Trust that sbt correctly manages its own version policy in accordance with its dependencies.
40+ versionPolicyDependencySchemes += " org.scala-sbt.jline" % " *" % " always"
3641 )
3742
3843 def defaultIfCannotBuild [A ](setting : Def .Initialize [A ], default : => A ): Def .Initialize [A ] =
0 commit comments