Sha256: 7833d2c71ce6cb0188f7ab4f2f500f770422e1f6566d027abd66b2711abc1e9c

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

require_relative '../feature/ruby/merge_gem'

module IronWorkerNG
  module Code
    class Builder < IronWorkerNG::Code::Ruby
      def initialize(*args, &block)
        @features = []
        @base_dir = ''
        @dest_dir = ''
      end

      def bundle(zip)
        @exec = IronWorkerNG::Feature::Ruby::MergeExec::Feature.new(self, '__builder__.rb', nil)

        super(zip)

        zip.get_output_stream(@dest_dir + '__builder__.sh') do |builder|
          builder.write <<BUILDER_SH
# iron_worker_ng-#{IronWorkerNG.full_version}
#{remote_build_command}
BUILDER_SH
        end

        zip.get_output_stream(@dest_dir + '__builder__.rb') do |builder|
          builder.write <<BUILDER_RUBY
# iron_worker_ng-#{IronWorkerNG.full_version}

require 'iron_worker_ng'
require 'json'

exit 1 unless system('cd __build__ && sh ../__builder__.sh && cd ..')

Dir.chdir('__build__')

code = IronWorkerNG::Code::Base.new
code.name params[:code_name]
code.dir '.'

client = IronWorkerNG::Client.new(:token => params[:iron_token], :project_id => params[:iron_project_id])

res = client.codes.create(code, JSON.parse(params[:codes_create_options]))

client.tasks.set_progress(iron_task_id, :msg => res.marshal_dump.to_json)
BUILDER_RUBY
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
iron_worker_ng-0.7.4 lib/iron_worker_ng/code/builder.rb
iron_worker_ng-0.7.3 lib/iron_worker_ng/code/builder.rb
iron_worker_ng-0.7.2 lib/iron_worker_ng/code/builder.rb
iron_worker_ng-0.7.1 lib/iron_worker_ng/code/builder.rb