Merge changes I046d75db,Ie13817dc am: d2aa190bdc
am: f2c86c8c76
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2058908 Change-Id: Id2e528bb65a943ea59e9b74d936d961aee6e125f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -174,44 +174,42 @@ var prepareForApexTest = android.GroupFixturePreparers(
|
|||||||
"system/sepolicy/apex/otherapex-file_contexts": nil,
|
"system/sepolicy/apex/otherapex-file_contexts": nil,
|
||||||
"system/sepolicy/apex/com.android.vndk-file_contexts": nil,
|
"system/sepolicy/apex/com.android.vndk-file_contexts": nil,
|
||||||
"system/sepolicy/apex/com.android.vndk.current-file_contexts": nil,
|
"system/sepolicy/apex/com.android.vndk.current-file_contexts": nil,
|
||||||
"mylib.cpp": nil,
|
"mylib.cpp": nil,
|
||||||
"mytest.cpp": nil,
|
"mytest.cpp": nil,
|
||||||
"mytest1.cpp": nil,
|
"mytest1.cpp": nil,
|
||||||
"mytest2.cpp": nil,
|
"mytest2.cpp": nil,
|
||||||
"mytest3.cpp": nil,
|
"mytest3.cpp": nil,
|
||||||
"myprebuilt": nil,
|
"myprebuilt": nil,
|
||||||
"my_include": nil,
|
"my_include": nil,
|
||||||
"foo/bar/MyClass.java": nil,
|
"foo/bar/MyClass.java": nil,
|
||||||
"prebuilt.jar": nil,
|
"prebuilt.jar": nil,
|
||||||
"prebuilt.so": nil,
|
"prebuilt.so": nil,
|
||||||
"vendor/foo/devkeys/test.x509.pem": nil,
|
"vendor/foo/devkeys/test.x509.pem": nil,
|
||||||
"vendor/foo/devkeys/test.pk8": nil,
|
"vendor/foo/devkeys/test.pk8": nil,
|
||||||
"testkey.x509.pem": nil,
|
"testkey.x509.pem": nil,
|
||||||
"testkey.pk8": nil,
|
"testkey.pk8": nil,
|
||||||
"testkey.override.x509.pem": nil,
|
"testkey.override.x509.pem": nil,
|
||||||
"testkey.override.pk8": nil,
|
"testkey.override.pk8": nil,
|
||||||
"vendor/foo/devkeys/testkey.avbpubkey": nil,
|
"vendor/foo/devkeys/testkey.avbpubkey": nil,
|
||||||
"vendor/foo/devkeys/testkey.pem": nil,
|
"vendor/foo/devkeys/testkey.pem": nil,
|
||||||
"NOTICE": nil,
|
"NOTICE": nil,
|
||||||
"custom_notice": nil,
|
"custom_notice": nil,
|
||||||
"custom_notice_for_static_lib": nil,
|
"custom_notice_for_static_lib": nil,
|
||||||
"testkey2.avbpubkey": nil,
|
"testkey2.avbpubkey": nil,
|
||||||
"testkey2.pem": nil,
|
"testkey2.pem": nil,
|
||||||
"myapex-arm64.apex": nil,
|
"myapex-arm64.apex": nil,
|
||||||
"myapex-arm.apex": nil,
|
"myapex-arm.apex": nil,
|
||||||
"myapex.apks": nil,
|
"myapex.apks": nil,
|
||||||
"frameworks/base/api/current.txt": nil,
|
"frameworks/base/api/current.txt": nil,
|
||||||
"framework/aidl/a.aidl": nil,
|
"framework/aidl/a.aidl": nil,
|
||||||
"build/make/core/proguard.flags": nil,
|
"dummy.txt": nil,
|
||||||
"build/make/core/proguard_basic_keeps.flags": nil,
|
"baz": nil,
|
||||||
"dummy.txt": nil,
|
"bar/baz": nil,
|
||||||
"baz": nil,
|
"testdata/baz": nil,
|
||||||
"bar/baz": nil,
|
"AppSet.apks": nil,
|
||||||
"testdata/baz": nil,
|
"foo.rs": nil,
|
||||||
"AppSet.apks": nil,
|
"libfoo.jar": nil,
|
||||||
"foo.rs": nil,
|
"libbar.jar": nil,
|
||||||
"libfoo.jar": nil,
|
|
||||||
"libbar.jar": nil,
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
||||||
|
16
java/app.go
16
java/app.go
@@ -638,7 +638,21 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
certificates := processMainCert(a.ModuleBase, a.getCertString(ctx), certificateDeps, ctx)
|
certificates := processMainCert(a.ModuleBase, a.getCertString(ctx), certificateDeps, ctx)
|
||||||
a.certificate = certificates[0]
|
|
||||||
|
// This can be reached with an empty certificate list if AllowMissingDependencies is set
|
||||||
|
// and the certificate property for this module is a module reference to a missing module.
|
||||||
|
if len(certificates) > 0 {
|
||||||
|
a.certificate = certificates[0]
|
||||||
|
} else {
|
||||||
|
if !ctx.Config().AllowMissingDependencies() && len(ctx.GetMissingDependencies()) > 0 {
|
||||||
|
panic("Should only get here if AllowMissingDependencies set and there are missing dependencies")
|
||||||
|
}
|
||||||
|
// Set a certificate to avoid panics later when accessing it.
|
||||||
|
a.certificate = Certificate{
|
||||||
|
Key: android.PathForModuleOut(ctx, "missing.pk8"),
|
||||||
|
Pem: android.PathForModuleOut(ctx, "missing.pem"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Build a final signed app package.
|
// Build a final signed app package.
|
||||||
packageFile := android.PathForModuleOut(ctx, a.installApkName+".apk")
|
packageFile := android.PathForModuleOut(ctx, a.installApkName+".apk")
|
||||||
|
@@ -2948,3 +2948,24 @@ func TestTargetSdkVersionManifestFixer(t *testing.T) {
|
|||||||
android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected)
|
android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAppMissingCertificateAllowMissingDependencies(t *testing.T) {
|
||||||
|
result := android.GroupFixturePreparers(
|
||||||
|
PrepareForTestWithJavaDefaultModules,
|
||||||
|
android.PrepareForTestWithAllowMissingDependencies,
|
||||||
|
android.PrepareForTestWithAndroidMk,
|
||||||
|
).RunTestWithBp(t, `
|
||||||
|
android_app {
|
||||||
|
name: "foo",
|
||||||
|
srcs: ["a.java"],
|
||||||
|
certificate: ":missing_certificate",
|
||||||
|
sdk_version: "current",
|
||||||
|
}`)
|
||||||
|
|
||||||
|
foo := result.ModuleForTests("foo", "android_common")
|
||||||
|
fooApk := foo.Output("foo.apk")
|
||||||
|
if fooApk.Rule != android.ErrorRule {
|
||||||
|
t.Fatalf("expected ErrorRule for foo.apk, got %s", fooApk.Rule.String())
|
||||||
|
}
|
||||||
|
android.AssertStringDoesContain(t, "expected error rule message", fooApk.Args["error"], "missing dependencies: missing_certificate\n")
|
||||||
|
}
|
||||||
|
@@ -70,6 +70,10 @@ var PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd = android.GroupFixtu
|
|||||||
defaultJavaDir + "/framework/aidl": nil,
|
defaultJavaDir + "/framework/aidl": nil,
|
||||||
// Needed for various deps defined in GatherRequiredDepsForTest()
|
// Needed for various deps defined in GatherRequiredDepsForTest()
|
||||||
defaultJavaDir + "/a.java": nil,
|
defaultJavaDir + "/a.java": nil,
|
||||||
|
|
||||||
|
// Needed for R8 rules on apps
|
||||||
|
"build/make/core/proguard.flags": nil,
|
||||||
|
"build/make/core/proguard_basic_keeps.flags": nil,
|
||||||
}.AddToFixture(),
|
}.AddToFixture(),
|
||||||
// The java default module definitions.
|
// The java default module definitions.
|
||||||
android.FixtureAddTextFile(defaultJavaDir+"/Android.bp", gatherRequiredDepsForTest()),
|
android.FixtureAddTextFile(defaultJavaDir+"/Android.bp", gatherRequiredDepsForTest()),
|
||||||
|
@@ -98,9 +98,6 @@ func test(t *testing.T, bp string) *android.TestResult {
|
|||||||
|
|
||||||
"build/soong/scripts/jar-wrapper.sh": nil,
|
"build/soong/scripts/jar-wrapper.sh": nil,
|
||||||
|
|
||||||
"build/make/core/proguard.flags": nil,
|
|
||||||
"build/make/core/proguard_basic_keeps.flags": nil,
|
|
||||||
|
|
||||||
"jdk8/jre/lib/jce.jar": nil,
|
"jdk8/jre/lib/jce.jar": nil,
|
||||||
"jdk8/jre/lib/rt.jar": nil,
|
"jdk8/jre/lib/rt.jar": nil,
|
||||||
"jdk8/lib/tools.jar": nil,
|
"jdk8/lib/tools.jar": nil,
|
||||||
|
Reference in New Issue
Block a user