Change bazel_module property to be of struct type instead of string

Test: Manual verification, and update to genrule_test.go
Change-Id: Ic507a35438be5261342a958f3a462a73739e2482
diff --git a/genrule/genrule.go b/genrule/genrule.go
index 178587a..99d6207 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -81,6 +81,12 @@
 	label string
 }
 
+// TODO(cparsons): Move to a common location when there is more than just
+// genrule with a bazel_module property.
+type bazelModuleProperties struct {
+	Label string
+}
+
 type generatorProperties struct {
 	// The command to run on one or more input files. Cmd supports substitution of a few variables
 	//
@@ -115,7 +121,7 @@
 	Exclude_srcs []string `android:"path,arch_variant"`
 
 	// in bazel-enabled mode, the bazel label to evaluate instead of this module
-	Bazel_module string
+	Bazel_module bazelModuleProperties
 }
 type Module struct {
 	android.ModuleBase
@@ -472,7 +478,7 @@
 
 	g.outputFiles = outputFiles.Paths()
 
-	bazelModuleLabel := g.properties.Bazel_module
+	bazelModuleLabel := g.properties.Bazel_module.Label
 	bazelActionsUsed := false
 	if ctx.Config().BazelContext.BazelEnabled() && len(bazelModuleLabel) > 0 {
 		bazelActionsUsed = g.generateBazelBuildActions(ctx, bazelModuleLabel)