diff --git a/build.gradle b/build.gradle index e7ea6f5c626..d8a2cc0359b 100644 --- a/build.gradle +++ b/build.gradle @@ -236,31 +236,47 @@ tasks.coveralls { } } +task collectDocumentation(group: "documentation", description: "Copy the documentation from subprojects") { + dependsOn "aggregateJavadocs" + inputs.dir new File(project(":genie-web").buildDir, "asciidoc/html5") + inputs.dir new File(project(":genie-docs").buildDir, "asciidoc/html5") + inputs.dir new File(project(":genie-demo").buildDir, "asciidoc/html5") + outputs.dir new File(project.buildDir, "docs") + + doLast { + copy { + from new File(project(":genie-web").buildDir, "asciidoc/html5") + into "${project.buildDir}/docs/rest" + } + copy { + from new File(project(":genie-docs").buildDir, "asciidoc/html5") + into "${project.buildDir}/docs/reference" + } + copy { + from new File(project(":genie-demo").buildDir, "asciidoc/html5") + into "${project.buildDir}/docs/demo" + } + } +} + githubPages { credentials { username = System.getenv("GH_TOKEN") password = "" } - commitMessage = "Documentation generated for ${version} by Travis Build ${System.env.TRAVIS_BUILD_NUMBER}" + commitMessage = "Documentation generated for ${project.version} by Travis Build ${System.env.TRAVIS_BUILD_NUMBER}" pages { - from("${project.buildDir}/docs/javadoc") { - into "docs/${project.version}/javadoc" - } - from(new File(project(":genie-web").buildDir, "asciidoc/html5")) { - into "docs/${project.version}/rest" - } - from(new File(project(":genie-docs").buildDir, "asciidoc/html5")) { - into "docs/${project.version}/reference" - } + from "${project.buildDir}/docs/" + into "docs/${project.version}/" } } prepareGhPages { // This also depends on asciidoctor task for some subprojects but that dependency is reverse mapped in the // pertinent subproject build file - dependsOn "aggregateJavadocs" + dependsOn tasks.collectDocumentation } publishGhPages { diff --git a/genie-demo/build.gradle b/genie-demo/build.gradle index 993c8548ce6..feecda66bf0 100644 --- a/genie-demo/build.gradle +++ b/genie-demo/build.gradle @@ -1,3 +1,15 @@ +apply plugin: "org.asciidoctor.convert" + +project.parent.tasks.collectDocumentation.dependsOn project.tasks.asciidoctor + +// This is needed cause some things like attributes for asciidoctor don't serialize project.version properly at runtime +def genieVersion = project.version.toString() + +asciidoctor { + inputs.dir new File(project.projectDir, "/src/docs/asciidoc") + attributes "revnumber": genieVersion +} + def dockerDir = new File(project.projectDir, "/src/main/docker") task demoStart(type: Exec, group: "Demo", description: "Bring up the Genie demo containers") { diff --git a/genie-demo/src/docs/asciidoc/index.adoc b/genie-demo/src/docs/asciidoc/index.adoc new file mode 100644 index 00000000000..8fc443db8ac --- /dev/null +++ b/genie-demo/src/docs/asciidoc/index.adoc @@ -0,0 +1,9 @@ += Genie Demo Guide +Tom Gianos +v{revnumber}, {localdate} +:description: Reference documentation for Netflix OSS Genie +:keywords: genie, netflix, documentation, big data, cloud, oss, open source software +:toc: + +== Something +{project-version} diff --git a/genie-docs/build.gradle b/genie-docs/build.gradle index 1798ad2e5dd..8e858ece2ed 100644 --- a/genie-docs/build.gradle +++ b/genie-docs/build.gradle @@ -1,11 +1,11 @@ apply plugin: "org.asciidoctor.convert" -project.parent.tasks.prepareGhPages.dependsOn project.tasks.asciidoctor +project.parent.tasks.collectDocumentation.dependsOn project.tasks.asciidoctor // This is needed cause some things like attributes for asciidoctor don't serialize project.version properly at runtime def genieVersion = project.version.toString() asciidoctor { - inputs.dir new File(project.projectDir, "/src/main/asciidoc") + inputs.dir new File(project.projectDir, "/src/docs/asciidoc") attributes "revnumber": genieVersion } diff --git a/genie-web/build.gradle b/genie-web/build.gradle index 7ef28874253..7554dfbaf60 100644 --- a/genie-web/build.gradle +++ b/genie-web/build.gradle @@ -6,7 +6,7 @@ plugins { apply plugin: "org.asciidoctor.convert" -project.parent.tasks.prepareGhPages.dependsOn project.tasks.asciidoctor +project.parent.tasks.collectDocumentation.dependsOn project.tasks.asciidoctor ext { snippetsDir = file("build/generated-snippets") @@ -96,7 +96,7 @@ def genieVersion = project.version.toString() asciidoctor { dependsOn test inputs.dir snippetsDir - inputs.dir new File(project.projectDir, "/src/main/asciidoc") + inputs.dir new File(project.projectDir, "/src/docs/asciidoc") attributes "snippets": snippetsDir, "revnumber": genieVersion }