Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Use gapic-generator-java jar in the client library generation process #918

Merged
merged 87 commits into from
Jan 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
92e008d
chore: Maven PoC (phase 1)
chanseokoh Feb 2, 2022
0c89c21
chore: add target/ to .gitignore
chanseokoh Feb 2, 2022
8068a62
chore: add comment
chanseokoh Feb 2, 2022
80115af
chore: clean up Bazel
chanseokoh Feb 2, 2022
7d0aa14
chore: clean up Bazel
chanseokoh Feb 2, 2022
c04b87b
chore: migrate google-java-format
chanseokoh Feb 2, 2022
7c36353
chore: make test work / more cleanups
chanseokoh Feb 3, 2022
1318db4
chore: fix generation
chanseokoh Feb 3, 2022
8a19929
Merge branch 'main' into maven-poc
chanseokoh Feb 8, 2022
be52ba6
chore: fix things after merge with main
chanseokoh Feb 8, 2022
02585df
chore: wip
chanseokoh Feb 8, 2022
cb54256
chore: wip
chanseokoh Feb 8, 2022
ba0494a
chore: enable updating unit golden files
chanseokoh Feb 8, 2022
06fe27a
Merge branch 'main' into maven-poc
chanseokoh Feb 8, 2022
df22610
Merge branch 'main' into maven-poc
chanseokoh Feb 16, 2022
9e814a2
chore: wip
chanseokoh Feb 16, 2022
9bee687
chore: update SubscriberClientTest.golden
chanseokoh Feb 16, 2022
2ce3410
chore: migrate format
chanseokoh Feb 16, 2022
6e5785e
chore: wip
chanseokoh Feb 16, 2022
f617dc2
chore: wip
chanseokoh Feb 16, 2022
024e0fd
chore: add javax.annotation-api for Java 11 build
chanseokoh Feb 16, 2022
45d68eb
chore: re-work Bazel build infrastructure
chanseokoh Feb 16, 2022
7ef9a38
chore: re-work build infra
chanseokoh Feb 16, 2022
1297100
chore: set up fully working pom.xml
chanseokoh Feb 17, 2022
0d00153
merge with setup-maven
chanseokoh Feb 17, 2022
ac1aed3
chore: fix names
chanseokoh Feb 17, 2022
08012ca
chore: update DEVELOPMENT.md
chanseokoh Feb 17, 2022
860b4b1
chore: update DEVELOPMENT.md
chanseokoh Feb 17, 2022
bc00601
chore: fix Bazel CI
chanseokoh Feb 17, 2022
f59ea31
Merge branch 'main' into maven-poc
chanseokoh Feb 18, 2022
9afa486
chore: remove unnecessary file
chanseokoh Feb 18, 2022
cd66e52
chore: remove weird character
chanseokoh Feb 18, 2022
f1f2b10
Merge branch 'main' into maven-poc
blakeli0 Oct 20, 2022
527187e
deps: Upgrade googleapis to latest.
blakeli0 Oct 20, 2022
3550b23
Merge branch 'main' into maven-poc
blakeli0 Oct 25, 2022
0b00473
chore: Load jar from local maven repo instead of from target folder.
blakeli0 Nov 9, 2022
16bfc29
chore: Skip clirr check.
blakeli0 Dec 13, 2022
f669bfb
Merge branch 'main' into maven-poc
blakeli0 Dec 14, 2022
afc3234
Used release gapic-generator-java jar
blakeli0 Dec 14, 2022
514cd88
Merge branch 'main' into maven-poc
blakeli0 Dec 20, 2022
605a2ba
Rely on release please to update gapic-generator-java version
blakeli0 Dec 21, 2022
a234a8b
Remove unused bazel rules
blakeli0 Dec 21, 2022
56f78e6
Build gapic-generator-java in integration tests.
blakeli0 Dec 21, 2022
e6fa480
Merge branch 'main' into maven-poc
blakeli0 Dec 21, 2022
5810cba
Build gapic-generator-java in integration tests.
blakeli0 Dec 21, 2022
1964b8a
Add google_java_format_binary back
blakeli0 Dec 21, 2022
103d006
Build all modules in integration tests.
blakeli0 Dec 21, 2022
42de4dd
Run integration tests in ci-maven
blakeli0 Dec 21, 2022
47a2ef8
Merge branch 'main' into maven-poc
blakeli0 Dec 27, 2022
4239533
Delete Bazel ci and move necessary steps to ci-maven
blakeli0 Dec 27, 2022
21704d6
Rename ci-maven.yaml to ci.yaml
blakeli0 Dec 27, 2022
c0f03eb
Revert "Rename ci-maven.yaml to ci.yaml"
blakeli0 Dec 27, 2022
fee2441
Revert "Delete Bazel ci and move necessary steps to ci-maven"
blakeli0 Dec 27, 2022
af7b838
Remove uncessary Bazel builds and comment out some Bazel checks.
blakeli0 Dec 27, 2022
dac6afd
Add minimum github action steps for `generate-client-libraries` step
blakeli0 Dec 27, 2022
55a3bc8
Rename steps
blakeli0 Dec 27, 2022
872f419
Add gradle build generated libraries
blakeli0 Dec 27, 2022
b5eb03d
Rename steps
blakeli0 Dec 27, 2022
08dbe8c
Add bazel cache
blakeli0 Dec 27, 2022
d883362
Update DEVELOPMENT.md
blakeli0 Dec 28, 2022
ed491f8
Reformat ci-maven.yml
blakeli0 Dec 28, 2022
62896d0
Comment out bazel cache
blakeli0 Dec 28, 2022
9f27661
Add Bazel cache back and remove id for steps
blakeli0 Dec 28, 2022
407fdb9
Give different id for bazel cache steps
blakeli0 Dec 28, 2022
6f541e9
Give different names to bazel cache steps
blakeli0 Dec 29, 2022
8499934
Comment out bazel cahce
blakeli0 Dec 29, 2022
4e52db1
Reformat step names
blakeli0 Dec 29, 2022
708272d
Reformat steps
blakeli0 Dec 29, 2022
5bf16a2
Add restore hash key
blakeli0 Dec 29, 2022
a172dfe
Merge branch 'main' into maven-poc
blakeli0 Dec 29, 2022
7a9971f
Add restore hash key
blakeli0 Dec 29, 2022
5934c45
Merge remote-tracking branch 'origin/maven-poc' into maven-poc
blakeli0 Dec 29, 2022
2aa1a2c
Rename Bazel Cache steps
blakeli0 Dec 29, 2022
07649c1
Delete ci-maven.yaml
blakeli0 Dec 29, 2022
501b23e
Revert "Delete ci-maven.yaml"
blakeli0 Dec 29, 2022
0b52f40
Delete ci.yaml
blakeli0 Dec 29, 2022
a215f9f
Update pom.xml
blakeli0 Dec 29, 2022
7476435
Merge branch 'main' into maven-poc
blakeli0 Jan 3, 2023
cd1cc61
Rename ci-maven.yaml to ci.yaml
blakeli0 Jan 3, 2023
d0d720a
Disable bazel cache
blakeli0 Jan 4, 2023
acf9de6
Remove bazel cache
blakeli0 Jan 4, 2023
9275fea
Revert "Remove bazel cache"
burkedavison Jan 4, 2023
54a246f
Revert "Disable bazel cache"
burkedavison Jan 4, 2023
ac464a1
Revert "Revert "Disable bazel cache""
burkedavison Jan 4, 2023
5e000f4
Revert "Revert "Remove bazel cache""
burkedavison Jan 4, 2023
8ed2b9e
Rename ci to ci-maven
blakeli0 Jan 6, 2023
2eaedb6
Merge branch 'main' into maven-poc
blakeli0 Jan 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,11 @@ fi
if [ $NUM_JAVA_FILES_CHANGED -gt 0 ]
then
echo_status "Running Java linter..."
bazel --batch run --disk_cache="$BAZEL_CACHE_DIR" //:google_java_format_verification
mvn fmt:check
FORMAT_STATUS=$?
if [ $FORMAT_STATUS != 0 ]
then
echo_error "Linting failed." "Please run :google_java_format and try again."
echo_error "Linting failed." "Please run mvn fmt:format and try again."
exit 1
fi
fi
Expand All @@ -118,7 +118,7 @@ fi
if [ $NUM_JAVA_FILES_CHANGED -gt 0 ] || [ $NUM_UNIT_GOLDEN_FILES_CHANGED -gt 0 ]
then
echo_status "Checking unit tests..."
bazel --batch test //:units --disk_cache="$BAZEL_CACHE_DIR"
mvn test
TEST_STATUS=$?
if [ $TEST_STATUS != 0 ]
then
Expand Down
78 changes: 52 additions & 26 deletions .github/workflows/ci-maven.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name: ci-maven
env:
SHOWCASE_VERSION: 0.25.0
jobs:
units:
build:
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -22,11 +22,34 @@ jobs:
- run: java -version
- name: Unit Tests
run: |
mvn verify --batch-mode --no-transfer-progress -Dcheckstyle.skip \
mvn install --batch-mode --no-transfer-progress -Dcheckstyle.skip \
-Dfmt.skip
- run: bazelisk version
- name: Integration Tests
run: |
bazel --batch test //test/integration/...
- name: Gradle Build Generated Storage Client Library
run: |
echo "Building Storage lib from generated source..."
mkdir /tmp/java-storage
bazelisk --batch build @com_google_googleapis//google/storage/v2:google-cloud-storage-v2-java
tar zxvf bazel-bin/external/com_google_googleapis/google/storage/v2/google-cloud-storage-v2-java.tar.gz -C /tmp/java-storage
pushd /tmp/java-storage/google-cloud-storage-v2-java
./gradlew clean build publishToMavenLocal sourcesJar allJars
popd

