-
Notifications
You must be signed in to change notification settings - Fork 397
Description
Was: Proposal: Make __ScalaJSEnv.javaSystemProperties the responsibility of the JSEnv (changed after #3295 (comment))
Currently we fully manage Java System Property injection in the sbt plugin. As a result, we need to understand details about the underlying module structure.
Further, note that many JSEnv
s further inject information into __ScalaJSEnv
(source mapper, exit function). I propose that we make __ScalaJSEnv
generation and injection fully the responsibility of a JSEnv
by adding javaSystemProperties: Map[String, String]
(additionalJavaSystemProperties
?) to the RunConfig
(after #3255).
As a result
__ScalaJSEnv
becomes the sole responsibility of theJSEnv
and hence can be better isolated.- The sbt plugin does not need to know about module loading details anymore.
JSEnv
s can easily add information about themselves tojavaSystemProperties
if they so desire.
This, together with #3294 would allow us to remove jsExecutionFiles
and call it jsInput
. As a result, our core supporting infrastructure would be completely agnostic of the JS module type.