Deliver all_release_configs.json as a build artifact
Bug: 328495189
Test: manual
Change-Id: Iebb07c303e6eae51d6c74dd80aa5ac2024b5629e
diff --git a/core/release_config.mk b/core/release_config.mk
index e3ec3a0..887c78b 100644
--- a/core/release_config.mk
+++ b/core/release_config.mk
@@ -130,7 +130,8 @@
# Disable the build flag in release-config.
_args += --guard=false
endif
- _flags_file:=$(OUT_DIR)/soong/release-config/release_config-$(TARGET_PRODUCT)-$(TARGET_RELEASE).vars
+ _flags_dir:=$(OUT_DIR)/soong/release-config
+ _flags_file:=$(_flags_dir)/release_config-$(TARGET_PRODUCT)-$(TARGET_RELEASE).vars
# release-config generates $(_flags_varmk)
_flags_varmk:=$(_flags_file:.vars=.varmk)
$(shell $(OUT_DIR)/release-config $(_args) >$(OUT_DIR)/release-config.out && touch -t 200001010000 $(_flags_varmk))
@@ -148,7 +149,21 @@
_used_files :=
ifeq (,$(_must_protobuf)$(RELEASE_BUILD_FLAGS_IN_PROTOBUF))
_use_protobuf :=
+ else
+ _base_all_release := all_release_configs-$(TARGET_PRODUCT)
+ $(call dist-for-goals,droid,\
+ $(_flags_dir)/$(_base_all_release).pb:build_flags/all_release_configs.pb \
+ $(_flags_dir)/$(_base_all_release).textproto:build_flags/all_release_configs.textproto \
+ $(_flags_dir)/$(_base_all_release).json:build_flags/all_release_configs.json \
+ )
+# These are always created, add an empty rule for them to keep ninja happy.
+$(_flags_dir)/$(_base_all_release).pb $(_flags_dir)/$(_base_all_release).textproto $(_flags_dir)/$(_base_all_release).json:
+ : created by $(OUT_DIR)/release-config
+ _base_all_release :=
endif
+ _flags_dir:=
+ _flags_file:=
+ _flags_varmk:=
endif
ifeq (,$(_use_protobuf))
# The .mk files are the canonical source of truth.