class CORL::Builder::Project
Public Instance Methods
build_provider(provider_path, project_reference, environment, options = {})
click to toggle source
# File lib/CORL/builder/project.rb 9 def build_provider(provider_path, project_reference, environment, options = {}) 10 config = Config.ensure(options) 11 path = provider_path.to_s 12 success = true 13 14 info("Building project #{purple(project_reference)} into #{green(path)}", { :i18n => false }) 15 16 full_directory = File.join(network.directory, path) 17 FileUtils.rm_rf(full_directory) if config.get(:clean, false) 18 19 project = build_config.manage(:project, extended_config(:project, { 20 :directory => full_directory, 21 :url => project_reference, 22 :create => File.directory?(full_directory) ? false : true, 23 :pull => true, 24 :internal_ip => CORL.public_ip, # Needed for seeding Vagrant VMs 25 :manage_ignore => false, 26 :nucleon_file => false 27 })) 28 unless project 29 warn("Project #{cyan(path)} failed to initialize", { :i18n => false }) 30 success = false 31 end 32 if success 33 #success("Build of project #{blue(path)} finished", { :i18n => false }) 34 network.ignore(path) 35 end 36 success 37 end