Sha256: 497f625c00b3e762fab13171c5a6cf04bca2b04d3116ce43606f7937e4cb8d7a

Contents?: true

Size: 1.5 KB

Versions: 5

Compression:

Stored size: 1.5 KB

Contents

require "bundler/gem_tasks"
require "rspec/core/rake_task"

task default: :test

desc "Run specs"
RSpec::Core::RakeTask.new(:spec) do |spec|
  spec.pattern = "spec/**/*_spec.rb"
end

begin
  require "chefstyle"
  require "rubocop/rake_task"
  RuboCop::RakeTask.new(:style) do |task|
    task.options += ["--display-cop-names", "--no-color"]
  end
rescue LoadError
  puts "chefstyle/rubocop is not available.  gem install chefstyle to do style checking."
end

desc "Run all tests"
task test: [:style, :spec, :unstable]

desc "Run unstable channel tests"
task "unstable" do
  if ENV["ARTIFACTORY_USERNAME"].nil? || ENV["ARTIFACTORY_PASSWORD"].nil?
    abort <<-EOS.gsub(/^\s+/, "")
      Must set ARTIFACTORY_USERNAME and ARTIFACTORY_PASSWORD environment
      variables to run unstable tests
    EOS
  end
  Rake::Task["style"].invoke
  system("bundle exec rspec -t unstable")
end

desc "Run tests for Travis CI"
task ci: [:style, :spec]

desc "Render product matrix documentation"
task "matrix" do
  require "mixlib/install/product"

  doc_file = File.join(File.dirname(__FILE__), "PRODUCT_MATRIX.md")
  puts "Updating doc file at: #{doc_file}"

  File.open(doc_file, "w+") do |f|
    f.puts("| Product | Product Key  |")
    f.puts("| ------- | ------------ |")
    PRODUCT_MATRIX.products.sort.each do |p_key|
      product = PRODUCT_MATRIX.lookup(p_key)
      f.puts("| #{product.product_name} | #{p_key} |")
    end
    f.puts("")
    f.puts("Do not modify this file manually. It is automatically rendered via a rake task.")
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mixlib-install-1.0.2 Rakefile
mixlib-install-1.0.1 Rakefile
mixlib-install-1.0.0 Rakefile
mixlib-install-0.8.0.alpha.8 Rakefile
mixlib-install-0.8.0.alpha.7 Rakefile