units-java8:
name: "units (8) except gapic-generator-java"
- name: Gradle Build Generated Compute Client Library
run: |
echo "Building Compute lib from generated source..."
mkdir /tmp/java-compute
bazelisk --batch build @com_google_googleapis//google/cloud/compute/v1small:google-cloud-compute-small-v1-java
tar zxvf bazel-bin/external/com_google_googleapis/google/cloud/compute/v1small/google-cloud-compute-small-v1-java.tar.gz -C /tmp/java-compute
pushd /tmp/java-compute/google-cloud-compute-small-v1-java
./gradlew clean build publishToMavenLocal sourcesJar allJars
popd

build-java8-except-gapic-generator-java:
name: "build(8) except for gapic-generator-java"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -65,8 +88,8 @@ jobs:
-Dcheckstyle.skip -Dmaven.compiler.useIncrementalCompilation=false \
-Dfmt.skip

units-java8-gapic-generator-java:
name: "units (8) for gapic-generator-java"
build-java8-gapic-generator-java:
name: "build(8) for gapic-generator-java"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -89,6 +112,29 @@ jobs:
shell: bash
run: |
mvn -V -B -ntp surefire:test --projects 'gapic-generator-java'
- run: bazelisk version
- name: Integration Tests
run: |
bazelisk --batch test //test/integration/...
- name: Gradle Build Generated Storage Client Library
run: |
echo "Building Storage lib from generated source..."
mkdir /tmp/java-storage
bazelisk --batch build @com_google_googleapis//google/storage/v2:google-cloud-storage-v2-java
tar zxvf bazel-bin/external/com_google_googleapis/google/storage/v2/google-cloud-storage-v2-java.tar.gz -C /tmp/java-storage
pushd /tmp/java-storage/google-cloud-storage-v2-java
./gradlew clean build publishToMavenLocal sourcesJar allJars
popd

