Sha256: 143f8f93c7ffdcbbe3da5e4187d8c1abc0380999e3a0bcd65a0cb7808d0cd44e

Contents?: true

Size: 1.04 KB

Versions: 36

Compression:

Stored size: 1.04 KB

Contents

module Bozo::Packagers

  # Specifies gem packager.
  #
  # Builds any '*.gemspec' file in the root directory
  class Rubygems

    def execute
      dist_dir = File.expand_path(File.join('dist', 'gem'))
      FileUtils.mkdir_p dist_dir

      Dir['*.gemspec'].each { |spec| build_gem spec }
      Dir['*.gem'].each { |file| FileUtils.mv file, File.join(dist_dir, file) }
    end

    private

    def build_gem(spec)
      if pre_release?
        package_version.write_to_file
      end

      begin
        execute_command :rubygems, ['gem', 'build', spec]
      ensure
        if pre_release?
          version.write_to_file
        end
      end
    end

    def package_version
      RubyGemVersion.parse(env['BUILD_VERSION_FULL'])
    end

    class RubyGemVersion < Bozo::Versioning::Version

      def self.parse(version)
        new version.major, version.minor, version.patch, version.extension
      end

      def to_s
        "#{major}.#{minor}.#{patch}.#{extension}"
      end

    end

  end

end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
bozo-scripts-0.18.5 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.18.4 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.18.3 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.18.2 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.18.1 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.18.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.17.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.16.3 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.16.2 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.16.1 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.16.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.15.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.14.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.13.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.12.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.11.0 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.10.6 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.10.5 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.10.4 lib/bozo/packagers/rubygems.rb
bozo-scripts-0.10.3 lib/bozo/packagers/rubygems.rb