Sha256: 02469eb1628249a3d1ee6b94be7265d97baf1393dec757f79783a08b903c6fe4

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

gemspecs = FileList.new('**/*.gemspec')

if gemspecs.size > 1
  require 'rake/clean'
  require 'bundler/gem_helper'
  CLOBBER.include 'pkg'

  gems = gemspecs.sub(/\.gemspec$/, '')

  gems.each do |gem_name|
    namespace gem_name do
      Bundler::GemHelper.install_tasks(name: gem_name)
    end
  end

  namespace :gem do
    desc 'Build each gem'
    task build: gems.map { |gem| :"#{gem}:build" }

    desc 'Install each gem'
    task install: gems.map { |gem| :"#{gem}:install" }

    namespace :install do
      desc 'Install each gem without network access'
      task local: gems.map { |gem| :"#{gem}:install" }
    end

    desc "Create tags, build and push each gem to Rubygems\n" \
           'To prevent publishing in Rubygems use `gem_push=no rake release`'
    task 'release', [:remote] => gems.map { |gem| :"#{gem}:release" }

    desc 'List all gems'
    task :list do
      gems.each { |gem| puts gem }
    end
  end

  namespace :build do
    task default: %i[gem:build]
  end
elsif gemspecs.size == 1
  require 'bundler/gem_tasks'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
development-toolbox-0.8.0 rakelib/gem.rake
development-toolbox-0.7.0 rakelib/gem.rake