Skip to content

Commit 99b3da7

Browse files
authored
chore: re-work build infra, primarily around code format machinery (#915)
- Removes `gapic_generator_java.bzl`. - `:google_java_format_verification` is now working. (Fixes #914.) - `:google_java_format_verification` now runs with `bazel run` instead of `bazel build`, which is consistent with how `:google_java_format` runs. - Removes manual listing of files to format, which is error-prone. This actually revealed that we were missing out some files for formatting. (For example, `AbstractTransportServiceStubClassComposer.java` had an unused import.) - Removes unnecessary `filegroup` definitions triggered by removing manual file listing. - Reduces visibility of many packages.
1 parent 9e7689a commit 99b3da7

54 files changed

Lines changed: 102 additions & 487 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.githooks/pre-commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ fi
8383
if [ $NUM_JAVA_FILES_CHANGED -gt 0 ]
8484
then
8585
echo_status "Running Java linter..."
86-
bazel --batch build --disk_cache="$BAZEL_CACHE_DIR" //:google_java_format_verification
86+
bazel --batch run --disk_cache="$BAZEL_CACHE_DIR" //:google_java_format_verification
8787
FORMAT_STATUS=$?
8888
if [ $FORMAT_STATUS != 0 ]
8989
then

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
retention-days: 5
7474

7575
- name: Java Linter
76-
run: bazel --batch build //:google_java_format_verification
76+
run: bazel --batch run //:google_java_format_verification
7777

7878
coverage:
7979
runs-on: ubuntu-latest
@@ -86,7 +86,7 @@ jobs:
8686

8787
- name: Generate Code Coverage Report
8888
# Run only test targets, and not golden_update targets.
89-
run: bazel coverage $(bazel query "src/test/..." | grep "Test$") --combined_report=lcov
89+
run: bazel coverage $(bazel query "src/test/..." | grep "Test$") --combined_report=lcov
9090

9191
- name: Upload Code Coverage Report
9292
uses: codecov/codecov-action@v1

BUILD.bazel

Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,7 @@
11
load("@rules_java//java:defs.bzl", "java_binary", "java_proto_library")
2-
load(
3-
"//:gapic_generator_java.bzl",
4-
"google_java_format",
5-
"google_java_format_verification",
6-
)
72

83
package(default_visibility = ["//visibility:public"])
94

10-
JAVA_SRCS = [
11-
"//src/main/java/com/google/api/generator/debug:debug_files",
12-
"//src/main/java/com/google/api/generator:generator_files",
13-
"//src/main/java/com/google/api/generator/engine:engine_files",
14-
"//src/main/java/com/google/api/generator/gapic:gapic_files",
15-
"//src/main/java/com/google/api/generator/util:util_files",
16-
]
17-
18-
TEST_SRCS = [
19-
"//src/test/java/com/google/api/generator/engine:engine_files",
20-
"//src/test/java/com/google/api/generator/gapic:gapic_files",
21-
"//src/test/java/com/google/api/generator/testutils:testutils_files",
22-
"//src/test/java/com/google/api/generator/util:util_files",
23-
"//src/test/java/com/google/api/generator/test/framework:framework_files",
24-
]
25-
265
# ============= Proto wrappers =================
276

287
java_proto_library(
@@ -104,21 +83,25 @@ java_binary(
10483
name = "google_java_format_binary",
10584
jvm_flags = ["-Xmx512m"],
10685
main_class = "com.google.googlejavaformat.java.Main",
107-
visibility = ["//visibility:public"],
10886
runtime_deps = ["@google_java_format_all_deps//jar"],
10987
)
11088

89+
genrule(
90+
name = "google_java_format",
91+
outs = ["google_java_format.sh"],
92+
cmd = "echo 'find src test -name \'*.java\' | grep -v /goldens/ | xargs $(execpath :google_java_format_binary) --replace' > $(OUTS)",
93+
executable = 1,
94+
tools = [":google_java_format_binary"],
95+
local = 1,
96+
)
97+
11198
# Run `bazel build //:google_java_format_verification` to verify that gapic-generator-java sources
11299
# are formatted correctly.
113-
google_java_format_verification(
100+
genrule(
114101
name = "google_java_format_verification",
115-
srcs = JAVA_SRCS + TEST_SRCS,
116-
formatter = "//:google_java_format_binary",
117-
)
118-
119-
# Run `bazel run //:google_java_format` to format gapic-generator-java sources.
120-
google_java_format(
121-
name = "google_java_format",
122-
srcs = JAVA_SRCS + TEST_SRCS,
123-
formatter = "//:google_java_format_binary",
102+
outs = ["google_java_format_verification.sh"],
103+
cmd = "echo 'find src test -name \'*.java\' | grep -v /goldens/ | xargs $(execpath :google_java_format_binary) --dry-run --set-exit-if-changed' > $(OUTS)",
104+
executable = 1,
105+
tools = [":google_java_format_binary"],
106+
local = 1,
124107
)

DEVELOPMENT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
- Run linter checks without actually doing the formatting.
9191

9292
```sh
93-
bazel build :google_java_format_verification
93+
bazel run :google_java_format_verification
9494
```
9595

9696
- Format files.

gapic_generator_java.bzl

Lines changed: 0 additions & 53 deletions
This file was deleted.

src/main/java/com/google/api/generator/BUILD.bazel

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
load("@rules_java//java:defs.bzl", "java_library", "java_plugin")
22

3-
package(default_visibility = ["//visibility:public"])
4-
#package(default_visibility = ["//:__pkg__"])
5-
6-
filegroup(
7-
name = "generator_files",
8-
srcs = glob(["*.java"]),
9-
)
3+
package(default_visibility = ["//:__subpackages__"])
104

115
java_plugin(
126
name = "autovalue_plugin",
@@ -29,9 +23,7 @@ java_library(
2923

3024
java_library(
3125
name = "generator",
32-
srcs = [
33-
":generator_files",
34-
],
26+
srcs = glob(["*.java"]),
3527
deps = [
3628
"//src/main/java/com/google/api/generator/engine",
3729
"//src/main/java/com/google/api/generator/engine/ast",

src/main/java/com/google/api/generator/debug/BUILD.bazel

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
load("@rules_java//java:defs.bzl", "java_library")
22

3-
package(default_visibility = ["//visibility:public"])
4-
5-
filegroup(
6-
name = "debug_files",
7-
srcs = glob(["*.java"]),
8-
)
9-
103
java_library(
114
name = "debug",
12-
srcs = [
13-
":debug_files",
14-
],
5+
srcs = glob(["*.java"]),
156
deps = [
167
"//src/main/java/com/google/api/generator",
178
"//src/main/java/com/google/api/generator/engine",

src/main/java/com/google/api/generator/engine/BUILD.bazel

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
load("@rules_java//java:defs.bzl", "java_library")
22

3-
package(default_visibility = ["//visibility:public"])
4-
5-
filegroup(
6-
name = "engine_files",
7-
srcs = [
8-
"//src/main/java/com/google/api/generator/engine/ast:ast_files",
9-
"//src/main/java/com/google/api/generator/engine/escaper:escaper_files",
10-
"//src/main/java/com/google/api/generator/engine/lexicon:lexicon_files",
11-
"//src/main/java/com/google/api/generator/engine/writer:writer_files",
12-
],
13-
)
3+
package(default_visibility = ["//:__subpackages__"])
144

155
java_library(
166
name = "engine",

src/main/java/com/google/api/generator/engine/ast/BUILD.bazel

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
load("@rules_java//java:defs.bzl", "java_library")
22

3-
package(default_visibility = ["//visibility:public"])
4-
5-
filegroup(
6-
name = "ast_files",
7-
srcs = glob(["*.java"]),
8-
)
3+
package(default_visibility = ["//:__subpackages__"])
94

105
java_library(
116
name = "ast",
12-
srcs = [
13-
":ast_files",
14-
],
7+
srcs = glob(["*.java"]),
158
deps = [
169
"//src/main/java/com/google/api/generator:autovalue",
1710
"//src/main/java/com/google/api/generator/engine/escaper",

src/main/java/com/google/api/generator/engine/escaper/BUILD.bazel

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
load("@rules_java//java:defs.bzl", "java_library")
22

3-
package(default_visibility = ["//visibility:public"])
4-
5-
filegroup(
6-
name = "escaper_files",
7-
srcs = glob(["*.java"]),
8-
)
3+
package(default_visibility = ["//:__subpackages__"])
94

105
java_library(
116
name = "escaper",
12-
srcs = [
13-
":escaper_files",
14-
],
7+
srcs = glob(["*.java"]),
158
deps = [
169
"@com_google_guava_guava//jar",
1710
],

0 commit comments

Comments
 (0)