Sha256: 35200bae72919574b611e094fca523955a92782588821c59d687ac27845aae0c

Contents?: true

Size: 996 Bytes

Versions: 11

Compression:

Stored size: 996 Bytes

Contents

require 'docker'
require_relative '../tasklib'

module RakeDocker
  module Tasks
    class Build < TaskLib
      parameter :name, :default => :build

      parameter :image_name, :required => true
      parameter :repository_name, :required => true

      parameter :work_directory, :required => true

      parameter :prepare_task, :default => :prepare

      def process_arguments(args)
        self.name = args[0] if args[0]
      end

      def define
        prerequisites = prepare_task ?
            [scoped_task_name(prepare_task)] :
            []

        desc "Build #{image_name} image"
        task name => prerequisites do
          Docker::Image.build_from_dir(
              File.join(work_directory, image_name),
              {t: repository_name}) do |chunk|
            $stdout.puts chunk
          end
        end
      end

      private

      def scoped_task_name(task_name)
        Rake.application.current_scope.path_with_task_name(task_name)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
rake_docker-0.10.0 lib/rake_docker/tasks/build.rb
rake_docker-0.9.0 lib/rake_docker/tasks/build.rb
rake_docker-0.8.0 lib/rake_docker/tasks/build.rb
rake_docker-0.7.4 lib/rake_docker/tasks/build.rb
rake_docker-0.7.3 lib/rake_docker/tasks/build.rb
rake_docker-0.7.2 lib/rake_docker/tasks/build.rb
rake_docker-0.7.1 lib/rake_docker/tasks/build.rb
rake_docker-0.7.0 lib/rake_docker/tasks/build.rb
rake_docker-0.6.0 lib/rake_docker/tasks/build.rb
rake_docker-0.5.0 lib/rake_docker/tasks/build.rb
rake_docker-0.4.0 lib/rake_docker/tasks/build.rb