Sha256: 425e0b5b1fc3a62d32f6c8cbfa90a46192bdf5f2b6aedb399c7a20ae488bb5c9

Contents?: true

Size: 1.37 KB

Versions: 14

Compression:

Stored size: 1.37 KB

Contents

require 'dply/logger'
require 'dply/lock'
require 'dply/tasks'
require 'fileutils'

module Dply
  module Cli
    class Devbuild

      include Logger

      def initialize(argv)
        @argv = argv
        @options = {}
      end

      def run
        lock.acquire
        opts.parse!(@argv)
        revision = @options[:revision] || "dev"
        ENV["BUILD_NUMBER"] = revision

        build_artifacts = "tmp/build_artifacts"
        FileUtils.mkdir_p build_artifacts

        clear_bundle_config
        tasks.install_pkgs(build_mode: true, use_yum: @options[:use_yum])
        tasks.build "build:default"
      ensure
        clear_bundle_config
      end

      def tasks
        @tasks ||= ::Dply::Tasks.new
      end

      def lock
        @lock ||= ::Dply::Lock.new
      end

      def clear_bundle_config
        FileUtils.rm ".bundle/config" if File.exists? ".bundle/config"
      end

      def opts
        OptionParser.new do |opts|

          opts.banner = "Usage: drake devbuild [options] [target]"

          opts.on("-r", "--revision [REVISION]", "Specify revision") do |r|
            @options[:revision] = r
          end

          opts.on("--use-yum", "use yum to install packages") do |e|
            @options[:use_yum] = true
          end

          opts.on("-h", "--help", "Help") do
            puts opts
            exit
          end
        end
      end

    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
dply-0.2.11 lib/dply/cli/devbuild.rb
dply-0.2.10 lib/dply/cli/devbuild.rb
dply-0.2.9 lib/dply/cli/devbuild.rb
dply-0.2.8 lib/dply/cli/devbuild.rb
dply-0.2.7 lib/dply/cli/devbuild.rb
dply-0.2.6 lib/dply/cli/devbuild.rb
dply-0.2.5 lib/dply/cli/devbuild.rb
dply-0.2.4 lib/dply/cli/devbuild.rb
dply-0.2.3 lib/dply/cli/devbuild.rb
dply-0.2.2 lib/dply/cli/devbuild.rb
dply-0.2.0 lib/dply/cli/devbuild.rb
dply-0.1.19 lib/dply/cli/devbuild.rb
dply-0.1.18 lib/dply/cli/devbuild.rb
dply-0.1.17 lib/dply/cli/devbuild.rb