Skip to content

Commit 1d38c49

Browse files
committed
Also generate source jars for the zips
1 parent d6dafec commit 1d38c49

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

rake-tasks/buck.rb

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,40 @@ def buck(*args, &block)
183183
short = task.name[0..-5]
184184

185185
task.enhance do
186+
dir, target = short[2..-1].split(':', 2)
187+
working_dir = "buck-out/crazy-fun/#{dir}/#{target}_zip"
188+
189+
# Build the source zip
190+
Buck::buck_cmd.call('query', ["kind(java_library, deps(#{short}))"]) do |output|
191+
# Collect all the targets
192+
to_build = []
193+
output.lines do |line|
194+
line.chomp!
195+
to_build.push(line + "#src")
196+
end
197+
198+
src_dir = "buck-out/crazy-fun/#{dir}/#{target}_src_zip"
199+
src_out = "#{working_dir}/#{target}-#{version}-nodeps-sources.zip"
200+
mkdir_p File.dirname(src_out)
201+
rm_f src_out
202+
rm_rf src_dir
203+
204+
mkdir_p src_dir
205+
mkdir_p "#{working_dir}/lib"
206+
mkdir_p "#{working_dir}/uber"
207+
208+
Buck::buck_cmd.call('build', ['--show-output'] + to_build) do |built|
209+
built.lines do |line|
210+
line.chomp!
211+
line.split[1].each do |file|
212+
next unless File.exists? file
213+
sh "cd #{src_dir} && jar xf #{File.expand_path(file)}"
214+
end
215+
end
216+
end
217+
sh "cd #{src_dir} && jar cMf #{File.expand_path(src_out)} *"
218+
end
219+
186220
# Figure out if this is an executable or a test target.
187221
Buck::buck_cmd.call('audit', ['classpath', short]) do |output|
188222
third_party = []
@@ -199,13 +233,6 @@ def buck(*args, &block)
199233
end
200234
end
201235

202-
dir, target = short[2..-1].split(':', 2)
203-
working_dir = "buck-out/crazy-fun/#{dir}/#{target}_zip"
204-
out = "buck-out/crazy-fun/#{dir}/#{target}.zip"
205-
rm_rf working_dir
206-
mkdir_p "#{working_dir}/lib"
207-
mkdir_p "#{working_dir}/uber"
208-
209236
first_party.each do |jar|
210237
sh "cd #{working_dir}/uber && jar xf #{jar}"
211238
end
@@ -214,8 +241,9 @@ def buck(*args, &block)
214241
version = File.open('SELENIUM_VERSION', &:gets).chomp
215242
version = eval(version)
216243

244+
out = "buck-out/crazy-fun/#{dir}/#{target}.zip"
245+
217246
sh "cd #{working_dir}/uber && jar cMf ../#{target}-#{version}-nodeps.jar *"
218-
# TODO: Get the sources of all deps too and build the -src.jar
219247
rm_rf "#{working_dir}/uber"
220248

221249
third_party.each do |jar|

0 commit comments

Comments
 (0)