Sha256: 088f46aaaa94d1744004c3533875ee1006f17b3cf72b627e2c7ab9aec0c8d763

Contents?: true

Size: 1.74 KB

Versions: 14

Compression:

Stored size: 1.74 KB

Contents

require 'constants'


class ReleaseInvoker

  constructor :configurator, :release_invoker_helper, :build_invoker_utils, :dependinator, :task_invoker, :file_path_utils, :file_wrapper


  def setup_and_invoke_c_objects( c_files )
    objects = @file_path_utils.form_release_build_c_objects_filelist( c_files )

    begin
      @release_invoker_helper.process_deep_dependencies( @file_path_utils.form_release_dependencies_filelist( c_files ) )

      @dependinator.enhance_release_file_dependencies( objects )
      @task_invoker.invoke_release_objects( objects )
    rescue => e
      @build_invoker_utils.process_exception( e, RELEASE_SYM, false )
    end

    return objects
  end


  def setup_and_invoke_asm_objects( asm_files )
    objects = @file_path_utils.form_release_build_asm_objects_filelist( asm_files )

    begin
      @dependinator.enhance_release_file_dependencies( objects )
      @task_invoker.invoke_release_objects( objects )
    rescue => e
      @build_invoker_utils.process_exception( e, RELEASE_SYM, false )
    end
    
    return objects
  end


  def refresh_c_deep_dependencies
    return if (not @configurator.project_use_deep_dependencies)

    @file_wrapper.rm_f( 
      @file_wrapper.directory_listing( 
        File.join( @configurator.project_release_dependencies_path, '*' + @configurator.extension_dependencies ) ) )

    @release_invoker_helper.process_deep_dependencies( 
      @file_path_utils.form_release_dependencies_filelist( 
        @configurator.collection_all_source ) )    
  end


  def artifactinate( *files )
    files.flatten.each do |file|
      @file_wrapper.cp( file, @configurator.project_release_artifacts_path ) if @file_wrapper.exist?( file )
    end
  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ceedling-0.13.0 lib/release_invoker.rb
ceedling-0.13.0.rc1 lib/release_invoker.rb
ceedling-0.12.2 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.12.1 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.12.0 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.11.2 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.11.1 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.11.0 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.10.0 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.9.4 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.9.2 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.9.0 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.0.18 new_project_template/vendor/ceedling/lib/release_invoker.rb
ceedling-0.0.17 new_project_template/vendor/ceedling/lib/release_invoker.rb