Remove references to SourceDepTag in module types
SourceDepTag is going to become a set of tags of the same type
instead of a single tag, remove references to it outside the
android module.
Bug: 80144045
Test: soong tests
Change-Id: I00b2ea5040e4fc95dfbfdd79e21579853c478fcb
diff --git a/java/droiddoc.go b/java/droiddoc.go
index beaec11..b641041 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -422,12 +422,16 @@
otherName := ctx.OtherModuleName(module)
tag := ctx.OtherModuleDependencyTag(module)
- switch dep := module.(type) {
- case Dependency:
- switch tag {
- case bootClasspathTag:
+ switch tag {
+ case bootClasspathTag:
+ if dep, ok := module.(Dependency); ok {
deps.bootClasspath = append(deps.bootClasspath, dep.ImplementationJars()...)
- case libTag:
+ } else {
+ panic(fmt.Errorf("unknown dependency %q for %q", otherName, ctx.ModuleName()))
+ }
+ case libTag:
+ switch dep := module.(type) {
+ case Dependency:
deps.classpath = append(deps.classpath, dep.ImplementationJars()...)
if otherName == String(j.properties.Srcs_lib) {
srcs := dep.(SrcDependency).CompiledSrcs()
@@ -447,12 +451,7 @@
}
deps.srcJars = append(deps.srcJars, dep.(SrcDependency).CompiledSrcJars()...)
}
- default:
- panic(fmt.Errorf("unknown dependency %q for %q", otherName, ctx.ModuleName()))
- }
- case SdkLibraryDependency:
- switch tag {
- case libTag:
+ case SdkLibraryDependency:
sdkVersion := String(j.properties.Sdk_version)
linkType := javaSdk
if strings.HasPrefix(sdkVersion, "system_") || strings.HasPrefix(sdkVersion, "test_") {
@@ -461,23 +460,9 @@
linkType = javaPlatform
}
deps.classpath = append(deps.classpath, dep.HeaderJars(linkType)...)
- default:
- ctx.ModuleErrorf("dependency on java_sdk_library %q can only be in libs", otherName)
- }
- case android.SourceFileProducer:
- switch tag {
- case libTag:
+ case android.SourceFileProducer:
checkProducesJars(ctx, dep)
deps.classpath = append(deps.classpath, dep.Srcs()...)
- case android.DefaultsDepTag, android.SourceDepTag:
- // Nothing to do
- default:
- ctx.ModuleErrorf("dependency on genrule %q may only be in srcs, libs", otherName)
- }
- default:
- switch tag {
- case android.DefaultsDepTag, android.SourceDepTag, droiddocTemplateTag:
- // Nothing to do
default:
ctx.ModuleErrorf("depends on non-java module %q", otherName)
}