diff options
| author | 2021-11-06 07:08:45 +0900 | |
|---|---|---|
| committer | 2021-11-06 07:31:50 +0900 | |
| commit | 07f70c0e924aee6907b07e2815df96732bec50ef (patch) | |
| tree | 42a6ebb9ddf0d0a89feb70abfbc80dd6a7eff561 /java/java_test.go | |
| parent | dbb2a94cda172feb4dad8bfb3cc07d1b267e424e (diff) | |
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
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
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 { |