diff --git a/lib/iron_worker_ng/client.rb b/lib/iron_worker_ng/client.rb index c89965f..870069c 100644 --- a/lib/iron_worker_ng/client.rb +++ b/lib/iron_worker_ng/client.rb @@ -17,7 +17,7 @@ def upload(package) File.unlink(zip_file) end - def queue(package_name, params) + def queue(package_name, params = {}) @api.tasks_create(package_name, {:project_id => @api.project_id, :token => @api.token, :params => params}) end end diff --git a/lib/iron_worker_ng/features/java/jar_merger.rb b/lib/iron_worker_ng/features/java/jar_merger.rb index 0f8460f..60805a0 100644 --- a/lib/iron_worker_ng/features/java/jar_merger.rb +++ b/lib/iron_worker_ng/features/java/jar_merger.rb @@ -15,19 +15,11 @@ def hash_string end def bundle(zip) - Zip::ZipFile.open(@path) do |jar| - jar.entries.each do |entry| - next if entry.name.start_with?('META-INF') + zip.add(File.basename(@path), @path) + end - next unless zip.find_entry(entry.name).nil? - - if entry.ftype == :directory - zip.mkdir(entry.name) - elsif entry.ftype == :file - zip.get_output_stream(entry.name) { |f| f.write(jar.read(entry.name)) } - end - end - end + def code_for_classpath + File.basename(@path) end end diff --git a/lib/iron_worker_ng/features/java/worker_merger.rb b/lib/iron_worker_ng/features/java/worker_merger.rb index 232aca7..6dab4ef 100644 --- a/lib/iron_worker_ng/features/java/worker_merger.rb +++ b/lib/iron_worker_ng/features/java/worker_merger.rb @@ -15,19 +15,11 @@ def hash_string end def bundle(zip) - Zip::ZipFile.open(@path) do |jar| - jar.entries.each do |entry| - next if entry.name.start_with?('META-INF') - - next unless zip.find_entry(entry.name).nil? - - if entry.ftype == :directory - zip.mkdir(entry.name) - elsif entry.ftype == :file - zip.get_output_stream(entry.name) { |f| f.write(jar.read(entry.name)) } - end - end - end + zip.add(File.basename(@path), @path) + end + + def code_for_classpath + File.basename(@path) end end diff --git a/lib/iron_worker_ng/java_package.rb b/lib/iron_worker_ng/java_package.rb index 4beb3e6..35b359f 100644 --- a/lib/iron_worker_ng/java_package.rb +++ b/lib/iron_worker_ng/java_package.rb @@ -8,12 +8,40 @@ def initialize(worker_path = nil, worker_klass = nil) merge_worker(worker_path, worker_klass) if (not worker_path.nil?) && (not worker_klass.nil?) end + def create_runner(zip) + classpath_array = [] + + @features.each do |f| + if f.respond_to?(:code_for_classpath) + classpath_array << f.send(:code_for_classpath) + end + end + + classpath = classpath_array.join(':') + + zip.get_output_stream('runner.rb') do |runner| + runner.write <