
Converts the entire project from submodules to a single module with a rake task to manage its dependencies. This has been done b/c there needs to be a module called openstack to contain all of the higher level openstack specifications.
47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
#
|
|
# Rakefile to make management of module easier (I hope :) )
|
|
#
|
|
# I did not do this in puppet b/c it requires the vcsrepo!!
|
|
#
|
|
#
|
|
|
|
require 'puppet'
|
|
|
|
repo_file = 'other_repos.yaml'
|
|
|
|
namespace :modules do
|
|
desc 'clone all required modules'
|
|
task :clone do
|
|
repo_hash = YAML.load_file(File.join(File.dirname(__FILE__), repo_file))
|
|
repos = (repo_hash['repos'] || {})
|
|
repos_to_clone = (repos['repo_paths'] || {})
|
|
branches_to_checkout = (repos['checkout_branches'] || {})
|
|
repos_to_clone.each do |remote, local|
|
|
# I should check to see if the file is there?
|
|
output = `git clone #{remote} #{local}`
|
|
Puppet.debug(output)
|
|
end
|
|
branches_to_checkout.each do |local, branch|
|
|
Dir.chdir(local) do
|
|
output = `git checkout #{branch}`
|
|
end
|
|
# Puppet.debug(output)
|
|
end
|
|
end
|
|
|
|
desc 'see if any of the modules are not up-to-date'
|
|
task 'status' do
|
|
repo_hash = YAML.load_file(File.join(File.dirname(__FILE__), repo_file))
|
|
repos = (repo_hash['repos'] || {})
|
|
repos_to_clone = (repos['repo_paths'] || {})
|
|
branches_to_checkout = (repos['checkout_branches'] || {})
|
|
repos_to_clone.each do |remote, local|
|
|
# I should check to see if the file is there?
|
|
Dir.chdir(local) do
|
|
puts "Checking status of #{local}"
|
|
puts `git status`
|
|
end
|
|
end
|
|
end
|
|
end
|