Skip to content

Commit

Permalink
[ggj][bazel] fix: build resnames separately and extract into proto dir (
Browse files Browse the repository at this point in the history
#324)

* feat: add protobuf comment parser util

* fix: add basic proto build rules

* feat: add header comments to ServiceClient

* fix: build protoc at test time

* fix!: wrap protobuf location and process comments

* feat: add comment parsing to methods and fields

* fix: test

* feat: add protobuf comments to ServiceClient

* fix: solidify codegen method order with TypeNode/MethodArg and Comparable

* fix: clean up tests

* fix: ServiceClient member variables and method calls

* fix: ServiceStubSettings builder type

* fix: ServiceSettings Builder construction

* fix: ServiceStub callable types

* feat: java_gapic_library rule impl

* fix: remove debugging comments

* feat: add gradle assembly Bazel rules

* feat: add java_gapic_test Bazel rule

* fix: use Java packages for resname codegen

* fix: build resnames separately and extract into proto/ dir

* fix: remove debug printf

* fix: empty change to force re-run
  • Loading branch information
miraleung authored Sep 19, 2020
1 parent 9ae33f4 commit 5ae79eb
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
26 changes: 22 additions & 4 deletions rules_java_gapic/java_gapic.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def _java_gapic_postprocess_srcjar_impl(ctx):
output_srcjar_name = ctx.label.name
output_main = ctx.outputs.main
output_test = ctx.outputs.test
output_resource_name = ctx.outputs.resource_name
formatter = ctx.executable.formatter

output_dir_name = ctx.label.name
Expand All @@ -30,25 +31,28 @@ def _java_gapic_postprocess_srcjar_impl(ctx):
unzip -q temp-codegen.srcjar -d {output_dir_path}
# This may fail if there are spaces and/or too many files (exceed max length of command length).
{formatter} --replace $(find {output_dir_path} -type f -printf "%p ")
zip -r -j {output_srcjar_name}.srcjar {output_dir_path}/src/main/* {output_dir_path}/proto/src/main/*
zip -r -j {output_srcjar_name}.srcjar {output_dir_path}/src/main/*
zip -r -j {output_srcjar_name}-resource-name.srcjar {output_dir_path}/proto/src/main/*
zip -r -j {output_srcjar_name}-tests.srcjar {output_dir_path}/src/test/*
mv {output_srcjar_name}.srcjar {output_main}
mv {output_srcjar_name}-resource-name.srcjar {output_resource_name}
mv {output_srcjar_name}-tests.srcjar {output_test}
""".format(
gapic_srcjar = gapic_srcjar.path,
output_srcjar_name = output_srcjar_name,
output_main = output_main.path,
formatter = formatter,
output_dir_name = output_dir_name,
output_dir_path = output_dir_path,
output_main = output_main.path,
output_resource_name = output_resource_name.path,
output_test = output_test.path,
)

ctx.actions.run_shell(
inputs = [gapic_srcjar],
tools = [formatter],
command = script,
outputs = [output_main, output_test],
outputs = [output_main, output_resource_name, output_test],
)

_java_gapic_postprocess_srcjar = rule(
Expand All @@ -62,6 +66,7 @@ _java_gapic_postprocess_srcjar = rule(
},
outputs = {
"main": "%{name}.srcjar",
"resource_name": "%{name}-resource-name.srcjar",
"test": "%{name}-test.srcjar",
},
implementation = _java_gapic_postprocess_srcjar_impl,
Expand Down Expand Up @@ -111,8 +116,21 @@ def java_gapic_library(
**kwargs
)

resource_name_name = "%s_resource_name" % name
resource_name_deps = [resource_name_name]
native.java_library(
name = resource_name_name,
srcs = ["%s-resource-name.srcjar" % srcjar_name],
deps = [
"@com_google_api_api_common//jar",
"@com_google_guava_guava//jar",
"@javax_annotation_javax_annotation_api//jar",
],
**kwargs
)

# General additional deps.
actual_deps = deps + [
actual_deps = deps + resource_name_deps + [
"@com_google_googleapis//google/rpc:rpc_java_proto",
"@com_google_googleapis//google/longrunning:longrunning_java_proto",
"@com_google_protobuf//:protobuf_java",
Expand Down
1 change: 1 addition & 0 deletions rules_java_gapic/java_gapic_pkg.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ def java_gapic_assembly_gradle_pkg(
if "_java_gapic" in dep:
_put_dep_in_a_bucket(dep, client_deps, processed_deps)
_put_dep_in_a_bucket("%s_test" % dep, client_test_deps, processed_deps)
_put_dep_in_a_bucket("%s_resource_name" % dep, proto_deps, processed_deps)
elif dep.endswith("_java_grpc"):
_put_dep_in_a_bucket(dep, grpc_deps, processed_deps)
else:
Expand Down

0 comments on commit 5ae79eb

Please sign in to comment.