Class: KuberKit::Actions::ImageCompiler

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/actions/image_compiler.rb

Instance Method Summary collapse

Instance Method Details

#call(image_names, options) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/kuber_kit/actions/image_compiler.rb', line 11

def call(image_names, options)
  build_id = generate_build_id

  resolved_dependencies = []
  dependencies = image_dependency_resolver.get_next(image_names)

  while (dependencies - resolved_dependencies).any?
    compile_simultaneously(dependencies, build_id)
    resolved_dependencies += dependencies
    dependencies = image_dependency_resolver.get_next(image_names, resolved: resolved_dependencies)
  end

  compile_simultaneously(image_names - resolved_dependencies, build_id)
end