Add support for alternative modulepath

This commit is contained in:
Craig Tracey
2012-05-14 18:09:01 -04:00
parent efeff768bf
commit ca6b95b19c

View File

@@ -8,21 +8,24 @@
require 'puppet'
repo_file = 'other_repos.yaml'
default_modulepath = '/etc/puppet/modules'
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'] || {})
modulepath = (repo_hash['modulepath'] || default_modulepath)
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}`
outpath = File.join(modulepath, local)
output = `git clone #{remote} #{outpath}`
Puppet.debug(output)
end
branches_to_checkout.each do |local, branch|
Dir.chdir(local) do
Dir.chdir(File.join(modulepath, local)) do
output = `git checkout #{branch}`
end
# Puppet.debug(output)
@@ -33,11 +36,12 @@ namespace :modules do
task 'status' do
repo_hash = YAML.load_file(File.join(File.dirname(__FILE__), repo_file))
repos = (repo_hash['repos'] || {})
modulepath = (repo_hash['modulepath'] || default_modulepath)
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
Dir.chdir(File.join(modulepath, local)) do
puts "Checking status of #{local}"
puts `git status`
end