Merge "Pass pointer to dependencyTag instead of copying struct" am: 4dd76eb26c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2096446 Change-Id: I8c4217c56e3d11f3d39780931dd6603dc0770b9e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
42
apex/apex.go
42
apex/apex.go
@@ -608,30 +608,34 @@ type dependencyTag struct {
|
|||||||
sourceOnly bool
|
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
|
return !d.sourceOnly
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ android.ReplaceSourceWithPrebuilt = &dependencyTag{}
|
var _ android.ReplaceSourceWithPrebuilt = &dependencyTag{}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
androidAppTag = dependencyTag{name: "androidApp", payload: true}
|
androidAppTag = &dependencyTag{name: "androidApp", payload: true}
|
||||||
bpfTag = dependencyTag{name: "bpf", payload: true}
|
bpfTag = &dependencyTag{name: "bpf", payload: true}
|
||||||
certificateTag = dependencyTag{name: "certificate"}
|
certificateTag = &dependencyTag{name: "certificate"}
|
||||||
executableTag = dependencyTag{name: "executable", payload: true}
|
executableTag = &dependencyTag{name: "executable", payload: true}
|
||||||
fsTag = dependencyTag{name: "filesystem", payload: true}
|
fsTag = &dependencyTag{name: "filesystem", payload: true}
|
||||||
bcpfTag = dependencyTag{name: "bootclasspathFragment", payload: true, sourceOnly: true}
|
bcpfTag = &dependencyTag{name: "bootclasspathFragment", payload: true, sourceOnly: true}
|
||||||
sscpfTag = dependencyTag{name: "systemserverclasspathFragment", payload: true, sourceOnly: true}
|
sscpfTag = &dependencyTag{name: "systemserverclasspathFragment", payload: true, sourceOnly: true}
|
||||||
compatConfigTag = dependencyTag{name: "compatConfig", payload: true, sourceOnly: true}
|
compatConfigTag = &dependencyTag{name: "compatConfig", payload: true, sourceOnly: true}
|
||||||
javaLibTag = dependencyTag{name: "javaLib", payload: true}
|
javaLibTag = &dependencyTag{name: "javaLib", payload: true}
|
||||||
jniLibTag = dependencyTag{name: "jniLib", payload: true}
|
jniLibTag = &dependencyTag{name: "jniLib", payload: true}
|
||||||
keyTag = dependencyTag{name: "key"}
|
keyTag = &dependencyTag{name: "key"}
|
||||||
prebuiltTag = dependencyTag{name: "prebuilt", payload: true}
|
prebuiltTag = &dependencyTag{name: "prebuilt", payload: true}
|
||||||
rroTag = dependencyTag{name: "rro", payload: true}
|
rroTag = &dependencyTag{name: "rro", payload: true}
|
||||||
sharedLibTag = dependencyTag{name: "sharedLib", payload: true}
|
sharedLibTag = &dependencyTag{name: "sharedLib", payload: true}
|
||||||
testForTag = dependencyTag{name: "test for"}
|
testForTag = &dependencyTag{name: "test for"}
|
||||||
testTag = dependencyTag{name: "test", payload: true}
|
testTag = &dependencyTag{name: "test", payload: true}
|
||||||
shBinaryTag = dependencyTag{name: "shBinary", payload: true}
|
shBinaryTag = &dependencyTag{name: "shBinary", payload: true}
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO(jiyong): shorten this function signature
|
// 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 {
|
if _, ok := depTag.(android.ExcludeFromApexContentsTag); ok {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if dt, ok := depTag.(dependencyTag); ok && !dt.payload {
|
if dt, ok := depTag.(*dependencyTag); ok && !dt.payload {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -5931,7 +5931,7 @@ func TestApexAvailable_DirectDep(t *testing.T) {
|
|||||||
func TestApexAvailable_IndirectDep(t *testing.T) {
|
func TestApexAvailable_IndirectDep(t *testing.T) {
|
||||||
// libbbaz is an indirect dep
|
// libbbaz is an indirect dep
|
||||||
testApexError(t, `requires "libbaz" that doesn't list the APEX under 'apex_available'.\n\nDependency path:
|
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.*
|
.*-> libfoo.*link:shared.*
|
||||||
.*via tag cc\.libraryDependencyTag.*Kind:sharedLibraryDependency.*
|
.*via tag cc\.libraryDependencyTag.*Kind:sharedLibraryDependency.*
|
||||||
.*-> libbar.*link:shared.*
|
.*-> libbar.*link:shared.*
|
||||||
|
Reference in New Issue
Block a user