Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ccd5b554 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "fix: required property doesn't track deps to java, apex, ..." into main

parents f28b5697 73e5baba
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -1074,14 +1074,22 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) {
		}
	}

	var deviceTargets []Target
	deviceTargets = append(deviceTargets, ctx.Config().Targets[Android]...)
	deviceTargets = append(deviceTargets, ctx.Config().AndroidCommonTarget)

	var hostTargets []Target
	hostTargets = append(hostTargets, ctx.Config().Targets[ctx.Config().BuildOS]...)
	hostTargets = append(hostTargets, ctx.Config().BuildOSCommonTarget)

	if m.Device() {
		for _, depName := range m.RequiredModuleNames() {
			for _, target := range ctx.Config().Targets[Android] {
			for _, target := range deviceTargets {
				addDep(target, depName)
			}
		}
		for _, depName := range m.HostRequiredModuleNames() {
			for _, target := range ctx.Config().Targets[ctx.Config().BuildOS] {
			for _, target := range hostTargets {
				addDep(target, depName)
			}
		}
@@ -1089,7 +1097,7 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) {

	if m.Host() {
		for _, depName := range m.RequiredModuleNames() {
			for _, target := range ctx.Config().Targets[ctx.Config().BuildOS] {
			for _, target := range hostTargets {
				// When a host module requires another host module, don't make a
				// dependency if they have different OSes (i.e. hostcross).
				if m.Target().HostCross != target.HostCross {
@@ -1099,7 +1107,7 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) {
			}
		}
		for _, depName := range m.TargetRequiredModuleNames() {
			for _, target := range ctx.Config().Targets[Android] {
			for _, target := range deviceTargets {
				addDep(target, depName)
			}
		}
+2 −1
Original line number Diff line number Diff line
@@ -10,8 +10,9 @@ bootstrap_go_package {
        "soong",
        "soong-android",
        "soong-bpf", // for testing
        "soong-phony", // for testing
        "soong-java", // for testing
        "soong-linkerconfig",
        "soong-phony", // for testing
    ],
    srcs: [
        "avb_add_hash_footer.go",
+16 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import (
	"android/soong/bpf"
	"android/soong/cc"
	"android/soong/etc"
	"android/soong/java"
	"android/soong/phony"

	"github.com/google/blueprint/proptools"
@@ -34,9 +35,12 @@ func TestMain(m *testing.M) {

var fixture = android.GroupFixturePreparers(
	android.PrepareForIntegrationTestWithAndroid,
	android.PrepareForTestWithAndroidBuildComponents,
	bpf.PrepareForTestWithBpf,
	etc.PrepareForTestWithPrebuiltEtc,
	cc.PrepareForIntegrationTestWithCc,
	etc.PrepareForTestWithPrebuiltEtc,
	java.PrepareForTestWithJavaBuildComponents,
	java.PrepareForTestWithJavaDefaultModules,
	phony.PrepareForTestWithPhony,
	PrepareForTestWithFilesystemBuildComponents,
)
@@ -88,12 +92,21 @@ func TestFileSystemDeps(t *testing.T) {

		phony {
			name: "phony",
			required: ["libquz"],
			required: [
				"libquz",
				"myapp",
			],
		}

		cc_library {
			name: "libquz",
		}

		android_app {
			name: "myapp",
			platform_apis: true,
			installable: true,
		}
	`)

	// produces "myfilesystem.img"
@@ -101,6 +114,7 @@ func TestFileSystemDeps(t *testing.T) {

	fs := result.ModuleForTests("myfilesystem", "android_common").Module().(*filesystem)
	expected := []string{
		"app/myapp/myapp.apk",
		"bin/foo",
		"lib/libbar.so",
		"lib64/libbar.so",