Sha256: 7dde99a614541e087a0705cfc69bda674f8244ad9ae52e52c3f71bdc4e941e87

Contents?: true

Size: 1.02 KB

Versions: 17

Compression:

Stored size: 1.02 KB

Contents

class Juwelier
  module Commands
    class BuildGem
      attr_accessor :base_dir, :gemspec_helper, :file_utils, :version_helper

      def initialize
        self.file_utils = FileUtils
      end

      def run
        gemspec_helper.update_version(version_helper) unless gemspec_helper.has_version?

        gemspec = gemspec_helper.parse

        if Gem::Version.new(`gem -v`) >= Gem::Version.new("2.0.0.a")
          gem_file_name = Gem::Package.build(gemspec)
        else
          require "rubygems/builder"
          gem_file_name = Gem::Builder.new(gemspec).build
        end

        pkg_dir = File.join(base_dir, 'pkg')
        file_utils.mkdir_p pkg_dir

        gem_file_name = File.join(base_dir, gem_file_name)
        file_utils.mv gem_file_name, pkg_dir
      end

      def self.build_for(juwelier)
        command = new

        command.base_dir = juwelier.base_dir
        command.gemspec_helper = juwelier.gemspec_helper
        command.version_helper = juwelier.version_helper

        command
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
juwelier-2.4.9 lib/juwelier/commands/build_gem.rb
juwelier-2.4.7 lib/juwelier/commands/build_gem.rb
juwelier-2.4.6 lib/juwelier/commands/build_gem.rb
juwelier-2.4.5 lib/juwelier/commands/build_gem.rb
juwelier-2.4.4 lib/juwelier/commands/build_gem.rb
juwelier-2.4.1 lib/juwelier/commands/build_gem.rb
juwelier-2.4.0 lib/juwelier/commands/build_gem.rb
juwelier-2.3.6 lib/juwelier/commands/build_gem.rb
juwelier-2.3.4 lib/juwelier/commands/build_gem.rb
juwelier-2.3.2 lib/juwelier/commands/build_gem.rb
juwelier-2.3.0 lib/juwelier/commands/build_gem.rb
juwelier-2.2.3 lib/juwelier/commands/build_gem.rb
juwelier-2.2.1 lib/juwelier/commands/build_gem.rb
juwelier-2.1.3 lib/juwelier/commands/build_gem.rb
juwelier-2.1.2 lib/juwelier/commands/build_gem.rb
juwelier-2.1.1 lib/juwelier/commands/build_gem.rb
juwelier-2.1.0 lib/juwelier/commands/build_gem.rb