diff options
author | Jeongik Cha <jeongik@google.com> | 2019-11-01 15:28:00 +0900 |
---|---|---|
committer | Jeongik Cha <jeongik@google.com> | 2019-11-01 15:29:15 +0900 |
commit | 75b83b0a81f2dbe55a1146118d0a4eff11c4ea87 (patch) | |
tree | e0fe98e4a5ec04b572f1750f3cfa1249d791fd8c /java/java.go | |
parent | 5d0b3b7195e35199f48bc8cd685f0b5786487cfe (diff) |
Link type will be check in android_library also
For now, Soong checks link-type in java_library, so it cannot block hidden api usage from android_library that app links with.
So we should add check in 'android_library'
Test: m nothing
Change-Id: Ic040270ec668bdd693b690ac8a88be1048922c3b
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/java/java.go b/java/java.go index 947aa8caa..c10b30587 100644 --- a/java/java.go +++ b/java/java.go @@ -672,7 +672,12 @@ const ( javaPlatform ) -func getLinkType(m *Module, name string) (ret linkType, stubs bool) { +type linkTypeContext interface { + android.Module + getLinkType(name string) (ret linkType, stubs bool) +} + +func (m *Module) getLinkType(name string) (ret linkType, stubs bool) { ver := m.sdkVersion() switch { case name == "core.current.stubs" || name == "core.platform.api.stubs" || @@ -703,16 +708,16 @@ func getLinkType(m *Module, name string) (ret linkType, stubs bool) { } } -func checkLinkType(ctx android.ModuleContext, from *Module, to *Library, tag dependencyTag) { +func checkLinkType(ctx android.ModuleContext, from *Module, to linkTypeContext, tag dependencyTag) { if ctx.Host() { return } - myLinkType, stubs := getLinkType(from, ctx.ModuleName()) + myLinkType, stubs := from.getLinkType(ctx.ModuleName()) if stubs { return } - otherLinkType, _ := getLinkType(&to.Module, ctx.OtherModuleName(to)) + otherLinkType, _ := to.getLinkType(ctx.OtherModuleName(to)) commonMessage := "Adjust sdk_version: property of the source or target module so that target module is built with the same or smaller API set than the source." switch myLinkType { @@ -769,11 +774,14 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { // Handled by AndroidApp.collectAppDeps return } - - if to, ok := module.(*Library); ok { - switch tag { - case bootClasspathTag, libTag, staticLibTag: - checkLinkType(ctx, j, to, tag.(dependencyTag)) + switch module.(type) { + case *Library: + case *AndroidLibrary: + if to, ok := module.(linkTypeContext); ok { + switch tag { + case bootClasspathTag, libTag, staticLibTag: + checkLinkType(ctx, j, to, tag.(dependencyTag)) + } } } switch dep := module.(type) { |