2121 # with the current directory set to that directory, and also passing the
2222 # directory name to the block.
2323 #
24- def in_directories_with_bundles
24+ def in_directories_with_bundles generator_only : false
25+ non_generator_directories = [ "gapic" , "gapic-common" ]
2526 Dir . chdir context_directory do
2627 Dir . glob "*/Gemfile" do |gemfile |
2728 dir = File . dirname gemfile
29+ next if generator_only && non_generator_directories . include? ( dir )
2830 Dir . chdir dir do
2931 yield dir
3032 end
@@ -89,13 +91,15 @@ def run
8991tool "ci" do
9092 desc "Runs CI in all directories"
9193
94+ flag :generator_only
95+
9296 include :exec
9397 include :terminal
9498 include "repo_info"
9599
96100 def run
97101 failures = [ ]
98- in_directories_with_bundles do |dirname |
102+ in_directories_with_bundles generator_only : generator_only do |dirname |
99103 [ "test" , "rubocop" ] . each do |task_name |
100104 if tool_defined? task_name
101105 puts "Running #{ task_name } in #{ dirname } " , :cyan , :bold
@@ -117,59 +121,34 @@ def run
117121end
118122
119123tool "gen" do
120- desc "Runs the generator for all goldens"
124+ desc "Regenerates output for goldens"
125+
126+ remaining_args :services
127+ flag :generator , "--generator=GENERATOR"
121128
122129 include :exec , e : true
123130 include :terminal
124- include "repo_info"
125131
126132 def run
127- in_directories_with_bundles do |dirname |
128- next if dirname == "shared"
129- puts "Generating in #{ dirname } " , :cyan , :bold
130- exec [ "bundle" , "exec" , "rake" , "gen" ]
131- end
132- end
133-
134- [ "garbage" , "showcase" ] . each do |name |
135- tool name do
136- desc "Runs the generator for #{ name } "
137-
138- include :exec , e : true
139- static :name , name
140-
141- def run
142- Dir . chdir "#{ context_directory } /gapic-generator" do
143- exec [ "bundle" , "exec" , "rake" , "gen:#{ name } " ]
144- end
145- end
133+ Dir . chdir "#{ context_directory } /shared" do
134+ cmd = [ "gen" ] + services + verbosity_flags
135+ cmd += [ "--generator" , generator ] if generator
136+ exec_separate_tool cmd
146137 end
147138 end
148139end
149140
150141tool "bin" do
151- desc "Generates binary input for all goldens"
142+ desc "Regenerates binary input for goldens"
143+
144+ remaining_args :services
152145
153146 include :exec , e : true
147+ include :terminal
154148
155149 def run
156150 Dir . chdir "#{ context_directory } /shared" do
157- exec [ "bundle" , "exec" , "rake" , "gen" ]
158- end
159- end
160-
161- [ "garbage" , "showcase" ] . each do |name |
162- tool name do
163- desc "Generates binary input for #{ name } "
164-
165- include :exec , e : true
166- static :name , name
167-
168- def run
169- Dir . chdir "#{ context_directory } /shared" do
170- exec [ "bundle" , "exec" , "rake" , "gen:#{ name } " ]
171- end
172- end
151+ exec_separate_tool [ "bin" ] + services + verbosity_flags
173152 end
174153 end
175154end
0 commit comments