Error publishing module with managed sources
While trying to publish a new project with managed sources I hit the following error:
[error] java.util.NoSuchElementException: None.get
[error] at scala.None$.get(Option.scala:529)
[error] at scala.None$.get(Option.scala:527)
[error] at org.typelevel.sbt.TypelevelSettingsPlugin$.$anonfun$perConfigSettings$5(TypelevelSettingsPlugin.scala:281)
[error] at scala.collection.immutable.List.map(List.scala:293)
[error] at org.typelevel.sbt.TypelevelSettingsPlugin$.$anonfun$perConfigSettings$4(TypelevelSettingsPlugin.scala:281)
...
(parse / Compile / packageSrc / mappings) java.util.NoSuchElementException: None.get
That's the .get here: https://github.com/typelevel/sbt-typelevel/blob/v0.5.0-M5/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala#L281
And show parse / Compile / packageSrc / mappings in sbt yields the following files (paths slightly modified to remove extra details)
sequoia/modules/parse/src/main/scala/io/pig/sequoia/ParseBuddy.scala,io/pig/sequoia/ParseBuddy.scala
sequoia/modules/parse/src/main/scala/io/pig/sequoia/AntlrUtils.scala,io/pig/sequoia/AntlrUtils.scala
sequoia/modules/parse/src/main/scala/io/pig/sequoia/AstBuilder.scala,io/pig/sequoia/AstBuilder.scala
sequoia/modules/parse/target/scala-2.13/src_managed/main/antlr4/io/pig/sequoia/SqlBaseVisitor.java,antlr4/io/pig/sequoia/SqlBaseVisitor.java
sequoia/modules/parse/target/scala-2.13/src_managed/main/antlr4/io/pig/sequoia/SqlBaseParser.java,antlr4/io/pig/sequoia/SqlBaseParser.java
sequoia/modules/parse/target/scala-2.13/src_managed/main/antlr4/io/pig/sequoia/SqlBaseLexer.java,antlr4/io/pig/sequoia/SqlBaseLexer.java
sequoia/modules/parse/target/scala-2.13/src_managed/main/antlr4/io/pig/sequoia/SqlBaseBaseVisitor.java,antlr4/io/pig/sequoia/SqlBaseBaseVisitor.java
Seems like it might be an sbt bug when changing Scala versions in the build.
sbt:root> show parse/scalaVersion
[info] 2.13.8
sbt:root> show parse/managedSources
[info] * /workspace/sequoia/modules/parse/target/scala-3.2.0/src_managed/main/antlr4/io/pig/sequoia/SqlBaseLexer.java
[info] * /workspace/sequoia/modules/parse/target/scala-3.2.0/src_managed/main/antlr4/io/pig/sequoia/SqlBaseParser.java
[info] * /workspace/sequoia/modules/parse/target/scala-3.2.0/src_managed/main/antlr4/io/pig/sequoia/SqlBaseVisitor.java
[info] * /workspace/sequoia/modules/parse/target/scala-3.2.0/src_managed/main/antlr4/io/pig/sequoia/SqlBaseBaseVisitor.java
[success] Total time: 0 s, completed Sep 19, 2022, 1:38:31 AM
sbt:root>
Or actually an issue with the anltr plugin. https://github.com/ihji/sbt-antlr4/
As discussed on discord, it's likely the caching in the sbt antlr plug-in.
We could likely have a better error message here though. I can tackle that.