Skip to content

Fix genDoc script. Make sure main website is generated on snapshot. #8131

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 30, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions doc-tool/src/dotty/tools/dottydoc/DocDriver.scala
Original file line number Diff line number Diff line change
Expand Up @@ -46,25 +46,27 @@ class DocDriver extends Driver {
val projectUrl = Option(ctx.settings.projectUrl.value).filter(_.nonEmpty)
val projectLogo = Option(ctx.settings.projectLogo.value).filter(_.nonEmpty)
val docSnapshot = ctx.settings.docSnapshot.value
var baseUrl = "/"

var outDir = File(siteRoot, "_site")
if docSnapshot then
val folderName = if projectVersion.endsWith("NIGHTLY") then "nightly" else projectVersion
outDir = File(outDir, folderName)
baseUrl = s"$baseUrl$folderName"
val baseUrl = "/"
val outDir = File(siteRoot, "_site")
val snapshotFolderName = if projectVersion.endsWith("NIGHTLY") then "nightly" else projectVersion
val snapshotOutDir = File(outDir, snapshotFolderName)
val snapshotBaseUrl = s"$baseUrl$snapshotFolderName"

if (projectName.isEmpty)
ctx.error(s"Site project name not set. Use `-project <title>` to set the project name")
else if (!siteRoot.exists || !siteRoot.isDirectory)
ctx.error(s"Site root does not exist: $siteRoot")
else {
Site(siteRoot, outDir, projectName, projectVersion, projectUrl, projectLogo, ctx.docbase.packages, baseUrl)
.generateApiDocs()
.copyStaticFiles()
.generateHtmlFiles()
.generateBlog()
def generateSite(outDir: File, baseUrl: String) =
Site(siteRoot, outDir, projectName, projectVersion, projectUrl, projectLogo, ctx.docbase.packages, baseUrl)
.generateApiDocs()
.copyStaticFiles()
.generateHtmlFiles()
.generateBlog()

generateSite(outDir, baseUrl)
if docSnapshot then generateSite(snapshotOutDir, snapshotBaseUrl)
ctx.docbase.printSummary()
}

Expand Down
5 changes: 4 additions & 1 deletion project/scripts/genDocs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,10 @@ git fetch doc-remote gh-pages
git checkout gh-pages

# save the old snapshots to the newly generated site
mv 0.*/ $PWD/docs/_site
# This command must never fail since failures short-circuit the script
# The reason for failure is that no folder matches "0.*" pattern
# because snapshots may not be generated yet
(mv 0.*/ $PWD/docs/_site; true)

# move newly generated _site dir to $PWD
mv $PWD/docs/_site .
Expand Down