sbt-typelevel icon indicating copy to clipboard operation
sbt-typelevel copied to clipboard

Error publishing module with managed sources

Open valencik opened this issue 3 years ago • 3 comments

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

(Full GH Actions CI run here)

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

valencik avatar Sep 19 '22 01:09 valencik

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> 

armanbilge avatar Sep 19 '22 01:09 armanbilge

Or actually an issue with the anltr plugin. https://github.com/ihji/sbt-antlr4/

armanbilge avatar Sep 19 '22 01:09 armanbilge

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.

valencik avatar Sep 19 '22 02:09 valencik