aboutsummaryrefslogtreecommitdiffstats
path: root/java/java_test.go
diff options
context:
space:
mode:
authorZoran Jovanovic <zoran.jovanovic@sony.com>2018-08-21 17:10:29 +0200
committerColin Cross <ccross@android.com>2018-11-14 15:02:46 +0000
commit8736ce29e8cda85924fa2f083a1421afed965bb2 (patch)
tree7755f70b63be5bce2f22b7c8c66d8ec0dd9f63eb /java/java_test.go
parentad9eab8b51f9e38b287d4ab42880d724970126bf (diff)
downloadbuild_soong-8736ce29e8cda85924fa2f083a1421afed965bb2.tar.gz
build_soong-8736ce29e8cda85924fa2f083a1421afed965bb2.tar.bz2
build_soong-8736ce29e8cda85924fa2f083a1421afed965bb2.zip
Enable kotlinc flags in blueprint files
Add support for adding kotlinc files in the module. Some flags are unnecessary as they are added by default (-no-jdk and -no-stdlib), or are not needed on an Android build (-include-runtime), or may conflict with the build (-kotlin-home and -Xintellij-plugin-root), so the error stops the build if they are added. Test: part of java/java_test.go Change-Id: If3b2777062daaa490a20c014e9b1bb4b1cb0a8df Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sony.com>
Diffstat (limited to 'java/java_test.go')
-rw-r--r--java/java_test.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go
index 86349fe6..4d4b8361 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -1124,3 +1124,64 @@ func TestJavaSdkLibrary(t *testing.T) {
}
}
}
+
+var compilerFlagsTestCases = []struct {
+ in string
+ out bool
+}{
+ {
+ in: "a",
+ out: false,
+ },
+ {
+ in: "-a",
+ out: true,
+ },
+ {
+ in: "-no-jdk",
+ out: false,
+ },
+ {
+ in: "-no-stdlib",
+ out: false,
+ },
+ {
+ in: "-kotlin-home",
+ out: false,
+ },
+ {
+ in: "-kotlin-home /some/path",
+ out: false,
+ },
+ {
+ in: "-include-runtime",
+ out: false,
+ },
+ {
+ in: "-Xintellij-plugin-root",
+ out: false,
+ },
+}
+
+type mockContext struct {
+ android.ModuleContext
+ result bool
+}
+
+func (ctx *mockContext) PropertyErrorf(property, format string, args ...interface{}) {
+ // CheckBadCompilerFlags calls this function when the flag should be rejected
+ ctx.result = false
+}
+
+func TestCompilerFlags(t *testing.T) {
+ for _, testCase := range compilerFlagsTestCases {
+ ctx := &mockContext{result: true}
+ CheckKotlincFlags(ctx, []string{testCase.in})
+ if ctx.result != testCase.out {
+ t.Errorf("incorrect output:")
+ t.Errorf(" input: %#v", testCase.in)
+ t.Errorf(" expected: %#v", testCase.out)
+ t.Errorf(" got: %#v", ctx.result)
+ }
+ }
+}