| plugins { |
| id 'base' |
| id 'com.github.node-gradle.node' version '2.2.4' |
| } |
| |
| configurations { |
| antora |
| } |
| |
| node { |
| // Version of node to use. |
| version = '12.18.2' |
| download = true |
| } |
| |
| def siteOutputDir = "${buildDir}/site"; |
| def localAntoraContent = project.hasProperty('localAntoraContent'); |
| |
| task generateDocs(type: NpxTask) { |
| dependsOn npmInstall |
| dependsOn ':antora-ui:build' |
| |
| inputs.files('package.json', 'package-lock.json', 'antora-playbook.yml', '*.yml') |
| inputs.dir(fileTree('node_modules').exclude('.cache')) |
| outputs.dir(siteOutputDir) |
| |
| command = 'antora' |
| |
| if (localAntoraContent) { |
| args = ['antora-playbook-local.yml', '--stacktrace'] |
| } else { |
| args = ['antora-playbook.yml', '--stacktrace'] |
| } |
| } |
| |
| task copySomeFiles(type: Copy) { |
| dependsOn generateDocs |
| from 'src/main/asf' |
| into siteOutputDir |
| } |
| |
| task buildSite() { |
| dependsOn generateDocs, copySomeFiles |
| } |
| |
| tasks.build.dependsOn buildSite |