blob: 61565b0a5fe18398686fa5c5d4020b9a94a5d624 [file] [log] [blame]
/*
* 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.
*/
/*
* Aggregate Javadoc is not published to Maven Central. Each Java module that is published
* to Maven Cental packages its own Javadoc. To generate aggregated javadocs, run:
* ./gradlew :beam-sdks-java-javadoc:aggregateJavadoc
* Generated files will be located under beam/sdks/java/javadoc/build/docs/javadoc and are
* used as part of the beam-site source tree.
*/
description = "Apache Beam :: SDKs :: Java :: Aggregated Javadoc"
apply plugin: 'java'
def exportedJavadocProjects = [
':beam-runners-apex',
':beam-runners-core-construction-java',
':beam-runners-core-java',
':beam-runners-java-fn-execution',
':beam-runners-local-java-core',
':beam-runners-direct-java',
':beam-runners-reference-java',
':beam-runners-flink_2.11',
':beam-runners-google-cloud-dataflow-java',
':beam-runners-spark',
':beam-runners-gearpump',
':beam-sdks-java-core',
':beam-sdks-java-fn-execution',
':beam-sdks-java-extensions-google-cloud-platform-core',
':beam-sdks-java-extensions-join-library',
':beam-sdks-java-extensions-json-jackson',
':beam-sdks-java-extensions-protobuf',
':beam-sdks-java-extensions-sketching',
':beam-sdks-java-extensions-sorter',
':beam-sdks-java-extensions-sql',
':beam-sdks-java-harness',
':beam-sdks-java-io-amazon-web-services',
':beam-sdks-java-io-amqp',
':beam-sdks-java-io-cassandra',
':beam-sdks-java-io-elasticsearch',
':beam-sdks-java-io-elasticsearch-tests-2',
':beam-sdks-java-io-elasticsearch-tests-5',
':beam-sdks-java-io-elasticsearch-tests-6',
':beam-sdks-java-io-elasticsearch-tests-common',
':beam-sdks-java-io-google-cloud-platform',
':beam-sdks-java-io-hadoop-common',
':beam-sdks-java-io-hadoop-file-system',
':beam-sdks-java-io-hadoop-input-format',
':beam-sdks-java-io-hbase',
':beam-sdks-java-io-hcatalog',
':beam-sdks-java-io-jdbc',
':beam-sdks-java-io-jms',
':beam-sdks-java-io-kafka',
':beam-sdks-java-io-kinesis',
':beam-sdks-java-io-mongodb',
':beam-sdks-java-io-mqtt',
':beam-sdks-java-io-parquet',
':beam-sdks-java-io-redis',
':beam-sdks-java-io-solr',
':beam-sdks-java-io-tika',
':beam-sdks-java-io-xml',
]
for (String exportedJavadocProject : exportedJavadocProjects) {
evaluationDependsOn(exportedJavadocProject)
}
task allJavadoc() {
dependsOn exportedJavadocProjects.collect { "$it:javadoc" }
}
task aggregateJavadoc(type: Javadoc) {
source exportedJavadocProjects.collect { project(it).sourceSets.main.allJava }
classpath = files(exportedJavadocProjects.collect { project(it).sourceSets.main.compileClasspath })
destinationDir = file("${buildDir}/docs/javadoc")
exclude "org/apache/beam/examples/*"
exclude "org/apache/beam/fn/harness/*"
exclude "org/apache/beam/runners/apex/translation/*"
exclude "org/apache/beam/runners/core/*"
exclude "org/apache/beam/runners/dataflow/internal/*"
exclude "org/apache/beam/runners/flink/examples/*"
exclude "org/apache/beam/runners/flink/translation/*"
exclude "org/apache/beam/runners/spark/examples/*"
exclude "org/apache/beam/runners/spark/translation/*"
exclude "org/apache/beam/sdk/transforms/reflect/*"
exclude "org/apache/beam/sdk/runners/*"
exclude "org/apache/beam/sdk/util/*"
options.with {
failOnError false
title "Apache Beam " + project.version
overview 'overview.html'
addStringOption('Xdoclint:all', '-quiet')
addStringOption('Xdoclint:-missing', '-quiet')
linksOffline 'http://avro.apache.org/docs/1.7.7/api/java/', 'avro-docs'
linksOffline 'https://developers.google.com/api-client-library/java/google-api-java-client/reference/1.22.0/', 'apiclient-docs'
linksOffline 'https://developers.google.com/api-client-library/java/google-oauth-java-client/reference/1.22.0/', 'oauth-docs'
linksOffline 'https://developers.google.com/resources/api-libraries/documentation/bigquery/v2/java/latest/', 'bq-docs'
linksOffline 'http://googlecloudplatform.github.io/google-cloud-java/0.8.0/apidocs/index.html', 'datastore-docs'
linksOffline 'http://google.github.io/guava/releases/20.0/api/docs/', 'guava-docs'
linksOffline 'http://fasterxml.github.io/jackson-annotations/javadoc/2.9/', 'jackson-annotations-docs'
linksOffline 'http://fasterxml.github.io/jackson-databind/javadoc/2.9/', 'jackson-databind-docs'
linksOffline 'http://hamcrest.org/JavaHamcrest/javadoc/1.3/', 'hamcrest-docs'
linksOffline 'http://www.joda.org/joda-time/apidocs', 'joda-docs'
linksOffline 'http://junit.sourceforge.net/javadoc/', 'junit-docs'
}
}