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,