Embed NOTICE output as an APEX asset.
Instead of outputting an aggregated NOTICE file as an intermediate build resource to allow Make to include it in the final system-wide NOTICE, process and embed it as an asset in the final APEX. This allows us to update the NOTICE contents automatically when an APEX is updated. Fixes: 135218846 Test: Built mainline modules, apex_test.go Change-Id: Ic851b330fe93be1f602907d44ecc7886c3b0171b
This commit is contained in:
@@ -27,8 +27,11 @@ import (
|
||||
"android/soong/java"
|
||||
)
|
||||
|
||||
var buildDir string
|
||||
|
||||
func testApex(t *testing.T, bp string) *android.TestContext {
|
||||
config, buildDir := setup(t)
|
||||
var config android.Config
|
||||
config, buildDir = setup(t)
|
||||
defer teardown(buildDir)
|
||||
|
||||
ctx := android.NewTestArchContext()
|
||||
@@ -310,6 +313,8 @@ func TestBasicApex(t *testing.T) {
|
||||
|
||||
optFlags := apexRule.Args["opt_flags"]
|
||||
ensureContains(t, optFlags, "--pubkey vendor/foo/devkeys/testkey.avbpubkey")
|
||||
// Ensure that the NOTICE output is being packaged as an asset.
|
||||
ensureContains(t, optFlags, "--assets_dir "+buildDir+"/.intermediates/myapex/android_common_myapex/NOTICE")
|
||||
|
||||
copyCmds := apexRule.Args["copy_commands"]
|
||||
|
||||
@@ -349,8 +354,8 @@ func TestBasicApex(t *testing.T) {
|
||||
|
||||
mergeNoticesRule := ctx.ModuleForTests("myapex", "android_common_myapex").Rule("mergeNoticesRule")
|
||||
noticeInputs := mergeNoticesRule.Inputs.Strings()
|
||||
if len(noticeInputs) != 4 {
|
||||
t.Errorf("number of input notice files: expected = 4, actual = %q", len(noticeInputs))
|
||||
if len(noticeInputs) != 2 {
|
||||
t.Errorf("number of input notice files: expected = 2, actual = %q", len(noticeInputs))
|
||||
}
|
||||
ensureListContains(t, noticeInputs, "NOTICE")
|
||||
ensureListContains(t, noticeInputs, "custom_notice")
|
||||
|
Reference in New Issue
Block a user