Support multiple outputs in genrules with depfile: true

Ninja doesn't support depfiles on a rule with multiple outputs.
Use a single output and put all the rest as implicit outputs.

Bug: 68057449
Test: java_test.go
Change-Id: Ia544493b1b3b51b185c865149d8f3e0eb3c57ee2
diff --git a/java/java_test.go b/java/java_test.go
index 451f58e..8ac4b3b 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -613,13 +613,13 @@
 	javac := ctx.ModuleForTests("foo", "android_common").Rule("javac")
 	genrule := ctx.ModuleForTests("gen", "").Rule("generator")
 
-	if len(genrule.Outputs) != 1 || filepath.Base(genrule.Outputs[0].String()) != "gen.java" {
-		t.Fatalf(`gen output file %v is not [".../gen.java"]`, genrule.Outputs.Strings())
+	if filepath.Base(genrule.Output.String()) != "gen.java" {
+		t.Fatalf(`gen output file %v is not ".../gen.java"`, genrule.Output.String())
 	}
 
 	if len(javac.Inputs) != 3 ||
 		javac.Inputs[0].String() != "a.java" ||
-		javac.Inputs[1].String() != genrule.Outputs[0].String() ||
+		javac.Inputs[1].String() != genrule.Output.String() ||
 		javac.Inputs[2].String() != "b.java" {
 		t.Errorf(`foo inputs %v != ["a.java", ".../gen.java", "b.java"]`, javac.Inputs)
 	}