Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.

Commit

Permalink
docs: cloud rad java doc generation (#1336)
Browse files Browse the repository at this point in the history
* test: adding javadocv3 docfx generatiion

* chore: removing options

* chore: update build file

* chore: update path

* chore: adding readme and docfx prefix

* chore: fix comment

* test: remove from maven publishing
  • Loading branch information
eaball35 committed Apr 1, 2021
1 parent fc7169d commit 751ccf3
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 3 deletions.
30 changes: 30 additions & 0 deletions .kokoro/release/publish_javadoc11.cfg
@@ -0,0 +1,30 @@
# Format: //devtools/kokoro/config/proto/build.proto

# cloud-rad production
env_vars: {
key: "STAGING_BUCKET_V2"
value: "docs-staging-v2"
}

# Configure the docker image for kokoro-trampoline
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java11"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/gax-java/.kokoro/release/publish_javadoc11.sh"
}

before_action {
fetch_keystore {
keystore_resource {
keystore_config_id: 73713
keyname: "docuploader_service_account"
}
}
}

# Downloads docfx doclet resource. This will be in ${KOKORO_GFILE_DIR}/<doclet name>
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/docfx"
56 changes: 56 additions & 0 deletions .kokoro/release/publish_javadoc11.sh
@@ -0,0 +1,56 @@
#!/bin/bash
# Copyright 2019 Google Inc.
#
# Licensed 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.

set -eo pipefail

if [[ -z "${CREDENTIALS}" ]]; then
CREDENTIALS=${KOKORO_KEYSTORE_DIR}/73713_docuploader_service_account
fi

if [[ -z "${STAGING_BUCKET_V2}" ]]; then
echo "Need to set STAGING_BUCKET environment variable"
exit 1
fi

# work from the git root directory
pushd $(dirname "$0")/../../

# install docuploader package
python3 -m pip install gcp-docuploader

NAME=gax
VERSION=$(grep ${NAME}: versions.txt | cut -d: -f3)

# build the docs
./gradlew javadocCombinedV3

# copy README to tmp_docs dir and rename index.md
cp README.md tmp_docs/index.md

pushd tmp_docs

# create metadata
python3 -m docuploader create-metadata \
--name ${NAME} \
--version ${VERSION} \
--language java

# upload docs
python3 -m docuploader upload . \
--credentials ${CREDENTIALS} \
--staging-bucket ${STAGING_BUCKET_V2} \
--destination-prefix docfx

popd
42 changes: 39 additions & 3 deletions build.gradle
Expand Up @@ -173,7 +173,7 @@ subprojects {
exclude('**/*Test.java')
}

// JavaDoc
// JavaDocV1 html
// -------

task javadocJar(type: Jar) {
Expand All @@ -193,6 +193,26 @@ subprojects {
}
}

// JavaDocV3 - docFX
// -------

task javadocJarV3(type: Jar) {
classifier = 'javadoc'
from javadoc
}

javadoc.options {
encoding = 'UTF-8'
links 'https://docs.oracle.com/javase/7/docs/api/'

if (JavaVersion.current().isJava8Compatible()) {
addStringOption('Xdoclint:all,-missing', '-quiet')
}
if (JavaVersion.current().isJava11Compatible()) {
addStringOption('-release', '7')
}
}

// Test jar
// --------

Expand Down Expand Up @@ -382,9 +402,8 @@ subprojects {
}
}

// JavaDoc
// JavaDocV1 html
// -------

task javadocCombined(type: Javadoc) {
source subprojects.collect {project -> project.sourceSets.main.allJava }
classpath = files(subprojects.collect {project -> project.sourceSets.main.compileClasspath})
Expand All @@ -401,6 +420,23 @@ clean {
delete 'tmp_docs/'
}

// JavaDocV3 docFX
// -------
task javadocCombinedV3(type: Javadoc) {
source subprojects.collect {project -> project.sourceSets.main.allJava }
classpath = files(subprojects.collect {project -> project.sourceSets.main.compileClasspath})
destinationDir = new File(projectDir, 'tmp_docs')

options.addStringOption('encoding', 'UTF-8')
options.addStringOption("doclet", "com.microsoft.doclet.DocFxDoclet")
options.docletpath = [file(System.getenv('KOKORO_GFILE_DIR') + "/docfx-doclet-1.0-SNAPSHOT-jar-with-dependencies-172556.jar")]
}

clean {
delete 'tmp_gh-pages/'
delete 'tmp_docs/'
}

// Release
// =======

Expand Down

0 comments on commit 751ccf3

Please sign in to comment.