Pass compiled metalava stub classes through metalava again

Use metalava --rewrite-annotations to pass the compiled sdk stub
class files through metalava again to make the annotations package
private.

Bug: 110532131
Test: m out/target/common/obj/JAVA_LIBRARIES/metalava_android_stubs_current_intermediates/classes.jar
Change-Id: I124e8d89075ec682e9fc3602ef232492bed849aa
Merged-In: I5180bc18979415cec6255beb3fe2c48ec298d3ae
This commit is contained in:
Colin Cross
2018-07-02 11:29:03 -07:00
parent 62fff1d2d7
commit 41e49c3381

View File

@@ -39,9 +39,13 @@ else
$(full_target): PRIVATE_ERRORPRONE_FLAGS := $(full_target): PRIVATE_ERRORPRONE_FLAGS :=
endif endif
ifneq ($(filter metalava%,$(sdk_stub_name)),) my_use_metalava := $(filter metalava%,$(sdk_stub_name))
$(warning $(sdk_stub_name) $(my_use_metalava))
ifdef my_use_metalava
$(full_target): $(HOST_OUT_JAVA_LIBRARIES)/stub-annotations$(COMMON_JAVA_PACKAGE_SUFFIX) $(full_target): $(HOST_OUT_JAVA_LIBRARIES)/stub-annotations$(COMMON_JAVA_PACKAGE_SUFFIX)
$(full_target): PRIVATE_METALAVA_CLASSPATH := -classpath $(HOST_OUT_JAVA_LIBRARIES)/stub-annotations$(COMMON_JAVA_PACKAGE_SUFFIX) $(full_target): PRIVATE_METALAVA_CLASSPATH := -classpath $(HOST_OUT_JAVA_LIBRARIES)/stub-annotations$(COMMON_JAVA_PACKAGE_SUFFIX)
$(full_target): $(HOST_OUT_JAVA_LIBRARIES)/metalava.jar
else else
$(full_target): PRIVATE_METALAVA_CLASSPATH := $(full_target): PRIVATE_METALAVA_CLASSPATH :=
endif endif
@@ -74,6 +78,10 @@ $(full_target): $(stub_timestamp) $(framework_res_package) $(ZIPTIME)
-g -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) \ -g -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) \
\@$(PRIVATE_INTERMEDIATES_DIR)/java-source-list \ \@$(PRIVATE_INTERMEDIATES_DIR)/java-source-list \
|| ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 ) || ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 )
ifdef my_use_metalava
$(hide) $(JAVA) -jar $(HOST_OUT_JAVA_LIBRARIES)/metalava.jar \
--no-banner --rewrite-annotations $(PRIVATE_CLASS_INTERMEDIATES_DIR)
endif
$(hide) if [ ! -f $(PRIVATE_FRAMEWORK_RES_PACKAGE) ]; then \ $(hide) if [ ! -f $(PRIVATE_FRAMEWORK_RES_PACKAGE) ]; then \
echo Missing file $(PRIVATE_FRAMEWORK_RES_PACKAGE); \ echo Missing file $(PRIVATE_FRAMEWORK_RES_PACKAGE); \
rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR); \ rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR); \