blob: 6b2c5b7916fc59580459745c348a3fefbf591187 [file] [log] [blame]
/*
* Copyright 2016-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
def buildDocsDir = "$buildDir/docs"
def jekyllDockerImage = "jekyll/jekyll:$jekyll_version"
task copyDocs(type: Copy, dependsOn: rootProject.getTasksByName("dokka", true)) {
from (rootProject.getTasksByName("dokka", true).collect { "$it.project.buildDir/dokka" }) {
include "**/*.md"
include "**/package-list"
}
from "docs"
into buildDocsDir
}
task copyExampleFrontendJs(type: Copy, dependsOn: ':example-frontend-js:bundle') {
def srcBuildDir = project(':example-frontend-js').buildDir
from "$srcBuildDir/dist"
into "$buildDocsDir/example-frontend-js"
}
task site(type: Exec, description: 'Generate github pages', dependsOn: [copyDocs, copyExampleFrontendJs]) {
inputs.files(fileTree(buildDocsDir))
outputs.dir("$buildDir/dist")
workingDir file(buildDocsDir)
commandLine 'docker', 'run', '--rm', "--volume=$buildDir:/srv/jekyll",
'-t', jekyllDockerImage,
'/bin/bash', '-c', 'cd docs; jekyll build'
}
// A useful task for local debugging -- serves a site locally
task serve(type: Exec, dependsOn: [copyDocs, copyExampleFrontendJs]) {
commandLine 'docker', 'run', '--rm', "--volume=$buildDir:/srv/jekyll",
'-p', '8080:8080',
'-t', jekyllDockerImage,
'/bin/bash', '-c', 'cd docs; jekyll serve --host 0.0.0.0 --port 8080'
}
task clean(type: Delete) {
delete buildDir
}