Allow metrcs_registry.gni to take multiple config directories.
Bug: 3767
Change-Id: Idc6b17f0c6668421c191446f7c3f0d47dc3a70ab
diff --git a/metrics_registry.gni b/metrics_registry.gni
index 5597e53..7da7f4e 100644
--- a/metrics_registry.gni
+++ b/metrics_registry.gni
@@ -17,7 +17,7 @@
# generate_dart: (default: false) Should we generate a dart library.
# generate_rust: (default: false) Should we generate a rust crate.
# v1_project: (default: true) Is this a v1 project.
-# directory: (default: //third_party/cobalt_config) The directory to parse.
+# directories: (default: [//third_party/cobalt_config]) The directories to parse.
#
# Note: Other args are forwarded to dart_library when generate_dart is true.
#
@@ -127,10 +127,10 @@
output_name = target_name
}
- if (defined(invoker.directory)) {
- cobalt_config_dir = invoker.directory
+ if (defined(invoker.directories)) {
+ cobalt_config_dirs = invoker.directories
} else {
- cobalt_config_dir = "//third_party/cobalt_config"
+ cobalt_config_dirs = [ "//third_party/cobalt_config" ]
}
out_format = ""
@@ -174,9 +174,10 @@
depfile = "$target_gen_dir/$output_name.d"
outputs = generated_files
- inputs = [
- "$cobalt_config_dir/projects.yaml",
- ]
+ inputs = []
+ foreach(config_dir, cobalt_config_dirs) {
+ inputs += [ "$config_dir/projects.yaml" ]
+ }
script = "//build/gn_run_binary.sh"
args = [
@@ -218,10 +219,13 @@
}
} else {
not_needed([ "v1_project" ])
- args += [
- "-config_dir",
- rebase_path(cobalt_config_dir, root_build_dir),
- ]
+
+ foreach(config_dir, cobalt_config_dirs) {
+ args += [
+ "-config_dir",
+ rebase_path(config_dir, root_build_dir),
+ ]
+ }
}
if (defined(customer_id)) {
diff --git a/src/bin/test_app/test_registry/BUILD.gn b/src/bin/test_app/test_registry/BUILD.gn
index 850e9d2..67179bb 100644
--- a/src/bin/test_app/test_registry/BUILD.gn
+++ b/src/bin/test_app/test_registry/BUILD.gn
@@ -9,7 +9,7 @@
skip_validation = true
for_testing = true
- directory = "."
+ directories = [ "." ]
namespace = "cobalt.test_app.testing"
generate_binarypb = false
generate_cc = true
diff --git a/src/lib/client/rust/BUILD.gn b/src/lib/client/rust/BUILD.gn
index a4e05ac..f0cec51 100644
--- a/src/lib/client/rust/BUILD.gn
+++ b/src/lib/client/rust/BUILD.gn
@@ -11,7 +11,7 @@
project_id = 1
generate_rust = true
- directory = "tests/test_registry"
+ directories = [ "tests/test_registry" ]
}
metrics_registry("rustc_registry_ns") {
@@ -20,7 +20,7 @@
generate_rust = true
namespace = "one.two"
- directory = "tests/test_registry"
+ directories = [ "tests/test_registry" ]
}
rustc_test("source_generator_interop_test") {
diff --git a/src/logger/BUILD.gn b/src/logger/BUILD.gn
index b2075f8..7920e39 100644
--- a/src/logger/BUILD.gn
+++ b/src/logger/BUILD.gn
@@ -383,6 +383,7 @@
public_deps = [
":project_context",
"$cobalt_root/src/pb",
+ "test_registries:multiple_project_context_test_registry_directories",
"test_registries:project_context_test_registry",
"//third_party/abseil-cpp/absl/strings",
"//third_party/googletest:gtest",
diff --git a/src/logger/test_registries/BUILD.gn b/src/logger/test_registries/BUILD.gn
index 23b93da..6213847 100644
--- a/src/logger/test_registries/BUILD.gn
+++ b/src/logger/test_registries/BUILD.gn
@@ -99,7 +99,22 @@
global = true
skip_validation = true
for_testing = true
- directory = "project_context_test_registry"
+ directories = [ "project_context_test_registry" ]
+ namespace = "cobalt.logger"
+ var_name = "cobalt_registry_base64"
+
+ generate_binarypb = false
+ generate_cc = true
+}
+
+metrics_registry("multiple_project_context_test_registry_directories") {
+ global = true
+ skip_validation = true
+ for_testing = true
+ directories = [
+ "project_context_factory_test_registry",
+ "project_context_test_registry",
+ ]
namespace = "cobalt.logger"
var_name = "cobalt_registry_base64"
diff --git a/src/logger/test_registries/project_context_factory_test_registry/BUILD.gn b/src/logger/test_registries/project_context_factory_test_registry/BUILD.gn
index 723ba45..4a22e6b 100644
--- a/src/logger/test_registries/project_context_factory_test_registry/BUILD.gn
+++ b/src/logger/test_registries/project_context_factory_test_registry/BUILD.gn
@@ -9,7 +9,7 @@
project_id = 1
skip_validation = true
for_testing = true
- directory = "."
+ directories = [ "." ]
namespace = "cobalt.logger.a"
var_name = "cobalt_registry_base64"
@@ -22,7 +22,7 @@
project_id = 1
skip_validation = true
for_testing = true
- directory = "."
+ directories = [ "." ]
namespace = "cobalt.logger.b"
var_name = "cobalt_registry_base64"
@@ -34,7 +34,7 @@
global = true
skip_validation = true
for_testing = true
- directory = "."
+ directories = [ "." ]
namespace = "cobalt.logger.c"
var_name = "cobalt_registry_base64"