diff --git a/libraries/docs/website/pom.xml b/libraries/docs/website/pom.xml
index 5e43351c6a0..a4b59be133e 100644
--- a/libraries/docs/website/pom.xml
+++ b/libraries/docs/website/pom.xml
@@ -68,6 +68,9 @@
org.jetbrains.kotlin.site.namespace
+
+ ${basedir}
+
diff --git a/libraries/docs/website/src/main/kotlin/org/jetbrains/kotlin/site/SiteGeneratorMain.kt b/libraries/docs/website/src/main/kotlin/org/jetbrains/kotlin/site/SiteGeneratorMain.kt
index e32fed4fd8b..262e6890516 100644
--- a/libraries/docs/website/src/main/kotlin/org/jetbrains/kotlin/site/SiteGeneratorMain.kt
+++ b/libraries/docs/website/src/main/kotlin/org/jetbrains/kotlin/site/SiteGeneratorMain.kt
@@ -2,9 +2,11 @@ package org.jetbrains.kotlin.site
import java.io.File
-class SiteGeneratorMain {
- val srcDir = findTemplateDir()
- val siteOutputDir = File(srcDir, "../../../target/site")
+class SiteGeneratorMain(projectRoot: File) {
+ val srcDir = File(projectRoot, "src/main/templates")
+ val apiDocsDir = File(projectRoot, "../apidoc/target/site/apidocs")
+ val jsApiDocsDir = File(projectRoot, "../jsdoc/target/site/apidocs")
+ val siteOutputDir = File(projectRoot, "target/site")
val version = System.getProperty("project.version") ?: "SNAPSHOT"
val versionDir = if (version.contains("SNAPSHOT")) "snapshot" else version
@@ -15,14 +17,13 @@ class SiteGeneratorMain {
}
fun copyApiDocs(): Unit {
- val apidocDir = File(siteOutputDir, "../../../apidoc/target/site/apidocs")
- assertTrue(apidocDir.exists(), "Directory does not exist ${apidocDir.getCanonicalPath()}")
+ assertTrue(apiDocsDir.exists(), "Directory does not exist ${apiDocsDir.getCanonicalPath()}")
val outDir = File(siteOutputDir, "versions/$versionDir/apidocs")
println("Copying API docs to $outDir")
copyDocResources(outDir)
- copyRecursive(apidocDir, outDir)
+ copyRecursive(apiDocsDir, outDir)
// now lets assert that the API docs generated everything
assertFilesExist(outDir, "Expected generate API docs are missing - API doc generation failure",
@@ -30,9 +31,9 @@ class SiteGeneratorMain {
}
fun copyJSApiDocs(): Unit {
- val apidocDir = File(siteOutputDir, "../../../jsdoc/target/site/apidocs")
- //assertTrue(apidocDir.exists(), "Directory does not exist ${apidocDir.getCanonicalPath()}")
- if (!apidocDir.exists()) {
+ //assertTrue(jsApiDocsDir.exists(), "Directory does not exist ${jsApiDocsDir.getCanonicalPath()}")
+
+ if (!jsApiDocsDir.exists()) {
println("WARNING - no JS API docs available. Though they don't work right now so are optional :)")
return
}
@@ -42,7 +43,7 @@ class SiteGeneratorMain {
copyDocResources(outDir)
- copyRecursive(apidocDir, outDir)
+ copyRecursive(jsApiDocsDir, outDir)
}
fun copyDocResources(outDir: File): Unit {
@@ -70,17 +71,6 @@ class SiteGeneratorMain {
}
}
- fun findTemplateDir(): File {
- val path = "src/main/templates"
- for (p in listOf(".", "website", "docs/website", "libraries/docs/website")) {
- val sourceDir = File(p, path)
- if (sourceDir.exists()) {
- return sourceDir
- }
- }
- throw IllegalArgumentException("Could not find template directory: $path")
- }
-
fun assertTrue(condition: Boolean, message: String): Unit {
if (!condition) {
throw RuntimeException(message);
@@ -89,9 +79,10 @@ class SiteGeneratorMain {
}
fun main(args : Array) {
- println("Current working directory: " + System.getProperty("user.dir"))
+ val basedir = File(args.get(0))
+ println("Basedir: $basedir")
- val main = SiteGeneratorMain()
+ val main = SiteGeneratorMain(basedir)
main.generateSite()
main.copyApiDocs()
main.copyJSApiDocs()