lib/ambient.rb in ambient-xcode-0.6.0 vs lib/ambient.rb in ambient-xcode-0.7.0

- old
+ new

@@ -1,160 +1,10 @@ -unless Kernel.respond_to?(:require_relative) - module Kernel - def require_relative(path) - require File.join(File.dirname(caller[0]), path.to_str) - end - end -end +require 'xcodeproj' +require 'plist' -require_relative 'project_helper' -require_relative 'capabilities_helper' -require_relative 'plist_helper' -require_relative 'dsl' - -module Ambient - extend self - Ambient::ROOT = File.expand_path('.', File.dirname(__FILE__)) - - @use_defaults = false - @project_options = {} - @shared_target_options = {} - @target_options = {} - @scheme_options = {} - @parents = {} - @capabilities = {} - @development_teams = {} - - def configure(&block) - instance_eval &block - end - - def project_helper - @project_helper ||= ProjectHelper.new - end - - def set_parent_scheme(target: nil, child: nil, parent: nil) - target = target || :all - @parents[target] ||= {} - @parents[target][child] = parent - end - - def set_option(option, value, target: nil, scheme: nil, parent: nil) - value = "YES" if value == true - value = "NO" if value == false - value = nil if value == :default - - if target - if scheme - @target_options[target] ||= {} - @target_options[target][scheme] ||= {} - @target_options[target][scheme][option] = value - else - @shared_target_options[target] ||= {} - @shared_target_options[target][option] = value - end - else - if scheme - @scheme_options[scheme] ||= {} - @scheme_options[scheme][option] = value - else - @project_options[option] = value - end - end - end - - def set_capability(target_name, capability_name) - capabilities = @capabilities[target_name] ||= [] - capabilities << capability_name - end - - def set_development_team(target_name, team_name) - @development_teams[target_name] = team_name - end - - def setup_project(ambientfile) - run_ambientfile(ambientfile) - project_helper.print_info - reset_project_to_defaults if @use_defaults - reset_targets_to_defaults if @use_defaults - reset_capabilites_to_defaults if @use_defaults - load_in_parent_scheme_values - process_project_options - process_scheme_options - process_shared_target_options - process_target_options - process_capabilities - process_development_teams - project_helper.save_changes - end - - def reset_project_to_defaults - puts "resetting project settings to xcode default settings" - project_helper.reset_project_to_defaults - end - - def reset_targets_to_defaults - puts "resetting target settings to xcode default settings" - project_helper.reset_targets_to_defaults - end - - def reset_capabilites_to_defaults - puts "resetting capabilities to xcode default settings" - project_helper.reset_capabilities_to_defaults - end - - def process_project_options - puts "applying ambient project settings" - project_helper.process_project_options(@project_options) - end - - def process_scheme_options - puts "applying ambient scheme settings" - project_helper.process_scheme_options(@scheme_options) - end - - def process_shared_target_options - puts "applying ambient shared target settings" - project_helper.process_shared_target_options(@shared_target_options) - end - - def process_target_options - puts "applying ambient target settings" - project_helper.process_target_options(@target_options) - end - - def process_capabilities - puts "applying ambient capabilities" - project_helper.process_capabilities(@capabilities) - end - - def process_development_teams - puts "applying ambient development teams" - project_helper.process_development_teams(@development_teams) - end - - def load_in_parent_scheme_values - @parents.each do |target, parents| - parents.each do |child, parent| - if parent - if target == :all - puts "Identified #{child} as a child of #{parent}" - child_options = @scheme_options[child] - parent_options = @scheme_options[parent] - else - target_options = @target_options[target] - child_options = target_options[child] - parent_options = target_options[parent] - end - child_options.merge!(parent_options) { |_, child, _| child } - end - end - end - end - - def run_ambientfile(filename) - puts "# Reading settings from #{filename}" - ambient = File.join(Dir.pwd, filename) - raise "#{filename} not found in current directory." unless File.exists?(ambient) - load ambient - end -end +require_relative 'ambient/project_helper' +require_relative 'ambient/capabilities_helper' +require_relative 'ambient/plist_helper' +require_relative 'ambient/dsl' +require_relative 'ambient/project_creation' +require_relative 'ambient/init' +require_relative 'ambient/application'