class KPM::Installer

def install(force_download = false, verify_sha1 = true)

def install(force_download = false, verify_sha1 = true)
  bundles_dir = if !@config.nil?
                  @config['plugins_dir']
                elsif !@kaui_config.nil?
                  @kaui_config['plugins_dir']
                else
                  nil
                end
  bundles_dir ||= DEFAULT_BUNDLES_DIR
  help = nil
  unless @config.nil?
    help = install_tomcat if @config['webapp_path'].nil?
    install_killbill_server(@config['group_id'], @config['artifact_id'], @config['packaging'], @config['classifier'], @config['version'], @config['webapp_path'], bundles_dir, force_download, verify_sha1)
    install_plugins(bundles_dir, @config['version'], force_download, verify_sha1)
    install_default_bundles(bundles_dir, @config['default_bundles_version'], @config['version'], force_download, verify_sha1) unless @config['default_bundles'] == false
    clean_up_descriptors(bundles_dir)
  end
  unless @kaui_config.nil?
    if @kaui_config['webapp_path'].nil?
      @logger.warn('No webapp_path specified for Kaui, aborting installation')
      return
    end
    install_kaui(@kaui_config['group_id'], @kaui_config['artifact_id'], @kaui_config['packaging'], @kaui_config['classifier'], @kaui_config['version'], @kaui_config['webapp_path'], bundles_dir, force_download, verify_sha1)
  end
  @trace_logger.add('help', nil, help)
  @trace_logger.to_json
end