Class: CORL::Plugin::Builder

Inherits:
Object
  • Object
show all
Extended by:
Mixin::Builder::Global
Includes:
Mixin::Builder::Instance, Parallel
Defined in:
lib/core/plugin/builder.rb

Instance Method Summary collapse

Methods included from Mixin::Builder::Global

concatenate, id, id_joiner, process_environment, resource, resource_joiner

Methods included from Mixin::Builder::Instance

#build_config, #build_directory, #build_lock, #concatenate, #id, #id_joiner, #internal_path, #process_environment, #resource, #resource_joiner

Instance Method Details

#build(node, options = {}) ⇒ Object


Builder operations



30
31
32
33
34
35
36
37
38
39
# File 'lib/core/plugin/builder.rb', line 30

def build(node, options = {})
  config        = Config.ensure(options)
  environment   = Util::Data.ensure_value(config[:environment], node.lookup(:corl_environment))
  configuration = process_environment(export, environment)

  FileUtils.mkdir_p(build_directory)

  status = parallel(:build_provider, configuration, environment, config)
  status.values.include?(false) ? false : true
end

#build_provider(name, project_reference, environment, config) ⇒ Object




43
44
45
46
# File 'lib/core/plugin/builder.rb', line 43

def build_provider(name, project_reference, environment, config)
  # Implement in sub classes
  true
end

#normalize(reload) ⇒ Object


Builder plugin interface



14
15
16
17
# File 'lib/core/plugin/builder.rb', line 14

def normalize(reload)
  super
  yield if block_given?
end