Skip to content

Commit

Permalink
test: add new check for javadoc generation with doclet
Browse files Browse the repository at this point in the history
  • Loading branch information
alicejli committed Oct 4, 2023
1 parent dfafb1a commit 2c3847c
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .github/workflows/downstream-maven-plugins.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,20 @@ jobs:
- run: sudo apt-get update -y
- run: sudo apt-get install libxml2-utils
- run: .kokoro/client-library-check.sh ${{matrix.repo}} ${{matrix.job-type}}
javadoc-with-doclet:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
repo:
- java-bigtable
steps:
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
- run: java -version
- run: sudo apt-get update -y
- run: sudo apt-get install libxml2-utils
- run: .kokoro/javadoc-generation-with-doclet.sh ${{matrix.repo}}
62 changes: 62 additions & 0 deletions .kokoro/javadoc-generation-with-doclet.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/bin/bash

set -eo pipefail
REPO=$1
set -x

# Make artifacts available for 'mvn validate' at the bottom
mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q

# Read the current version of this BOM in the POM. Example version: '0.116.1-alpha-SNAPSHOT'
VERSION_POM=pom.xml
# Namespace (xmlns) prevents xmllint from specifying tag names in XPath
VERSION=`sed -e 's/xmlns=".*"//' ${VERSION_POM} | xmllint --xpath '/project/version/text()' -`

if [ -z "${VERSION}" ]; then
echo "Version is not found in ${VERSION_POM}"
exit 1
fi
echo "Version: ${VERSION}"

# Get version of doclet used to generate Cloud RAD
git clone https://github.com/googleapis/java-docfx-doclet.git
cd java-docfx-doclet/third_party/docfx-doclet-143274
git checkout 1.9.0
mvn package -Dmaven.test.skip=true

# work from the root directory
cd ../../../
docletPath=$(realpath "java-docfx-doclet/third_party/docfx-doclet-143274/target/docfx-doclet-1.0-SNAPSHOT-jar-with-dependencies.jar")
echo "This is the doclet path: ${docletPath}"

# Test with java-bigtable
git clone "https://github.com/googleapis/${REPO}.git" --depth=1
pushd ${REPO}

# replace version
xmllint --shell <(cat pom.xml) << EOF
setns x=http://maven.apache.org/POM/4.0.0
cd .//x:artifactId[text()="google-cloud-shared-config"]
cd ../x:version
set ${VERSION}
save pom.xml
EOF

mvn clean -B -ntp \
-P docFX \
-DdocletPath="${docletPath}" \
-Dclirr.skip=true \
-Denforcer.skip=true \
-Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS \
-Dcheckstyle.skip=true \
-Dflatten.skip=true \
-Danimal.sniffer.skip=true \
javadoc:aggregate

# go back to the root directory
cd ..
# clean up clones
echo "Removing java-docfx-doclet clone"
rm -rf java-docfx-doclet
echo "Removing java-bigtable clone"
rm -rf ${REPO}

0 comments on commit 2c3847c

Please sign in to comment.