- name: Gradle Build Generated Compute Client Library
run: |
echo "Building Compute lib from generated source..."
mkdir /tmp/java-compute
bazelisk --batch build @com_google_googleapis//google/cloud/compute/v1small:google-cloud-compute-small-v1-java
tar zxvf bazel-bin/external/com_google_googleapis/google/cloud/compute/v1small/google-cloud-compute-small-v1-java.tar.gz -C /tmp/java-compute
pushd /tmp/java-compute/google-cloud-compute-small-v1-java
./gradlew clean build publishToMavenLocal sourcesJar allJars
popd

lint:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -116,26 +162,6 @@ jobs:
java-version: ${{ matrix.java }}
distribution: temurin
- run: java -version

- name: Bazel File Cache Setup
id: cache-bazel
uses: actions/cache@v3
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ hashFiles('WORKSPACE') }}
restore-keys: ${{ runner.os }}-
- name: Bazel Cache Not Found
if: steps.cache-bazel.outputs.cache-hit != 'true'
run: |
echo "No cache found."
- name: Bazel Cache Found
if: steps.cache-bazel.outputs.cache-hit == 'true'
run: |
echo -n "Cache found. Cache size: "
du -sh ~/.cache/bazel
echo "If the cache seems broken, update the root WORKSPACE file with a trivial change."
echo "The old cache will disappear after 7 days."

- name: Install maven modules
run: |
mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip
Expand Down
115 changes: 0 additions & 115 deletions .github/workflows/ci.yaml

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ target/

# Vscode Settings
.vscode/settings.json

*.iml
Loading