# encoding: utf-8 $:.unshift File.expand_path("../lib", __FILE__) require "bundler" require "thor/rake_compat" class Gem < Thor include Thor::RakeCompat Bundler::GemHelper.install_tasks desc "build", "Build berkshelf-#{Berkshelf::VERSION}.gem into the pkg directory" def build Rake::Task["build"].execute end desc "install", "Build and install berkshelf-#{Berkshelf::VERSION}.gem into system gems" def install Rake::Task["install"].execute end desc "release", "Create tag v#{Berkshelf::VERSION} and build and push berkshelf-#{Berkshelf::VERSION}.gem to Rubygems" def release Rake::Task["release"].execute end end class Spec < Thor include Thor::Actions default_task :all desc "all", "Run all specs and features" def all exit(units_command && acceptance_command) end desc "ci", "Run tests on Travis" def ci ENV["CI"] = "true" # Travis-CI also sets this, but set it here for local testing all end desc "unit", "Run unit tests" def unit exit(units_command) end desc "acceptance", "Run acceptance tests" def acceptance exit(acceptance_command) end no_tasks do def units_command run("rspec --color --format progress spec/unit") end def acceptance_command run("cucumber --color --format progress --tags ~@no_run --strict") end end end