Allow building framework.jar and framework-res.apk
Update app support enough to build framework-res.apk, link framework.jar against its generated files, and export it to make. Bug: 69917341 Test: m checkbuild tests docs Change-Id: I7db29cd1f5fabb22e844483ecc7c38abfedbbe0a
This commit is contained in:
@@ -46,6 +46,14 @@ func (library *Library) AndroidMk() android.AndroidMkData {
|
||||
if library.jacocoReportClassesFile != nil {
|
||||
fmt.Fprintln(w, "LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR :=", library.jacocoReportClassesFile.String())
|
||||
}
|
||||
|
||||
// Temporary hack: export sources used to compile framework.jar to Make
|
||||
// to be used for droiddoc
|
||||
// TODO(ccross): remove this once droiddoc is in soong
|
||||
if library.Name() == "framework" {
|
||||
fmt.Fprintln(w, "SOONG_FRAMEWORK_SRCS :=", strings.Join(library.compiledJavaSrcs.Strings(), " "))
|
||||
fmt.Fprintln(w, "SOONG_FRAMEWORK_SRCJARS :=", strings.Join(library.compiledSrcJars.Strings(), " "))
|
||||
}
|
||||
},
|
||||
},
|
||||
Custom: func(w io.Writer, name, prefix, moduleDir string, data android.AndroidMkData) {
|
||||
@@ -111,3 +119,33 @@ func (binary *Binary) AndroidMk() android.AndroidMkData {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (app *AndroidApp) AndroidMk() android.AndroidMkData {
|
||||
return android.AndroidMkData{
|
||||
Class: "APPS",
|
||||
OutputFile: android.OptionalPathForPath(app.outputFile),
|
||||
Include: "$(BUILD_SYSTEM)/soong_app_prebuilt.mk",
|
||||
Extra: []android.AndroidMkExtraFunc{
|
||||
func(w io.Writer, outputFile android.Path) {
|
||||
if Bool(app.appProperties.Export_package_resources) {
|
||||
if app.dexJarFile != nil {
|
||||
fmt.Fprintln(w, "LOCAL_SOONG_DEX_JAR :=", app.dexJarFile.String())
|
||||
}
|
||||
fmt.Fprintln(w, "LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE :=", app.exportPackage.String())
|
||||
|
||||
if app.jacocoReportClassesFile != nil {
|
||||
fmt.Fprintln(w, "LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR :=", app.jacocoReportClassesFile.String())
|
||||
}
|
||||
|
||||
if app.Name() == "framework-res" {
|
||||
fmt.Fprintln(w, "LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)")
|
||||
// Make base_rules.mk not put framework-res in a subdirectory called
|
||||
// framework_res.
|
||||
fmt.Fprintln(w, "LOCAL_NO_STANDARD_LIBRARIES := true")
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user