Methods
D
E
I
N
P
R
V
Included Modules
Attributes
[R] packages

multi-package metaconfig API

Class Public methods
new(ardir)
# File rails/actionwebservice/setup.rb, line 932
def initialize(ardir)
  super
  @packages = all_dirs_in("#{@ardir}/packages")
  raise 'no package exists' if @packages.empty?
end
Instance Public methods
declare_packages(list)
# File rails/actionwebservice/setup.rb, line 982
def declare_packages(list)
  raise 'package list is empty' if list.empty?
  list.each do |name|
    raise "directory packages/#{name} does not exist"               unless File.dir?("#{@ardir}/packages/#{name}")
  end
  @packages = list
end
each_selected_installers()

lib

# File rails/actionwebservice/setup.rb, line 1032
def each_selected_installers
  Dir.mkdir 'packages' unless File.dir?('packages')
  @selected.each do |pack|
    $stderr.puts "Processing the package `#{pack}' ..." if @options['verbose']
    Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}")
    Dir.chdir "packages/#{pack}"
    yield @installers[pack]
    Dir.chdir '../..'
  end
end
exec_clean()
# File rails/actionwebservice/setup.rb, line 1014
def exec_clean
  rm_f ConfigTable.savefile
  run_hook 'pre-clean'
  each_selected_installers {|inst| inst.exec_clean }
  run_hook 'post-clean'
end
exec_config()

Task Handlers

# File rails/actionwebservice/setup.rb, line 995
def exec_config
  run_hook 'pre-config'
  each_selected_installers {|inst| inst.exec_config }
  run_hook 'post-config'
  @config.save   # must be final
end
exec_distclean()
# File rails/actionwebservice/setup.rb, line 1021
def exec_distclean
  rm_f ConfigTable.savefile
  run_hook 'pre-distclean'
  each_selected_installers {|inst| inst.exec_distclean }
  run_hook 'post-distclean'
end
exec_install()
# File rails/actionwebservice/setup.rb, line 1008
def exec_install
  run_hook 'pre-install'
  each_selected_installers {|inst| inst.exec_install }
  run_hook 'post-install'
end
exec_setup()
# File rails/actionwebservice/setup.rb, line 1002
def exec_setup
  run_hook 'pre-setup'
  each_selected_installers {|inst| inst.exec_setup }
  run_hook 'post-setup'
end
extract_selection(list)
# File rails/actionwebservice/setup.rb, line 961
def extract_selection(list)
  a = list.split(%r,/)
  a.each do |name|
    setup_rb_error "no such package: #{name}"  unless @installers.key?(name)
  end
  a
end
init_installers()
# File rails/actionwebservice/setup.rb, line 945
def init_installers
  @installers = {}
  @packages.each do |pack|
    @installers[pack] = Installer.new(@config, @options,
                                     "#{@ardir}/packages/#{pack}",
                                     "packages/#{pack}")
  end

  with    = extract_selection(config('with'))
  without = extract_selection(config('without'))
  @selected = @installers.keys.select {|name|
                (with.empty? or with.include?(name))                        and not without.include?(name)
              }
end
no_harm?()
# File rails/actionwebservice/setup.rb, line 1047
def no_harm?
  @options['no-harm']
end
print_usage(f)
# File rails/actionwebservice/setup.rb, line 969
def print_usage(f)
  super
  f.puts 'Inluded packages:'
  f.puts '  ' + @packages.sort.join(' ')
  f.puts
end
run_metaconfigs()
# File rails/actionwebservice/setup.rb, line 938
def run_metaconfigs
  eval_file_ifexist "#{@ardir}/metaconfig"
  @packages.each do |name|
    eval_file_ifexist "#{@ardir}/packages/#{name}/metaconfig"
  end
end
verbose?()
# File rails/actionwebservice/setup.rb, line 1043
def verbose?
  @options['verbose']
end