Skip to content

Commit 6284e86

Browse files
committed
Decouple Scala.js jses. Move contributors to be independent asset/
1 parent 5d96a3b commit 6284e86

35 files changed

+89
-46
lines changed

build.sbt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ val `tasty-core-bootstrapped` = Build.`tasty-core-bootstrapped`
2020
val `tasty-core-scala2` = Build.`tasty-core-scala2`
2121
val scaladoc = Build.scaladoc
2222
val `scaladoc-testcases` = Build.`scaladoc-testcases`
23-
val `scaladoc-js` = Build.`scaladoc-js`
23+
val `scaladoc-js-common` = Build.`scaladoc-js-common`
24+
val `scaladoc-js-main` = Build.`scaladoc-js-main`
25+
val `scaladoc-js-markdown` = Build.`scaladoc-js-markdown`
26+
val `scaladoc-js-contributors` = Build.`scaladoc-js-contributors`
2427
val `scala3-bench-run` = Build.`scala3-bench-run`
2528
val dist = Build.dist
2629
val `community-build` = Build.`community-build`

docs/_layouts/main.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
22
layout: base
3+
extraJS:
4+
- js/contributors.js
5+
extraCSS:
6+
- css/content-contributors.css
37
---
48
<div id="content-wrapper">
5-
{% if page.movedTo %}
6-
<aside class="warning">
7-
The content of this page is outdated. Click <a href="{{ page.movedTo }}">here</a> to find the up to date version of this page.
8-
</aside>
9-
{% endif %}
109
{{ content }}
1110
</div>
1211
<script>

docs/_layouts/static-site-main.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<nav class="navigation" role="menu">
88
<ul class="navigation-menu">
99
<li class="navigation-menu-item">
10-
<a href="/" class="active">Documentation</a>
10+
<a href="https://docs.scala-lang.org/" class="active">Documentation</a>
1111
</li>
1212
<li class="navigation-menu-item">
1313
<a href="https://www.scala-lang.org/download/">Download</a>
@@ -28,6 +28,11 @@
2828
</nav>
2929
</div>
3030
</div>
31+
{% if page.movedTo %}
32+
<aside class="warning">
33+
The content of this page is outdated. Click <a href="{{ page.movedTo }}">here</a> to find the up to date version of this page.
34+
</aside>
35+
{% endif %}
3136
{{ content }}
3237
<nav class="arrows-wrapper" aria-label="Page navigation">
3338
{% if page.previous %}

