class CORL::Builder::Package

Public Instance Methods

build_directory() click to toggle source
   # File lib/CORL/builder/package.rb
18 def build_directory
19   File.join(network.build_directory, 'packages')
20 end
build_provider(name, project_reference, environment, options = {}) click to toggle source
   # File lib/CORL/builder/package.rb
35 def build_provider(name, project_reference, environment, options = {})
36   provider_id = id(name)
37   directory   = File.join(internal_path(build_directory), provider_id.to_s)
38   config      = Config.ensure(options)
39   success     = true
40 
41   info("Building package #{blue(name)} at #{purple(project_reference)} into #{green(directory)}", { :i18n => false })
42 
43   full_directory = File.join(network.directory, directory)
44   FileUtils.rm_rf(full_directory) if config.get(:clean, false)
45 
46   unless packages.has_key?(provider_id)
47     project = build_config.manage(:configuration, extended_config(:package, {
48       :directory     => full_directory,
49       :url           => project_reference,
50       :create        => File.directory?(full_directory) ? false : true,
51       :manage_ignore => false
52     }))
53     unless project
54       warn("Package #{cyan(name)} failed to initialize", { :i18n => false })
55       success = false
56     end
57 
58     if success
59       set_package(provider_id, full_directory)
60 
61       build_config.import(project)
62       build_config.set_location(plugin_provider, name, directory)
63 
64       if project.get([ :builders, plugin_provider ], false)
65         sub_packages = process_environment(project.get_hash([ :builders, plugin_provider ]), environment)
66 
67         status  = parallel(:build_provider, sub_packages, environment, config)
68         success = false if status.values.include?(false)
69       end
70     end
71   end
72   #success("Build of package #{blue(name)} finished", { :i18n => false }) if success
73   success
74 end
normalize(reload) click to toggle source
Calls superclass method
   # File lib/CORL/builder/package.rb
 9 def normalize(reload)
10   super do
11     @packages = {}
12   end
13 end
packages() click to toggle source
   # File lib/CORL/builder/package.rb
24 def packages
25   @packages
26 end
set_package(name, directory) click to toggle source
   # File lib/CORL/builder/package.rb
28 def set_package(name, directory)
29   @packages[name] = directory
30 end