sbt scripted plugin fails as an unresolved dependency on publishing cross-compiled scala versions

422 views Asked by At

Our play-googleauth library is built on Scala 2.12, and cross-compiled to Scala 2.11, using sbt 1.1.6. As the library is intended to be run in Play projects, we've historically provided an example standalone Playframework project that uses the library, so that users can see how to set it up.

I recently added the sbt plugin scripted to the project, so that by running the sbt command scripted we could check the example project works correctly. However, I now find that our release process fails:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scala-sbt#scripted-sbt_2.11;1.1.6: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scala-sbt:scripted-sbt_2.11:1.1.6 ((sbt.ScriptedPlugin.projectSettings) ScriptedPlugin.scala#L43)
[warn]        +- com.gu:play-googleauth_2.11:0.7.7-SNAPSHOT

If you clone the repo and checkout the scripted-plugin-fails-to-resolve tag you can reproduce this by running sbt +publishLocal.

What's going wrong here? Is the problem that scripted is intended for development of sbt plugins rather that Scala libraries (if so, is there a good alternative)? I know that scripted is used in Play 2.6, which cross compiles to both Scala 2.12 & 2.11.

1

There are 1 answers

1
Mario Galic On BEST ANSWER

Maven Central indicates scripted-plugin 1.1.6 is not published for 2.11.

Play 2.6 uses SBT 0.13.17 and so fetches scripted-plugin 0.13.17