Этот вопрос похож на Как мне получить Версия Scala из самого Scala?, за исключением того, что я хочу также поддерживать Scala.js.
Я пробовал подход util.Properties
. К сожалению, он недоступен в Scala.js:
https://scalafiddle.io/sf/dzNAhWB/0
ScalaFiddle.scala:-5: ERROR: There were linking errors
Referring to non-existent class java.util.jar.Attributes$Name
called from scala.util.Properties$.()
called from ScalaFiddle$.()
exported to JavaScript with @JSExport
Referring to non-existent method java.util.Properties.load(java.io.InputStream)scala.Unit
called from scala.util.PropertiesTrait.$$anonfun$scalaProps$1(java.util.Properties,java.io.InputStream)scala.Unit
called from scala.util.Properties$.$$anonfun$scalaProps$1(java.util.Properties,java.io.InputStream)scala.Unit
called from scala.util.PropertiesTrait.scalaProps()java.util.Properties
called from scala.util.Properties$.scalaProps$lzycompute()java.util.Properties
called from scala.util.Properties$.scalaProps()java.util.Properties
called from scala.util.PropertiesTrait.scalaPropOrNone(java.lang.String)scala.Option
called from scala.util.Properties$.scalaPropOrNone(java.lang.String)scala.Option
called from scala.util.PropertiesTrait.$$init$()scala.Unit
called from scala.util.Properties$.()
called from ScalaFiddle$.()
exported to JavaScript with @JSExport
involving instantiated classes:
scala.util.Properties$
Referring to non-existent method java.lang.Class.getResourceAsStream(java.lang.String)java.io.InputStream
called from scala.util.PropertiesTrait.scalaProps()java.util.Properties
called from scala.util.Properties$.scalaProps$lzycompute()java.util.Properties
called from scala.util.Properties$.scalaProps()java.util.Properties
called from scala.util.PropertiesTrait.scalaPropOrNone(java.lang.String)scala.Option
called from scala.util.Properties$.scalaPropOrNone(java.lang.String)scala.Option
called from scala.util.PropertiesTrait.$$init$()scala.Unit
called from scala.util.Properties$.()
called from ScalaFiddle$.()
exported to JavaScript with @JSExport
involving instantiated classes:
scala.util.Properties$
Referring to non-existent method java.util.jar.Attributes$Name.(java.lang.String)
called from scala.util.Properties$.()
called from ScalaFiddle$.()
exported to JavaScript with @JSExport
Итак, как определить версию Scala во время выполнения для всех бэкэндов Scala?