Merge "Pass pointer to dependencyTag instead of copying struct"
This commit is contained in:
42
apex/apex.go
42
apex/apex.go
@@ -608,30 +608,34 @@ type dependencyTag struct {
|
||||
sourceOnly bool
|
||||
}
|
||||
|
||||
func (d dependencyTag) ReplaceSourceWithPrebuilt() bool {
|
||||
func (d *dependencyTag) String() string {
|
||||
return fmt.Sprintf("apex.dependencyTag{%q}", d.name)
|
||||
}
|
||||
|
||||
func (d *dependencyTag) ReplaceSourceWithPrebuilt() bool {
|
||||
return !d.sourceOnly
|
||||
}
|
||||
|
||||
var _ android.ReplaceSourceWithPrebuilt = &dependencyTag{}
|
||||
|
||||
var (
|
||||
androidAppTag = dependencyTag{name: "androidApp", payload: true}
|
||||
bpfTag = dependencyTag{name: "bpf", payload: true}
|
||||
certificateTag = dependencyTag{name: "certificate"}
|
||||
executableTag = dependencyTag{name: "executable", payload: true}
|
||||
fsTag = dependencyTag{name: "filesystem", payload: true}
|
||||
bcpfTag = dependencyTag{name: "bootclasspathFragment", payload: true, sourceOnly: true}
|
||||
sscpfTag = dependencyTag{name: "systemserverclasspathFragment", payload: true, sourceOnly: true}
|
||||
compatConfigTag = dependencyTag{name: "compatConfig", payload: true, sourceOnly: true}
|
||||
javaLibTag = dependencyTag{name: "javaLib", payload: true}
|
||||
jniLibTag = dependencyTag{name: "jniLib", payload: true}
|
||||
keyTag = dependencyTag{name: "key"}
|
||||
prebuiltTag = dependencyTag{name: "prebuilt", payload: true}
|
||||
rroTag = dependencyTag{name: "rro", payload: true}
|
||||
sharedLibTag = dependencyTag{name: "sharedLib", payload: true}
|
||||
testForTag = dependencyTag{name: "test for"}
|
||||
testTag = dependencyTag{name: "test", payload: true}
|
||||
shBinaryTag = dependencyTag{name: "shBinary", payload: true}
|
||||
androidAppTag = &dependencyTag{name: "androidApp", payload: true}
|
||||
bpfTag = &dependencyTag{name: "bpf", payload: true}
|
||||
certificateTag = &dependencyTag{name: "certificate"}
|
||||
executableTag = &dependencyTag{name: "executable", payload: true}
|
||||
fsTag = &dependencyTag{name: "filesystem", payload: true}
|
||||
bcpfTag = &dependencyTag{name: "bootclasspathFragment", payload: true, sourceOnly: true}
|
||||
sscpfTag = &dependencyTag{name: "systemserverclasspathFragment", payload: true, sourceOnly: true}
|
||||
compatConfigTag = &dependencyTag{name: "compatConfig", payload: true, sourceOnly: true}
|
||||
javaLibTag = &dependencyTag{name: "javaLib", payload: true}
|
||||
jniLibTag = &dependencyTag{name: "jniLib", payload: true}
|
||||
keyTag = &dependencyTag{name: "key"}
|
||||
prebuiltTag = &dependencyTag{name: "prebuilt", payload: true}
|
||||
rroTag = &dependencyTag{name: "rro", payload: true}
|
||||
sharedLibTag = &dependencyTag{name: "sharedLib", payload: true}
|
||||
testForTag = &dependencyTag{name: "test for"}
|
||||
testTag = &dependencyTag{name: "test", payload: true}
|
||||
shBinaryTag = &dependencyTag{name: "shBinary", payload: true}
|
||||
)
|
||||
|
||||
// TODO(jiyong): shorten this function signature
|
||||
@@ -1752,7 +1756,7 @@ func (a *apexBundle) WalkPayloadDeps(ctx android.ModuleContext, do android.Paylo
|
||||
if _, ok := depTag.(android.ExcludeFromApexContentsTag); ok {
|
||||
return false
|
||||
}
|
||||
if dt, ok := depTag.(dependencyTag); ok && !dt.payload {
|
||||
if dt, ok := depTag.(*dependencyTag); ok && !dt.payload {
|
||||
return false
|
||||
}
|
||||
|
||||
|
@@ -5931,7 +5931,7 @@ func TestApexAvailable_DirectDep(t *testing.T) {
|
||||
func TestApexAvailable_IndirectDep(t *testing.T) {
|
||||
// libbbaz is an indirect dep
|
||||
testApexError(t, `requires "libbaz" that doesn't list the APEX under 'apex_available'.\n\nDependency path:
|
||||
.*via tag apex\.dependencyTag.*name:sharedLib.*
|
||||
.*via tag apex\.dependencyTag\{"sharedLib"\}
|
||||
.*-> libfoo.*link:shared.*
|
||||
.*via tag cc\.libraryDependencyTag.*Kind:sharedLibraryDependency.*
|
||||
.*-> libbar.*link:shared.*
|
||||
|
Reference in New Issue
Block a user