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

Commit c0609c60 authored by Paul Duffin's avatar Paul Duffin
Browse files

Make prebuilt_apex report an error if no apex file is found

Previously, if an appropriate src property was not specified it would
return "" which resolves to the top level directory. This change causes
it to report an error.

Bug: 181267622
Test: m droid
Change-Id: Ia5be324a0eff18e43b352d71c6768c8767986053
parent de21202b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -4316,6 +4316,14 @@ func TestPrebuilt(t *testing.T) {
	}
}

func TestPrebuiltMissingSrc(t *testing.T) {
	testApexError(t, `module "myapex" variant "android_common".*: prebuilt_apex does not support "arm64_armv8-a"`, `
		prebuilt_apex {
			name: "myapex",
		}
	`)
}

func TestPrebuiltFilenameOverride(t *testing.T) {
	ctx := testApex(t, `
		prebuilt_apex {
+6 −3
Original line number Diff line number Diff line
@@ -152,14 +152,17 @@ func (p *ApexFileProperties) prebuiltApexSelector(ctx android.BaseModuleContext,
		src = String(p.Arch.X86.Src)
	case android.X86_64:
		src = String(p.Arch.X86_64.Src)
	default:
		ctx.OtherModuleErrorf(prebuilt, "prebuilt_apex does not support %q", multiTargets[0].Arch.String())
		return nil
	}
	if src == "" {
		src = String(p.Src)
	}

	if src == "" {
		ctx.OtherModuleErrorf(prebuilt, "prebuilt_apex does not support %q", multiTargets[0].Arch.String())
		// Drop through to return an empty string as the src (instead of nil) to avoid the prebuilt
		// logic from reporting a more general, less useful message.
	}

	return []string{src}
}