From 07f70c0e924aee6907b07e2815df96732bec50ef Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Sat, 6 Nov 2021 07:08:45 +0900 Subject: Pass --min_sdk_version to aidl compiler cc/java modules can have .aidl files as srcs. Pass min_sdk_version to the aidl compiler so that it can check some features against it. For example, ParcelableHolder AIDL type is available since 31. Bug: 205338951 Test: soong test && m Change-Id: I7ecab913e00c9b6a3ce870dacbe9773d2ddb7e93 --- java/java_test.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'java/java_test.go') diff --git a/java/java_test.go b/java/java_test.go index bc9b40964..c039f7246 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1357,6 +1357,36 @@ func TestAidlFlagsArePassedToTheAidlCompiler(t *testing.T) { } } +func TestAidlFlagsWithMinSdkVersion(t *testing.T) { + fixture := android.GroupFixturePreparers( + prepareForJavaTest, FixtureWithPrebuiltApis(map[string][]string{"14": {"foo"}})) + + for _, tc := range []struct { + name string + sdkVersion string + expected string + }{ + {"default is current", "", "current"}, + {"use sdk_version", `sdk_version: "14"`, "14"}, + {"system_current", `sdk_version: "system_current"`, "current"}, + } { + t.Run(tc.name, func(t *testing.T) { + ctx := fixture.RunTestWithBp(t, ` + java_library { + name: "foo", + srcs: ["aidl/foo/IFoo.aidl"], + `+tc.sdkVersion+` + } + `) + aidlCommand := ctx.ModuleForTests("foo", "android_common").Rule("aidl").RuleParams.Command + expectedAidlFlag := "--min_sdk_version=" + tc.expected + if !strings.Contains(aidlCommand, expectedAidlFlag) { + t.Errorf("aidl command %q does not contain %q", aidlCommand, expectedAidlFlag) + } + }) + } +} + func TestDataNativeBinaries(t *testing.T) { ctx, _ := testJava(t, ` java_test_host { -- cgit v1.2.3-59-g8ed1b