summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authorKartik Null Cating-Subramanian <ksubramanian@chef.io>2015-08-04 16:40:29 -0400
committerKartik Null Cating-Subramanian <ksubramanian@chef.io>2015-08-25 14:06:55 -0400
commita3f0b52d9c19df4136a07fbdcec7c416a1904c1a (patch)
tree7a9a868b45fc92b0997fbd789d00a1b5e7e1b387 /Rakefile
parent49009b301e10130629944fd3b3511a26cdfbd1b1 (diff)
downloadchef-a3f0b52d9c19df4136a07fbdcec7c416a1904c1a.tar.gz
Refactor chef's Rakefile to a task.
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile114
1 files changed, 4 insertions, 110 deletions
diff --git a/Rakefile b/Rakefile
index 628e0e1d45..6b9a52f68d 100644
--- a/Rakefile
+++ b/Rakefile
@@ -20,121 +20,15 @@
VERSION = IO.read(File.expand_path("../VERSION", __FILE__)).strip
require 'rubygems'
-require 'rubygems/package_task'
+require 'chef-config/package_task'
require 'rdoc/task'
require_relative 'tasks/rspec'
require_relative 'tasks/external_tests'
require_relative 'tasks/maintainers'
-GEM_NAME = "chef"
-
-desc "build Gems of Chef's components"
-task :package_components do
- Dir.chdir("chef-config") do
- sh "rake package"
- end
-end
-
-task :package => :package_components
-
-desc "build and install chef's components"
-task :install_components => :package_components do
- Dir.chdir("chef-config") do
- sh "rake install"
- end
-end
-
-task :install => :install_components
-
-desc "clean up builds of Chef's components"
-task :clobber_component_packages do
- Dir.chdir("chef-config") do
- sh "rake clobber_package"
- end
-end
-
-task :clobber_package => :clobber_component_packages
-
-desc "Update the version number for Chef's components"
-task :update_components_versions do
- Dir.chdir("chef-config") do
- sh "rake version"
- end
-end
-
-desc "Regenerate lib/chef/version.rb from VERSION file"
-task :version => :update_components_versions do
- contents = <<-VERSION_RB
-# Copyright:: Copyright (c) 2010-2015 Chef Software, Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# NOTE: This file is generated by running `rake version` in the top level of
-# this repo. Do not edit this manually. Edit the VERSION file and run the rake
-# task instead.
-#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-class Chef
- CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
- VERSION = '#{VERSION}'
-end
-
-#
-# NOTE: the Chef::Version class is defined in version_class.rb
-#
-# NOTE: DO NOT Use the Chef::Version class on Chef::VERSIONs. The
-# Chef::Version class is for _cookbooks_ only, and cannot handle
-# pre-release chef-client versions like "10.14.0.rc.2". Please
-# use Rubygem's Gem::Version class instead.
-#
-VERSION_RB
- version_rb_path = File.expand_path("../lib/chef/version.rb", __FILE__)
- IO.write(version_rb_path, contents)
-end
-
-Dir[File.expand_path("../*gemspec", __FILE__)].reverse.each do |gemspec_path|
- gemspec = eval(IO.read(gemspec_path))
- Gem::PackageTask.new(gemspec).define
-end
-
-def with_clean_env(&block)
- if defined?(Bundler)
- Bundler.with_clean_env(&block)
- else
- block.call
- end
-end
-
-desc "Build and install a chef gem"
-task :install => [:package] do
- with_clean_env do
- sh %{gem install pkg/#{GEM_NAME}-#{VERSION}.gem --no-rdoc --no-ri}
- end
-end
-
-task :uninstall do
- sh %{gem uninstall #{GEM_NAME} -x -v #{VERSION} }
-end
-
-desc "Build it, tag it and ship it"
-task :ship => [:clobber_package, :gem] do
- sh("git tag #{VERSION}")
- sh("git push opscode --tags")
- Dir[File.expand_path("../pkg/*.gem", __FILE__)].reverse.each do |built_gem|
- sh("gem push #{built_gem}")
- end
+ChefConfig::PackageTask.new(File.expand_path('..', __FILE__), 'Chef') do |package|
+ package.component_paths = ['chef-config']
+ package.generate_version_class = true
end
task :pedant do