Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f915994 authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge "Support Soong-generated module-info.json entries" into main

parents c9104b33 3b89c653
Loading
Loading
Loading
Loading
+76 −67
Original line number Diff line number Diff line
@@ -1009,6 +1009,8 @@ ifdef LOCAL_IS_HOST_MODULE
my_required_modules += $(LOCAL_REQUIRED_MODULES_$($(my_prefix)OS))
endif

ifndef LOCAL_SOONG_MODULE_INFO_JSON
  ALL_MAKE_MODULE_INFO_JSON_MODULES += $(my_register_name)
  ALL_MODULES.$(my_register_name).SHARED_LIBS := \
      $(ALL_MODULES.$(my_register_name).SHARED_LIBS) $(LOCAL_SHARED_LIBRARIES)

@@ -1048,6 +1050,36 @@ ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS := \
  ALL_MODULES.$(my_register_name).ACONFIG_FILES := \
      $(ALL_MODULES.$(my_register_name).ACONFIG_FILES) $(LOCAL_ACONFIG_FILES)

  ALL_MODULES.$(my_register_name).COMPATIBILITY_SUITES := \
      $(ALL_MODULES.$(my_register_name).COMPATIBILITY_SUITES) $(LOCAL_COMPATIBILITY_SUITE)
  ALL_MODULES.$(my_register_name).MODULE_NAME := $(LOCAL_MODULE)
  ALL_MODULES.$(my_register_name).TEST_CONFIG := $(test_config)
  ALL_MODULES.$(my_register_name).EXTRA_TEST_CONFIGS := $(LOCAL_EXTRA_FULL_TEST_CONFIGS)
  ALL_MODULES.$(my_register_name).TEST_MAINLINE_MODULES := $(LOCAL_TEST_MAINLINE_MODULES)
  ifdef LOCAL_IS_UNIT_TEST
    ALL_MODULES.$(my_register_name).IS_UNIT_TEST := $(LOCAL_IS_UNIT_TEST)
  endif
  ifdef LOCAL_TEST_OPTIONS_TAGS
    ALL_MODULES.$(my_register_name).TEST_OPTIONS_TAGS := $(LOCAL_TEST_OPTIONS_TAGS)
  endif

  ##########################################################
  # Track module-level dependencies.
  # (b/204397180) Unlock RECORD_ALL_DEPS was acknowledged reasonable for better Atest performance.
  ALL_MODULES.$(my_register_name).ALL_DEPS := \
    $(ALL_MODULES.$(my_register_name).ALL_DEPS) \
    $(LOCAL_STATIC_LIBRARIES) \
    $(LOCAL_WHOLE_STATIC_LIBRARIES) \
    $(LOCAL_SHARED_LIBRARIES) \
    $(LOCAL_DYLIB_LIBRARIES) \
    $(LOCAL_RLIB_LIBRARIES) \
    $(LOCAL_PROC_MACRO_LIBRARIES) \
    $(LOCAL_HEADER_LIBRARIES) \
    $(LOCAL_STATIC_JAVA_LIBRARIES) \
    $(LOCAL_JAVA_LIBRARIES) \
    $(LOCAL_JNI_SHARED_LIBRARIES)

endif

##########################################################################
## When compiling against API imported module, use API import stub
@@ -1128,55 +1160,32 @@ else
        $(call pretty-error,LOCAL_TARGET_REQUIRED_MODULES may not be used from target modules. Use LOCAL_REQUIRED_MODULES instead)
    endif
endif

ifdef event_log_tags
  ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS := \
      $(ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS) $(event_log_tags)
endif

ALL_MODULES.$(my_register_name).MAKEFILE := \
    $(ALL_MODULES.$(my_register_name).MAKEFILE) $(LOCAL_MODULE_MAKEFILE)

ifdef LOCAL_MODULE_OWNER
  ALL_MODULES.$(my_register_name).OWNER := \
      $(sort $(ALL_MODULES.$(my_register_name).OWNER) $(LOCAL_MODULE_OWNER))
endif

ifdef LOCAL_2ND_ARCH_VAR_PREFIX
ALL_MODULES.$(my_register_name).FOR_2ND_ARCH := true
endif
ALL_MODULES.$(my_register_name).FOR_HOST_CROSS := $(my_host_cross)
ALL_MODULES.$(my_register_name).MODULE_NAME := $(LOCAL_MODULE)
ALL_MODULES.$(my_register_name).COMPATIBILITY_SUITES := \
  $(ALL_MODULES.$(my_register_name).COMPATIBILITY_SUITES) \
  $(filter-out $(ALL_MODULES.$(my_register_name).COMPATIBILITY_SUITES),$(LOCAL_COMPATIBILITY_SUITE))
