Strip javac 9 module arguments
Strip module-related javac 9 command line arguments that don't apply
to javac 8.
Test: m -j checkbuild
Change-Id: If44a3d9d7227e923117dc75bbabbddb41026b25d
diff --git a/java/config/config.go b/java/config/config.go
index cfedf3d..5773164 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -70,3 +70,17 @@
return "", nil
})
}
+
+func StripJavac9Flags(flags []string) []string {
+ var ret []string
+ for _, f := range flags {
+ switch {
+ case strings.HasPrefix(f, "-J--add-modules="):
+ // drop
+ default:
+ ret = append(ret, f)
+ }
+ }
+
+ return ret
+}
diff --git a/java/java.go b/java/java.go
index b4ed207..2298acc 100644
--- a/java/java.go
+++ b/java/java.go
@@ -301,6 +301,9 @@
var flags javaBuilderFlags
javacFlags := j.properties.Javacflags
+ if ctx.AConfig().Getenv("EXPERIMENTAL_USE_OPENJDK9") == "" {
+ javacFlags = config.StripJavac9Flags(javacFlags)
+ }
if len(deps.annotationProcessors) > 0 {
javacFlags = append(javacFlags,