diff options
author | Colin Cross <ccross@android.com> | 2018-03-21 16:25:19 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2018-05-03 14:38:37 -0700 |
commit | dc8dbe188b099c7f1a2ff6a90ec604643426471d (patch) | |
tree | 5ac401eaab89ff6bf4a9bc9f73e10f4796aa90f8 /androidmk | |
parent | 5dadd0e08aeda0d8a4d55b66e08f31a3828d967d (diff) | |
download | build_soong-dc8dbe188b099c7f1a2ff6a90ec604643426471d.tar.gz build_soong-dc8dbe188b099c7f1a2ff6a90ec604643426471d.tar.bz2 build_soong-dc8dbe188b099c7f1a2ff6a90ec604643426471d.zip |
Add more androidmk translations for android libraries
Add support for translating LOCAL_MANIFEST_FILE, LOCAL_RESOURCE_DIR
LOCAL_SHARED_ANDROID_LIBRARIES, and LOCAL_STATIC_ANDROID_LIBRARIES.
Use the presence of non-empty LOCAL_RESOURCE_DIR,
LOCAL_SHARED_ANDROID_LIBRARIES or LOCAL_STATIC_ANDROID_LIBRARIES
to convert a java_library_static into an android_library module,
and then squash LOCAL_SHARED_ANDROID_LIBRARIES into
LOCAL_SHARED_LIBRARIES and LOCAL_STATIC_ANDROID_LIBRARIES into
LOCAL_STATIC_LIBRARIES.
Bug: 73724997
Test: androidmk_test.go
Change-Id: I3ad2a3561f69ebd097eca97cb170754d64e06123
Merged-In: I3ad2a3561f69ebd097eca97cb170754d64e06123
(cherry picked from commit 2dee86d69cf51b38e8b0afac2e8b47ab77380fac)
Diffstat (limited to 'androidmk')
-rw-r--r-- | androidmk/cmd/androidmk/android.go | 11 | ||||
-rw-r--r-- | androidmk/cmd/androidmk/androidmk_test.go | 55 |
2 files changed, 66 insertions, 0 deletions
diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go index b2a8914e..5cb4869c 100644 --- a/androidmk/cmd/androidmk/android.go +++ b/androidmk/cmd/androidmk/android.go @@ -64,6 +64,9 @@ var rewriteProperties = map[string](func(variableAssignmentContext) error){ "LOCAL_MODULE_SUFFIX": skip, // TODO "LOCAL_PATH": skip, // Nothing to do, except maybe avoid the "./" in paths? "LOCAL_PRELINK_MODULE": skip, // Already phased out + "LOCAL_BUILT_MODULE_STEM": skip, + "LOCAL_USE_AAPT2": skip, // Always enabled in Soong + "LOCAL_JAR_EXCLUDE_FILES": skip, // Soong never excludes files from jars } // adds a group of properties all having the same type @@ -94,6 +97,7 @@ func init() { "LOCAL_NOTICE_FILE": "notice", "LOCAL_JAVA_LANGUAGE_VERSION": "java_version", "LOCAL_INSTRUMENTATION_FOR": "instrumentation_for", + "LOCAL_MANIFEST_FILE": "manifest", "LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING": "dex_preopt.profile", }) @@ -128,6 +132,7 @@ func init() { "LOCAL_RENDERSCRIPT_FLAGS": "renderscript.flags", "LOCAL_JAVA_RESOURCE_DIRS": "java_resource_dirs", + "LOCAL_RESOURCE_DIR": "resource_dirs", "LOCAL_JAVACFLAGS": "javacflags", "LOCAL_ERROR_PRONE_FLAGS": "errorprone.javacflags", "LOCAL_DX_FLAGS": "dxflags", @@ -142,7 +147,13 @@ func init() { "LOCAL_PROGUARD_FLAGS": "optimize.proguard_flags", "LOCAL_PROGUARD_FLAG_FILES": "optimize.proguard_flag_files", + + // These will be rewritten to libs/static_libs by bpfix, after their presence is used to convert + // java_library_static to android_library. + "LOCAL_SHARED_ANDROID_LIBRARIES": "android_libs", + "LOCAL_STATIC_ANDROID_LIBRARIES": "android_static_libs", }) + addStandardProperties(bpparser.BoolType, map[string]string{ // Bool properties diff --git a/androidmk/cmd/androidmk/androidmk_test.go b/androidmk/cmd/androidmk/androidmk_test.go index dd646efe..1840e026 100644 --- a/androidmk/cmd/androidmk/androidmk_test.go +++ b/androidmk/cmd/androidmk/androidmk_test.go @@ -496,6 +496,7 @@ include $(call all-makefiles-under,$(LOCAL_PATH)) include $(CLEAR_VARS) LOCAL_SRC_FILES := test.jar LOCAL_MODULE_CLASS := JAVA_LIBRARIES + LOCAL_STATIC_ANDROID_LIBRARIES := include $(BUILD_PREBUILT) `, expected: ` @@ -520,6 +521,60 @@ include $(call all-makefiles-under,$(LOCAL_PATH)) } `, }, + + { + desc: "aar", + in: ` + include $(CLEAR_VARS) + LOCAL_SRC_FILES := test.java + LOCAL_RESOURCE_DIR := res + include $(BUILD_STATIC_JAVA_LIBRARY) + + include $(CLEAR_VARS) + LOCAL_SRC_FILES := test.java + LOCAL_STATIC_LIBRARIES := foo + LOCAL_STATIC_ANDROID_LIBRARIES := bar + include $(BUILD_STATIC_JAVA_LIBRARY) + + include $(CLEAR_VARS) + LOCAL_SRC_FILES := test.java + LOCAL_SHARED_LIBRARIES := foo + LOCAL_SHARED_ANDROID_LIBRARIES := bar + include $(BUILD_STATIC_JAVA_LIBRARY) + + include $(CLEAR_VARS) + LOCAL_SRC_FILES := test.java + LOCAL_STATIC_ANDROID_LIBRARIES := + include $(BUILD_STATIC_JAVA_LIBRARY) + `, + expected: ` + android_library { + srcs: ["test.java"], + resource_dirs: ["res"], + } + + android_library { + srcs: ["test.java"], + static_libs: [ + "foo", + "bar", + ], + } + + android_library { + srcs: ["test.java"], + libs: [ + "foo", + "bar", + ], + } + + java_library_static { + srcs: ["test.java"], + static_libs: [], + } + `, + }, } func TestEndToEnd(t *testing.T) { |