Skip to content

Commit 2334254

Browse files
committed
feat: generate with artifact_name
1 parent a240c29 commit 2334254

5 files changed

Lines changed: 35 additions & 11 deletions

File tree

hermetic_build/library_generation/generate_composed_library.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
def generate_composed_library(
4545
config: GenerationConfig,
4646
library_path: str,
47-
library: LibraryConfig,
47+
library_config: LibraryConfig,
4848
repo_config: RepoConfig,
4949
) -> None:
5050
"""
@@ -53,15 +53,15 @@ def generate_composed_library(
5353
:param config: a GenerationConfig object representing a parsed configuration
5454
yaml
5555
:param library_path: the path to which the generated file goes
56-
:param library: a LibraryConfig object contained inside config, passed here
56+
:param library_config: a LibraryConfig object contained inside config, passed here
5757
for convenience and to prevent all libraries to be processed
5858
:param repo_config:
5959
:return None
6060
"""
6161
output_folder = repo_config.output_folder
6262
owlbot_cli_source_folder = util.sh_util("mktemp -d")
6363
os.makedirs(f"{library_path}", exist_ok=True)
64-
for gapic in library.get_sorted_gapic_configs():
64+
for gapic in library_config.get_sorted_gapic_configs():
6565
build_file_folder = Path(f"{output_folder}/{gapic.proto_path}").resolve()
6666
print(f"build_file_folder: {build_file_folder}")
6767
gapic_inputs = parse_build_file(build_file_folder, gapic.proto_path)
@@ -73,16 +73,17 @@ def generate_composed_library(
7373
# generating postprocessing files such as README.
7474
util.generate_postprocessing_prerequisite_files(
7575
config=config,
76-
library=library,
76+
library=library_config,
7777
proto_path=util.remove_version_from(gapic.proto_path),
7878
library_path=library_path,
79-
transport=library.get_transport(gapic_inputs),
79+
transport=library_config.get_transport(gapic_inputs),
8080
)
8181
temp_destination_path = f"java-{gapic.proto_path.replace('/','-')}"
82-
effective_arguments = __construct_effective_arg(
82+
effective_arguments = __construct_effective_args(
8383
base_arguments=[],
8484
gapic=gapic,
8585
gapic_inputs=gapic_inputs,
86+
library_config=library_config,
8687
temp_destination_path=temp_destination_path,
8788
)
8889
print("arguments: ")
@@ -101,7 +102,7 @@ def generate_composed_library(
101102
)
102103

103104
library_version = repo_config.get_library_version(
104-
artifact_id=library.get_artifact_id()
105+
artifact_id=library_config.get_artifact_id()
105106
)
106107
# call postprocess library
107108
util.run_process_and_print_output(
@@ -119,10 +120,11 @@ def generate_composed_library(
119120
)
120121

121122

122-
def __construct_effective_arg(
123+
def __construct_effective_args(
123124
base_arguments: List[str],
124125
gapic: GapicConfig,
125126
gapic_inputs: GapicInputs,
127+
library_config: LibraryConfig,
126128
temp_destination_path: str,
127129
) -> List[str]:
128130
"""
@@ -153,6 +155,8 @@ def __construct_effective_arg(
153155
gapic_inputs.service_yaml,
154156
"--include_samples",
155157
gapic_inputs.include_samples,
158+
"--artifact_name",
159+
library_config.get_maven_coordinate(),
156160
]
157161
arguments += ["--destination_path", temp_destination_path]
158162

hermetic_build/library_generation/generate_library.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ case $key in
4949
--os_architecture)
5050
os_architecture="$2"
5151
shift
52+
--artifact_name)
53+
artifact_name="$2"
54+
shift
5255
;;
5356
*)
5457
echo "Invalid option: [$1]"
@@ -179,7 +182,7 @@ if [[ "${proto_only}" == "false" ]]; then
179182
"$protoc_path"/protoc --experimental_allow_proto3_optional \
180183
"--plugin=protoc-gen-java_gapic=${script_dir}/gapic-generator-java-wrapper" \
181184
"--java_gapic_out=metadata:${temp_destination_path}/java_gapic_srcjar_raw.srcjar.zip" \
182-
"--java_gapic_opt=$(get_gapic_opts "${transport}" "${rest_numeric_enums}" "${gapic_yaml}" "${service_config}" "${service_yaml}")" \
185+
"--java_gapic_opt=$(get_gapic_opts "${transport}" "${rest_numeric_enums}" "${gapic_yaml}" "${service_config}" "${service_yaml}" "${artifact_name}")" \
183186
${proto_files} ${gapic_additional_protos}
184187

185188
unzip -o -q "${temp_destination_path}/java_gapic_srcjar_raw.srcjar.zip" -d "${temp_destination_path}"

hermetic_build/library_generation/generate_repo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def generate_from_yaml(
6262
generate_composed_library(
6363
config=config,
6464
library_path=library_path,
65-
library=library,
65+
library_config=library,
6666
repo_config=repo_config,
6767
)
6868

hermetic_build/library_generation/tests/generate_library_unit_tests.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,18 @@ get_gapic_opts_with_non_default_test() {
5656
"$gapic_opts"
5757
}
5858

59+
get_gapic_opts_with_artifact_name_test() {
60+
local proto_path="${script_dir}/resources/gapic_options"
61+
local transport="grpc"
62+
local rest_numeric_enums="false"
63+
local artifact_name="com.google.cloud:google-cloud-library"
64+
local gapic_opts
65+
gapic_opts="$(get_gapic_opts "${transport}" "${rest_numeric_enums}" "" "" "" "${artifact_name}")"
66+
assertEquals \
67+
"transport=grpc,,grpc-service-config=${proto_path}/example_grpc_service_config.json,gapic-config=${proto_path}/example_gapic.yaml,api-service-config=${proto_path}/example.yaml,artifact-name=${artifact_name}" \
68+
"$gapic_opts"
69+
}
70+
5971
remove_grpc_version_test() {
6072
local destination_path="${script_dir}/resources/gapic_options"
6173
cp "${destination_path}/QueryServiceGrpc_copy.java" "${destination_path}/QueryServiceGrpc.java"
@@ -214,6 +226,7 @@ test_list=(
214226
get_gapic_opts_with_rest_test
215227
get_gapic_opts_without_rest_test
216228
get_gapic_opts_with_non_default_test
229+
get_gapic_opts_with_artifact_name_test
217230
remove_grpc_version_test
218231
download_protoc_succeed_with_valid_version_linux_test
219232
download_protoc_succeed_with_valid_version_macos_test

hermetic_build/library_generation/utils/utilities.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ get_gapic_opts() {
7070
local gapic_yaml=$3
7171
local service_config=$4
7272
local service_yaml=$5
73+
local artifact_name=$6
7374
if [ "${rest_numeric_enums}" == "true" ]; then
7475
rest_numeric_enums="rest-numeric-enums"
7576
else
@@ -88,7 +89,10 @@ get_gapic_opts() {
8889
if [[ "${service_yaml}" == "" ]]; then
8990
service_yaml=$(find "${proto_path}" -maxdepth 1 -type f \( -name "*.yaml" ! -name "*gapic*.yaml" \))
9091
fi
91-
echo "transport=${transport},${rest_numeric_enums},grpc-service-config=${service_config},gapic-config=${gapic_yaml},api-service-config=${service_yaml}"
92+
if [[ -n "${artifact_name}" ]]; then
93+
artifact_name_opt=",artifact-name=${artifact_name}"
94+
fi
95+
echo "transport=${transport},${rest_numeric_enums},grpc-service-config=${service_config},gapic-config=${gapic_yaml},api-service-config=${service_yaml}${artifact_name_opt}"
9296
}
9397

9498
remove_grpc_version() {

0 commit comments

Comments
 (0)