Merge "Modify Soong to utilize from-text android.jar in build"

This commit is contained in:
Treehugger Robot
2023-03-29 20:31:20 +00:00
committed by Gerrit Code Review
7 changed files with 71 additions and 3 deletions

View File

@@ -733,3 +733,22 @@ func (apkSet *AndroidAppSet) AndroidMkEntries() []android.AndroidMkEntries {
},
}
}
func (al *ApiLibrary) AndroidMkEntries() []android.AndroidMkEntries {
var entriesList []android.AndroidMkEntries
entriesList = append(entriesList, android.AndroidMkEntries{
Class: "JAVA_LIBRARIES",
OutputFile: android.OptionalPathForPath(al.stubsJar),
Include: "$(BUILD_SYSTEM)/soong_java_prebuilt.mk",
ExtraEntries: []android.AndroidMkExtraEntriesFunc{
func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
entries.SetBoolIfTrue("LOCAL_UNINSTALLABLE_MODULE", true)
entries.SetPath("LOCAL_SOONG_CLASSES_JAR", al.stubsJar)
entries.SetPath("LOCAL_SOONG_HEADER_JAR", al.stubsJar)
},
},
})
return entriesList
}

View File

@@ -1697,6 +1697,12 @@ func metalavaStubCmd(ctx android.ModuleContext, rule *android.RuleBuilder,
Flag("--color").
Flag("--quiet").
Flag("--format=v2").
Flag("--include-annotations").
// The flag makes nullability issues as warnings rather than errors by replacing
// @Nullable/@NonNull in the listed packages APIs with @RecentlyNullable/@RecentlyNonNull,
// and these packages are meant to have everything annotated
// @RecentlyNullable/@RecentlyNonNull.
FlagWithArg("--force-convert-to-warning-nullability-annotations ", "+*:-android.*:+android.icu.*:-dalvik.*").
FlagWithArg("--repeat-errors-max ", "10").
FlagWithArg("--hide ", "UnresolvedImport").
FlagWithArg("--hide ", "InvalidNullabilityOverride").
@@ -1705,6 +1711,14 @@ func metalavaStubCmd(ctx android.ModuleContext, rule *android.RuleBuilder,
return cmd
}
func (al *ApiLibrary) HeaderJars() android.Paths {
return android.Paths{al.stubsJar}
}
func (al *ApiLibrary) OutputDirAndDeps() (android.Path, android.Paths) {
return nil, nil
}
func (al *ApiLibrary) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, stubsDir android.OptionalPath) {
if stubsDir.Valid() {
cmd.FlagWithArg("--stubs ", stubsDir.String())
@@ -1816,7 +1830,10 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
ctx.Phony(ctx.ModuleName(), al.stubsJar)
ctx.SetProvider(JavaInfoProvider, JavaInfo{
HeaderJars: android.PathsIfNonNil(al.stubsJar),
HeaderJars: android.PathsIfNonNil(al.stubsJar),
ImplementationAndResourcesJars: android.PathsIfNonNil(al.stubsJar),
ImplementationJars: android.PathsIfNonNil(al.stubsJar),
AidlIncludeDirs: android.Paths{},
})
}