ALL_MODULES.$(my_register_name).TEST_CONFIG := $(test_config)
ALL_MODULES.$(my_register_name).EXTRA_TEST_CONFIGS := $(LOCAL_EXTRA_FULL_TEST_CONFIGS)
ALL_MODULES.$(my_register_name).TEST_MAINLINE_MODULES := $(LOCAL_TEST_MAINLINE_MODULES)
ifndef LOCAL_IS_HOST_MODULE
ALL_MODULES.$(my_register_name).FILE_CONTEXTS := $(LOCAL_FILE_CONTEXTS)
ALL_MODULES.$(my_register_name).APEX_KEYS_FILE := $(LOCAL_APEX_KEY_PATH)
endif
ifdef LOCAL_IS_UNIT_TEST
ALL_MODULES.$(my_register_name).IS_UNIT_TEST := $(LOCAL_IS_UNIT_TEST)
endif
ifdef LOCAL_TEST_OPTIONS_TAGS
ALL_MODULES.$(my_register_name).TEST_OPTIONS_TAGS := $(LOCAL_TEST_OPTIONS_TAGS)
endif
test_config :=

INSTALLABLE_FILES.$(LOCAL_INSTALLED_MODULE).MODULE := $(my_register_name)

##########################################################
# Track module-level dependencies.
# (b/204397180) Unlock RECORD_ALL_DEPS was acknowledged reasonable for better Atest performance.
ALL_MODULES.$(my_register_name).ALL_DEPS := \
  $(ALL_MODULES.$(my_register_name).ALL_DEPS) \
  $(LOCAL_STATIC_LIBRARIES) \
  $(LOCAL_WHOLE_STATIC_LIBRARIES) \
  $(LOCAL_SHARED_LIBRARIES) \
  $(LOCAL_DYLIB_LIBRARIES) \
  $(LOCAL_RLIB_LIBRARIES) \
  $(LOCAL_PROC_MACRO_LIBRARIES) \
  $(LOCAL_HEADER_LIBRARIES) \
  $(LOCAL_STATIC_JAVA_LIBRARIES) \
  $(LOCAL_JAVA_LIBRARIES) \
  $(LOCAL_JNI_SHARED_LIBRARIES)

###########################################################
## umbrella targets used to verify builds
###########################################################
+1 −0
Original line number Diff line number Diff line
@@ -265,6 +265,7 @@ LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR :=
LOCAL_SOONG_LICENSE_METADATA :=
LOCAL_SOONG_LINK_TYPE :=
LOCAL_SOONG_LINT_REPORTS :=
LOCAL_SOONG_MODULE_INFO_JSON :=
LOCAL_SOONG_MODULE_TYPE :=
LOCAL_SOONG_PROGUARD_DICT :=
LOCAL_SOONG_PROGUARD_USAGE_ZIP :=
+2 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@ ALL_DOCS:=
# sub-variables.
ALL_MODULES:=

ALL_MAKE_MODULE_INFO_JSON_MODULES:=

# The relative paths of the non-module targets in the system.
ALL_NON_MODULES:=
NON_MODULES_WITHOUT_LICENSE_METADATA:=
+11 −4
Original line number Diff line number Diff line
@@ -13,10 +13,15 @@ define write-optional-json-bool
$(if $(strip $(2)),'$(COMMA)$(strip $(1)): "$(strip $(2))"')
endef

$(MODULE_INFO_JSON):
SOONG_MODULE_INFO := $(SOONG_OUT_DIR)/module-info-$(TARGET_PRODUCT).json

$(MODULE_INFO_JSON): PRIVATE_SOONG_MODULE_INFO := $(SOONG_MODULE_INFO)
$(MODULE_INFO_JSON): PRIVATE_MERGE_JSON_OBJECTS := $(HOST_OUT_EXECUTABLES)/merge_module_info_json
$(MODULE_INFO_JSON): $(HOST_OUT_EXECUTABLES)/merge_module_info_json
$(MODULE_INFO_JSON): $(SOONG_MODULE_INFO)
	@echo Generating $@
	$(hide) echo -ne '{\n ' > $@
	$(hide) echo -ne $(KATI_foreach_sep m,$(COMMA)$(_NEWLINE), $(sort $(ALL_MODULES)),\
	$(hide) echo -ne '{\n ' > $@.tmp
	$(hide) echo -ne $(KATI_foreach_sep m,$(COMMA)$(_NEWLINE), $(sort $(ALL_MAKE_MODULE_INFO_JSON_MODULES)),\
		'"$(m)": {' \
			'"module_name": "$(ALL_MODULES.$(m).MODULE_NAME)"' \
			$(call write-optional-json-list, "class", $(sort $(ALL_MODULES.$(m).CLASS))) \
@@ -43,7 +48,9 @@ $(MODULE_INFO_JSON):
			$(call write-optional-json-list, "supported_variants", $(sort $(ALL_MODULES.$(m).SUPPORTED_VARIANTS))) \
			$(call write-optional-json-list, "host_dependencies", $(sort $(ALL_MODULES.$(m).HOST_REQUIRED_FROM_TARGET))) \
			$(call write-optional-json-list, "target_dependencies", $(sort $(ALL_MODULES.$(m).TARGET_REQUIRED_FROM_HOST))) \
		'}')'\n}\n' >> $@
		'}')'\n}\n' >> $@.tmp
	$(PRIVATE_MERGE_JSON_OBJECTS) -o $@ $(PRIVATE_SOONG_MODULE_INFO) $@.tmp
	rm $@.tmp


droidcore-unbundled: $(MODULE_INFO_JSON)