diff --git a/build.gradle b/build.gradle index f3a6c5d..799ef0a 100644 --- a/build.gradle +++ b/build.gradle @@ -21,9 +21,8 @@ apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'fatjar' -apply plugin: 'github-pages' apply plugin: 'maven' -apply plugin: 'me.champeau.jbake' +apply from: 'gradle/publish.gradle' sourceCompatibility = 1.6 targetCompatibility = 1.6 @@ -103,30 +102,3 @@ idea { scopes.COMPILE.plus += configurations.integrationCompile } } - -task makeDist(dependsOn: ['clean', 'javadoc'], type: Zip) { - from("README.md") - from("LICENSE") - from jar.outputs.files - into("javadoc/") { - from javadoc.destinationDir - } - into("examples/") { - from("src/examples/java") - } - into("docs/") { - from("docs/") - } -} - -apply from: 'gradle/site.gradle' - -githubPages { - repoUri = 'https://github.com/orgsync/orgsync-api-java.git' - - pages { - from(jbake.output) { - into '.' - } - } -} diff --git a/gradle/site.gradle b/gradle/publish.gradle similarity index 76% rename from gradle/site.gradle rename to gradle/publish.gradle index c8e8460..2df5619 100644 --- a/gradle/site.gradle +++ b/gradle/publish.gradle @@ -1,4 +1,5 @@ import groovy.text.SimpleTemplateEngine +import me.champeau.gradle.JBakeTask buildscript { repositories { @@ -11,6 +12,9 @@ buildscript { } } +apply plugin: 'me.champeau.jbake' +apply plugin: 'github-pages' + def siteDir = 'site' def siteBuildDir = "$buildDir/site" def siteOutDir = "$buildDir/jbaked" @@ -28,17 +32,11 @@ def siteBaseHref = { } } -jbake { - input = file(siteBuildDir) - output = file(siteOutDir) - clearCache = true - - configuration['base_href'] = siteBaseHref() -} - task copySite(type: Copy) { from(file(siteDir)) into(siteBuildDir) + + shouldRunAfter 'clean' } def pagesBinding = [ @@ -64,7 +62,6 @@ task convertPages(dependsOn: copySite) << { } def findDocs() { - println "Running find docs" new File('site/docs').listFiles().sort{ it.name }.collect { file -> def pattern = ~/(\d+)-(\S+).md/ def match = file.name =~ pattern @@ -133,19 +130,57 @@ task convertDocs(dependsOn: copySite) << { createIndex(docs, docsDir) } -task copyJavadoc(dependsOn: 'javadoc', type: Copy) { +task copyJavadoc(dependsOn: ['javadoc', 'copySite'], type: Copy) { from javadoc.destinationDir into(file(javadocDir)) } -task copyDist(dependsOn: 'makeDist', type: Copy) { +task generateDocs(type: JBakeTask) { + dependsOn convertDocs + dependsOn copyJavadoc + + input = file(siteBuildDir) + output = file(siteOutDir) + clearCache = true + + configuration['base_href'] = siteBaseHref() +} + +task makeDist(dependsOn: ['clean', 'generateDocs'], type: Zip) { + from('README.md') + from('LICENSE') + into('examples/') { + from('src/examples/java') + } + into('.') { + from(file(new File(siteOutDir, "versions/$version"))) + } +} + +task copyDist(dependsOn: ['makeDist', 'copySite'], type: Copy) { from tasks['makeDist'].archivePath into(file(assertVersionDir)) } -task copy +task generateSite(type: JBakeTask) { + dependsOn convertPages + dependsOn convertDocs + dependsOn copyJavadoc + dependsOn copyDist -jbake.dependsOn(convertPages) -jbake.dependsOn(convertDocs) -jbake.dependsOn(copyJavadoc) -jbake.dependsOn(copyDist) + input = file(siteBuildDir) + output = file(siteOutDir) + clearCache = true + + configuration['base_href'] = siteBaseHref() +} + +githubPages { + repoUri = 'https://github.com/orgsync/orgsync-api-java.git' + + pages { + from(jbake.output) { + into '.' + } + } +}