Skip to content

Commit

Permalink
Fix link-type check warning on com.android.nfc_extras
Browse files Browse the repository at this point in the history
The library has been built without SDK, and is used by an app
NfcExtrasTests that is built with SDK. Such this SDK -> non-SDK
dependency has been causing link-type check warnings, which will turn
into errors soon.

This change fixes the warning by making a stub library
com.android.nfc_extras.stubs from the runtime library and let the app to
link against the stub library. Since the stubs library does not use any
private APIs, it is built with SDK.

Bug: 69899800
Test: m -j NfcExtrasTests is successful and does not show any link-type
check warning.

Change-Id: I57980ccbc9036d7cc6df114a975a384d10a2962b
  • Loading branch information
jiyongp committed Feb 22, 2018
1 parent 2eea7af commit ded4fd7
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
30 changes: 25 additions & 5 deletions nfc-extras/Android.mk
@@ -1,13 +1,33 @@
LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := com.android.nfc_extras
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under,java)
include $(BUILD_JAVA_LIBRARY)

LOCAL_SRC_FILES := $(call all-java-files-under, java)

LOCAL_MODULE:= com.android.nfc_extras
include $(CLEAR_VARS)
LOCAL_MODULE := com.android.nfc_extras-stubs-gen
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_SRC_FILES := $(call all-java-files-under,java)
# This is to reference SdkConstant annotation; not part of this lib.
LOCAL_DROIDDOC_SOURCE_PATH := frameworks/base/core/java/android/annotation
LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/com.android.nfc_extras.stubs_intermediates/src
LOCAL_DROIDDOC_OPTIONS:= \
-hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \
-stubpackages com.android.nfc_extras \
-nodocs
LOCAL_UNINSTALLABLE_MODULE := true
include $(BUILD_DROIDDOC)
com_android_nfc_extras_gen_stamp := $(full_target)

include $(BUILD_JAVA_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := com.android.nfc_extras.stubs
# This is to reference SdkConstant annotation; not part of this lib.
LOCAL_SRC_FILES := ../core/java/android/annotation/SdkConstant.java
LOCAL_SDK_VERSION := current
LOCAL_ADDITIONAL_DEPENDENCIES := $(com_android_nfc_extras_gen_stamp)
com_android_nfc_extras_gen_stamp :=
include $(BUILD_STATIC_JAVA_LIBRARY)

include $(call all-makefiles-under,$(LOCAL_PATH))
2 changes: 1 addition & 1 deletion nfc-extras/tests/Android.mk
Expand Up @@ -20,7 +20,7 @@ LOCAL_MODULE_TAGS := tests

LOCAL_JAVA_LIBRARIES := \
android.test.runner.stubs \
com.android.nfc_extras \
com.android.nfc_extras.stubs \
android.test.base.stubs

LOCAL_STATIC_JAVA_LIBRARIES := junit
Expand Down

0 comments on commit ded4fd7

Please sign in to comment.