Sha256: 4d63a4c7e663d59eb1680c99251910454ac097efbea2b7ad6cdfcbb82d5817ea

Contents?: true

Size: 949 Bytes

Versions: 1

Compression:

Stored size: 949 Bytes

Contents

module GitCompound
  module Command
    module Procedure
      # BuildManifest procedure class
      #
      class BuildManifest < Procedure
        include Element::Manifest
        include Element::Lock
        include Element::Subprocedure

        add_subprocedure :check_dependencies, Check
        add_subprocedure :tasks_runner,       Tasks

        def execute
          Logger.info 'Building components ...'

          check_dependencies
          build_manifest
          execute_tasks
          lock_manifest
        end

        private

        def check_dependencies
          subprocedure(:check_dependencies)
        end

        def build_manifest
          @manifest.process(Worker::ComponentBuilder.new(@lock))
        end

        def execute_tasks
          subprocedure(:tasks_runner)
        end

        def lock_manifest
          @lock.lock_manifest(@manifest)
          @lock.write
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
git_compound-0.2.0 lib/git_compound/command/procedure/build_manifest.rb