From 42be761ebdc3ba35bc4f7851c20d50e2acd23fde Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 21 Feb 2019 18:12:14 -0800 Subject: Add dex_import module type Add a module type for importing a prebuilt jar that contains classes.dex files. Test: m with a prebuilt jar that contains classes.dex files in PRODUCT_BOOT_JARS Test: java_test.go, dexpreopt_test.go, dexpreopt_bootjars_test.go Bug: 124804356 Bug: 125517186 Change-Id: I496848f9dca11f758d49b1cb68168cec7f8e1718 --- java/androidmk.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'java/androidmk.go') diff --git a/java/androidmk.go b/java/androidmk.go index 533b82e4..0c3b1c76 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -131,6 +131,28 @@ func (prebuilt *Import) AndroidMk() android.AndroidMkData { } } +func (prebuilt *DexImport) AndroidMk() android.AndroidMkData { + return android.AndroidMkData{ + Class: "JAVA_LIBRARIES", + OutputFile: android.OptionalPathForPath(prebuilt.maybeStrippedDexJarFile), + Include: "$(BUILD_SYSTEM)/soong_java_prebuilt.mk", + Extra: []android.AndroidMkExtraFunc{ + func(w io.Writer, outputFile android.Path) { + if prebuilt.dexJarFile != nil { + fmt.Fprintln(w, "LOCAL_SOONG_DEX_JAR :=", prebuilt.dexJarFile.String()) + // TODO(b/125517186): export the dex jar as a classes jar to match some mis-uses in Make until + // boot_jars_package_check.mk can check dex jars. + fmt.Fprintln(w, "LOCAL_SOONG_HEADER_JAR :=", prebuilt.dexJarFile.String()) + fmt.Fprintln(w, "LOCAL_SOONG_CLASSES_JAR :=", prebuilt.dexJarFile.String()) + } + if len(prebuilt.dexpreopter.builtInstalled) > 0 { + fmt.Fprintln(w, "LOCAL_SOONG_BUILT_INSTALLED :=", prebuilt.dexpreopter.builtInstalled) + } + }, + }, + } +} + func (prebuilt *AARImport) AndroidMk() android.AndroidMkData { return android.AndroidMkData{ Class: "JAVA_LIBRARIES", -- cgit v1.2.3