diff --git a/cc/cc.go b/cc/cc.go index 89f32f163..240080f09 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -2999,6 +2999,9 @@ func (c *Module) AndroidMkWriteAdditionalDependenciesForSourceAbiDiff(w io.Write } } +var _ android.ApexModule = (*Module)(nil) + +// Implements android.ApexModule func (c *Module) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool { depTag := ctx.OtherModuleDependencyTag(dep) libDepTag, isLibDepTag := depTag.(libraryDependencyTag) @@ -3032,6 +3035,7 @@ func (c *Module) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Modu return true } +// Implements android.ApexModule func (c *Module) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // We ignore libclang_rt.* prebuilt libs since they declare sdk_version: 14(b/121358700) diff --git a/genrule/genrule.go b/genrule/genrule.go index 905401796..594d253fa 100644 --- a/genrule/genrule.go +++ b/genrule/genrule.go @@ -547,6 +547,9 @@ func (g *Module) AndroidMk() android.AndroidMkData { } } +var _ android.ApexModule = (*Module)(nil) + +// Implements android.ApexModule func (g *Module) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // Because generated outputs are checked by client modules(e.g. cc_library, ...) diff --git a/java/aar.go b/java/aar.go index 3750f72ba..dfcd95698 100644 --- a/java/aar.go +++ b/java/aar.go @@ -851,10 +851,14 @@ func (a *AARImport) SrcJarArgs() ([]string, android.Paths) { return nil, nil } +var _ android.ApexModule = (*AARImport)(nil) + +// Implements android.ApexModule func (a *AARImport) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool { return a.depIsInSameApex(ctx, dep) } +// Implements android.ApexModule func (g *AARImport) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { return nil diff --git a/java/app.go b/java/app.go index e6d9550ec..c0ac9c289 100755 --- a/java/app.go +++ b/java/app.go @@ -1653,6 +1653,9 @@ func (a *AndroidAppImport) minSdkVersion() sdkSpec { return sdkSpecFrom("") } +var _ android.ApexModule = (*AndroidAppImport)(nil) + +// Implements android.ApexModule func (j *AndroidAppImport) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // Do not check for prebuilts against the min_sdk_version of enclosing APEX diff --git a/java/java.go b/java/java.go index d44719e99..02d78f2bf 100644 --- a/java/java.go +++ b/java/java.go @@ -2021,10 +2021,12 @@ func (j *Module) hasCode(ctx android.ModuleContext) bool { return len(srcFiles) > 0 || len(ctx.GetDirectDepsWithTag(staticLibTag)) > 0 } +// Implements android.ApexModule func (j *Module) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool { return j.depIsInSameApex(ctx, dep) } +// Implements android.ApexModule func (j *Module) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { sdkSpec := j.minSdkVersion() @@ -2070,6 +2072,8 @@ type Library struct { InstallMixin func(ctx android.ModuleContext, installPath android.Path) (extraInstallDeps android.Paths) } +var _ android.ApexModule = (*Library)(nil) + // Provides access to the list of permitted packages from updatable boot jars. type PermittedPackagesForUpdatableBootJars interface { PermittedPackagesForUpdatableBootJars() []string @@ -2934,10 +2938,14 @@ func (j *Import) SrcJarArgs() ([]string, android.Paths) { return nil, nil } +var _ android.ApexModule = (*Import)(nil) + +// Implements android.ApexModule func (j *Import) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool { return j.depIsInSameApex(ctx, dep) } +// Implements android.ApexModule func (j *Import) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // Do not check for prebuilts against the min_sdk_version of enclosing APEX @@ -3129,6 +3137,9 @@ func (j *DexImport) DexJarBuildPath() android.Path { return j.dexJarFile } +var _ android.ApexModule = (*DexImport)(nil) + +// Implements android.ApexModule func (j *DexImport) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // we don't check prebuilt modules for sdk_version diff --git a/java/sdk_library.go b/java/sdk_library.go index 4e33d747b..2e10f9c71 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -1925,6 +1925,9 @@ func (module *SdkLibraryImport) DepsMutator(ctx android.BottomUpMutatorContext) } } +var _ android.ApexModule = (*SdkLibraryImport)(nil) + +// Implements android.ApexModule func (module *SdkLibraryImport) DepIsInSameApex(mctx android.BaseModuleContext, dep android.Module) bool { depTag := mctx.OtherModuleDependencyTag(dep) if depTag == xmlPermissionsFileTag { @@ -1936,6 +1939,7 @@ func (module *SdkLibraryImport) DepIsInSameApex(mctx android.BaseModuleContext, return false } +// Implements android.ApexModule func (module *SdkLibraryImport) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // we don't check prebuilt modules for sdk_version @@ -2141,6 +2145,9 @@ func (module *sdkLibraryXml) DepsMutator(ctx android.BottomUpMutatorContext) { // do nothing } +var _ android.ApexModule = (*sdkLibraryXml)(nil) + +// Implements android.ApexModule func (module *sdkLibraryXml) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { // sdkLibraryXml doesn't need to be checked separately because java_sdk_library is checked diff --git a/rust/rust.go b/rust/rust.go index 3d701210f..21da5ae6f 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -1065,6 +1065,9 @@ func (mod *Module) minSdkVersion() string { return String(mod.Properties.Min_sdk_version) } +var _ android.ApexModule = (*Module)(nil) + +// Implements android.ApexModule func (mod *Module) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { minSdkVersion := mod.minSdkVersion() if minSdkVersion == "apex_inherit" { @@ -1087,6 +1090,7 @@ func (mod *Module) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVer return nil } +// Implements android.ApexModule func (mod *Module) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool { depTag := ctx.OtherModuleDependencyTag(dep) diff --git a/sysprop/sysprop_library.go b/sysprop/sysprop_library.go index 6a53414ba..93a3fe0fb 100644 --- a/sysprop/sysprop_library.go +++ b/sysprop/sysprop_library.go @@ -322,6 +322,9 @@ func (m *syspropLibrary) AndroidMk() android.AndroidMkData { }} } +var _ android.ApexModule = (*syspropLibrary)(nil) + +// Implements android.ApexModule func (m *syspropLibrary) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { return fmt.Errorf("sysprop_library is not supposed to be part of apex modules")