-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
Copy pathbuild.gradle
43 lines (36 loc) · 1.46 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
* 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
}