project/Build.scala

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,16 +1256,31 @@ object Build {
12561256
lazy val `scaladoc-testcases` = project.in(file("scaladoc-testcases")).
12571257
dependsOn(`scala3-compiler-bootstrapped`).
12581258
settings(commonBootstrappedSettings)
1259-
lazy val `scaladoc-js` = project.in(file("scaladoc-js")).
1259+
1260+
lazy val `scaladoc-js-common` = project.in(file("scaladoc-js/common")).
12601261
enablePlugins(DottyJSPlugin).
12611262
dependsOn(`scala3-library-bootstrappedJS`).
12621263
settings(
1263-
Compile / scalaJSMainModuleInitializer := (sys.env.get("scaladoc.projectFormat") match {
1264-
case Some("md") => Some(ModuleInitializer.mainMethod("dotty.tools.scaladoc.Main", "markdownMain"))
1265-
case _ => Some(ModuleInitializer.mainMethod("dotty.tools.scaladoc.Main", "main"))
1266-
}),
12671264
Test / fork := false,
1268-
Compile / scalaJSUseMainModuleInitializer := true,
1265+
libraryDependencies += ("org.scala-js" %%% "scalajs-dom" % "1.1.0").cross(CrossVersion.for3Use2_13)
1266+
)
1267+
1268+
lazy val `scaladoc-js-main` = project.in(file("scaladoc-js/main")).
1269+
enablePlugins(DottyJSPlugin).
1270+
dependsOn(`scaladoc-js-common`).
1271+
settings(scalaJSUseMainModuleInitializer := true)
1272+
1273+
lazy val `scaladoc-js-markdown` = project.in(file("scaladoc-js/markdown")).
1274+
enablePlugins(DottyJSPlugin).
1275+
dependsOn(`scaladoc-js-common`).
1276+
settings(scalaJSUseMainModuleInitializer := true)
1277+
1278+
lazy val `scaladoc-js-contributors` = project.in(file("scaladoc-js/contributors")).
1279+
enablePlugins(DottyJSPlugin).
1280+
dependsOn(`scala3-library-bootstrappedJS`).
1281+
settings(
1282+
Test / fork := false,
1283+
scalaJSUseMainModuleInitializer := true,
12691284
libraryDependencies += ("org.scala-js" %%% "scalajs-dom" % "1.1.0").cross(CrossVersion.for3Use2_13)
12701285
)
12711286

@@ -1320,14 +1335,30 @@ object Build {
13201335
).
13211336
settings(
13221337
Compile / resourceGenerators += Def.task {
1323-
val jsDestinationFile = (Compile / resourceManaged).value / "dotty_res" / "scripts" / "scaladoc-scalajs.js"
1324-
sbt.IO.copyFile((`scaladoc-js` / Compile / fullOptJS).value.data, jsDestinationFile)
1325-
Seq(jsDestinationFile)
1338+
val contributorsFile = (`scaladoc-js-contributors` / Compile / fullOptJS).value.data
1339+
val contributorsDestinationFile = Paths.get("docs-for-dotty-page", "js", "contributors.js").toFile
1340+
sbt.IO.copyFile(contributorsFile, contributorsDestinationFile)
1341+
1342+
val mainFile = (`scaladoc-js-main` / Compile / fullOptJS).value.data
1343+
val mainDestinationFile = (Compile / resourceManaged).value / "dotty_res" / "scripts" / "scaladoc-scalajs.js"
1344+
sbt.IO.copyFile(mainFile, mainDestinationFile)
1345+
1346+
Seq(mainDestinationFile, contributorsDestinationFile)
13261347
}.taskValue,
13271348
Compile / resourceGenerators += Def.task {
1328-
Seq("code-snippets.css", "searchbar.css", "content-contributors.css", "social-links.css", "ux.css", "versions-dropdown.css").map { file =>
1349+
{
1350+
val cssDesitnationFile = (Compile / resourceManaged).value / "dotty_res" / "styles" / "code-snippets.css"
1351+
val cssSourceFile = (`scaladoc-js-common` / Compile / resourceDirectory).value / "code-snippets.css"
1352+
sbt.IO.copyFile(cssSourceFile, cssDesitnationFile)
1353+
Seq(cssDesitnationFile)
1354+
} ++ {
1355+
val cssDesitnationFile = Paths.get("docs-for-dotty-page", "css", "content-contributors.css").toFile
1356+
val cssSourceFile = (`scaladoc-js-contributors` / Compile / resourceDirectory).value / "content-contributors.css"
1357+
sbt.IO.copyFile(cssSourceFile, cssDesitnationFile)
1358+
Seq(cssDesitnationFile)
1359+
} ++ Seq("searchbar.css", "social-links.css", "ux.css", "versions-dropdown.css").map { file =>
13291360
val cssDesitnationFile = (Compile / resourceManaged).value / "dotty_res" / "styles" / file
1330-
val cssSourceFile = (`scaladoc-js` / Compile / resourceDirectory).value / file
1361+
val cssSourceFile = (`scaladoc-js-main` / Compile / resourceDirectory).value / file
13311362
sbt.IO.copyFile(cssSourceFile, cssDesitnationFile)
13321363
cssDesitnationFile
13331364
}
@@ -1458,10 +1489,10 @@ object Build {
14581489
case _ => throw new IllegalArgumentException("No js destination provided")
14591490
}
14601491
val jsDestinationFile: File = Paths.get(destJS).toFile
1461-
sbt.IO.copyFile((`scaladoc-js` / Compile / fullOptJS).value.data, jsDestinationFile)
1492+
sbt.IO.copyFile((`scaladoc-js-markdown` / Compile / fullOptJS).value.data, jsDestinationFile)
14621493
csses.map { file =>
14631494
val cssDesitnationFile = Paths.get(destCSS).toFile / file
1464-
val cssSourceFile = (`scaladoc-js` / Compile / resourceDirectory).value / file
1495+
val cssSourceFile = (`scaladoc-js-markdown` / Compile / resourceDirectory).value / file
14651496
sbt.IO.copyFile(cssSourceFile, cssDesitnationFile)
14661497
cssDesitnationFile
14671498
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package dotty.tools.scaladoc
2+
3+
import scala.scalajs.js
4+
import scala.scalajs.js.annotation.JSGlobalScope
5+
6+
@js.native
7+
@JSGlobalScope
8+
object Globals extends js.Object {
9+
val githubContributorsUrl: String = js.native
10+
}
11+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package dotty.tools.scaladoc
2+
import scala.scalajs.js.annotation._
3+
4+
object Main extends App:
5+
ContentContributors()
File renamed without changes.

scaladoc-js/src/Globals.scala renamed to scaladoc-js/main/src/Globals.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import scala.scalajs.js.annotation.JSGlobalScope
88
object Globals extends js.Object {
99
val pathToRoot: String = js.native
1010
val versionsDictionaryUrl: String = js.native
11-
val githubContributorsUrl: String = js.native
1211
}
1312

1413
object StringUtils {

scaladoc-js/main/src/Main.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package dotty.tools.scaladoc
2+
import scala.scalajs.js.annotation._
3+
4+
object Main extends App:
5+
Searchbar()
6+
SocialLinks()
7+
DropdownHandler()
8+
Ux()
9+
TooltipNormalizer()
10+
CodeSnippets()
File renamed without changes.

scaladoc-js/markdown/src/Main.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package dotty.tools.scaladoc
2+
import scala.scalajs.js.annotation._
3+
4+
object Main extends App:
5+
CodeSnippets()

scaladoc-js/src/Main.scala

Lines changed: 0 additions & 24 deletions
This file was deleted.

scaladoc/src/dotty/tools/scaladoc/renderers/Resources.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ trait Resources(using ctx: DocContext) extends Locations, Writer:
9090
"styles/filter-bar.css",
9191
"styles/code-snippets.css",
9292
"styles/searchbar.css",
93-
"styles/content-contributors.css",
9493
"styles/social-links.css",
9594
"styles/ux.css",
9695
"styles/versions-dropdown.css",

0 commit comments

Comments
 (0)