diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/androidmk.go | 19 | ||||
| -rw-r--r-- | java/java.go | 19 |
2 files changed, 37 insertions, 1 deletions
diff --git a/java/androidmk.go b/java/androidmk.go index a4dac80d4..148d7c276 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -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 +} diff --git a/java/java.go b/java/java.go index ebd9f5ef2..499a6b6cd 100644 --- a/java/java.go +++ b/java/java.go @@ -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{}, }) } |