forked from apache/iceberg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtasks.gradle
72 lines (63 loc) · 2.66 KB
/
tasks.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
task aggregateJavadoc(type: Javadoc) {
project.rootProject.version = getJavadocVersion()
dependsOn subprojects.javadoc
source subprojects.javadoc.source
destinationDir project.rootProject.file("site/docs/javadoc/${getJavadocVersion()}")
classpath = project.rootProject.files(subprojects.javadoc.classpath)
final JAVADOC_FIX_SEARCH_STR = '\n\n' +
'getURLPrefix = function(ui) {\n' +
' return \'\';\n' +
'};\n'
doLast {
// Fix bug with search
if (JavaVersion.current() >= JavaVersion.VERSION_11) {
// Append the fix to the file
def searchScript = new File("site/docs/javadoc/${getJavadocVersion()}" + '/search.js')
searchScript.append JAVADOC_FIX_SEARCH_STR
}
}
}
task removeJavadoc(type: Exec) {
commandLine 'rm', '-rf', "site/docs/javadoc/${getJavadocVersion()}"
}
task refreshJavadoc(type: Exec) {
dependsOn aggregateJavadoc
dependsOn removeJavadoc
aggregateJavadoc.mustRunAfter removeJavadoc
commandLine 'git', 'add', "site/docs/javadoc/${getJavadocVersion()}"
}
task deploySite(type: Exec) {
workingDir 'site'
def remoteName = 'apache'
if (project.hasProperty('remote.name')) {
remoteName = project.getProperty('remote.name')
}
// Normally the site directory is removed and built entirely from the docs
// directory when `mkdocs gh-deploy` runs. Removing the site directory,
// copying the file by hand, and using --dirty does basically the same thing,
// but allows us to end up with .asf.yaml in the output that gets copied to
// the asf-site branch. That's required for publishing now, which is why this
// workaround is necessary. For further clarification please see
// https://github.com/apache/iceberg/pull/2998#discussion_r693517612
commandLine('rm', '-rf', 'site')
commandLine('cp', '../.asf.yaml', 'site/')
commandLine('mkdocs', 'gh-deploy', '--dirty', '-r', remoteName)
}