diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/java.go | 5 | ||||
| -rw-r--r-- | java/java_test.go | 16 |
2 files changed, 21 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go index 18dd9bda4..82b53be1d 100644 --- a/java/java.go +++ b/java/java.go @@ -304,6 +304,9 @@ type CompilerDeviceProperties struct { // whether to generate Binder#GetTransaction name method. Generate_get_transaction_name *bool + + // list of flags that will be passed to the AIDL compiler + Flags []string } // If true, export a copy of the module as a -hostdex module for host testing. @@ -872,6 +875,8 @@ func (j *Module) aidlFlags(ctx android.ModuleContext, aidlPreprocess android.Opt var flags []string var deps android.Paths + flags = append(flags, j.deviceProperties.Aidl.Flags...) + if aidlPreprocess.Valid() { flags = append(flags, "-p"+aidlPreprocess.String()) deps = append(deps, aidlPreprocess.Path()) diff --git a/java/java_test.go b/java/java_test.go index d1ba3dbe4..a2466f995 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -2424,6 +2424,22 @@ func TestAidlExportIncludeDirsFromImports(t *testing.T) { } } +func TestAidlFlagsArePassedToTheAidlCompiler(t *testing.T) { + ctx, _ := testJava(t, ` + java_library { + name: "foo", + srcs: ["aidl/foo/IFoo.aidl"], + aidl: { flags: ["-Werror"], }, + } + `) + + aidlCommand := ctx.ModuleForTests("foo", "android_common").Rule("aidl").RuleParams.Command + expectedAidlFlag := "-Werror" + if !strings.Contains(aidlCommand, expectedAidlFlag) { + t.Errorf("aidl command %q does not contain %q", aidlCommand, expectedAidlFlag) + } +} + func TestDataNativeBinaries(t *testing.T) { ctx, config := testJava(t, ` java_test_host { |