File tree Expand file tree Collapse file tree 5 files changed +20
-11
lines changed
linker/shared/src/main/scala/org/scalajs/linker/backend/emitter Expand file tree Collapse file tree 5 files changed +20
-11
lines changed Original file line number Diff line number Diff line change @@ -130,13 +130,7 @@ private[emitter] object CoreJSLibs {
130
130
private class ScalaJSEnvVirtualJSFile (override val content : String ) extends VirtualJSFile {
131
131
override def path : String = " scalajsenv.js"
132
132
override def version : Option [String ] = Some (" " )
133
-
134
- override def toURI : URI = {
135
- if (! ScalaJSVersions .currentIsSnapshot)
136
- gitHubBaseURI.resolve(s " v ${ScalaJSVersions .current}/tools/ $path" )
137
- else
138
- super .toURI
139
- }
133
+ override def toURI : URI = ScalaJSEnvHolder .sourceMapPath
140
134
}
141
135
142
136
}
Original file line number Diff line number Diff line change @@ -675,7 +675,7 @@ object Build {
675
675
676
676
sourceGenerators in Compile += Def .task {
677
677
ScalaJSEnvGenerator .generateEnvHolder(
678
- baseDirectory.value.getParentFile ,
678
+ ( baseDirectory in LocalProject ( " scalajs " )) .value,
679
679
(sourceManaged in Compile ).value)
680
680
}.taskValue,
681
681
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ sources in Compile +=
33
33
34
34
sourceGenerators in Compile += Def .task {
35
35
build.ScalaJSEnvGenerator .generateEnvHolder(
36
- baseDirectory.value.getParentFile / " linker " ,
36
+ baseDirectory.value.getParentFile,
37
37
(sourceManaged in Compile ).value)
38
38
}.taskValue
39
39
Original file line number Diff line number Diff line change @@ -2,15 +2,26 @@ package build
2
2
3
3
import sbt ._
4
4
5
+ import org .scalajs .ir .ScalaJSVersions
6
+
5
7
object ScalaJSEnvGenerator {
6
8
9
+ private final val relPath = " linker/scalajsenv.js"
10
+
7
11
/** Generate a *.scala file that contains the scalajsenv as literal string
8
12
*
9
13
* We need this so the tools don't rely on I/O and/or resources.
10
14
*/
11
- def generateEnvHolder (baseDir : File , sourceDir : File ): Seq [File ] = {
15
+ def generateEnvHolder (projectRoot : File , sourceDir : File ): Seq [File ] = {
12
16
val trg = sourceDir / " ScalaJSEnvHolder.scala"
13
- val env = baseDir / " scalajsenv.js"
17
+ val env = projectRoot / relPath
18
+
19
+ val sourceMapPath = {
20
+ if (! ScalaJSVersions .currentIsSnapshot)
21
+ s " https://raw.githubusercontent.com/scala-js/scala-js/v ${ScalaJSVersions .current}/ $relPath"
22
+ else
23
+ env.getAbsolutePath
24
+ }
14
25
15
26
if (! trg.exists() || trg.lastModified() < env.lastModified()) {
16
27
val scalajsenv = IO .read(env).replaceAllLiterally(" $" , " $$" )
@@ -19,8 +30,11 @@ object ScalaJSEnvGenerator {
19
30
s """
20
31
package org.scalajs.linker.backend.emitter
21
32
33
+ import java.net.URI
34
+
22
35
private[emitter] object ScalaJSEnvHolder {
23
36
final val scalajsenv = raw\"\"\" $scalajsenv\"\"\"
37
+ final val sourceMapPath = new URI(" $sourceMapPath")
24
38
}
25
39
"""
26
40
Original file line number Diff line number Diff line change
1
+ sources in Compile += baseDirectory.value / " ../../ir/src/main/scala/org/scalajs/ir/ScalaJSVersions.scala"
You can’t perform that action at this time.
0 commit comments