module Crafter

Constants

ROOT

Attributes

command_line_test_script[R]
icon_versioning_script[R]

Public Instance Methods

add_git_ignore() click to toggle source
# File lib/crafter.rb, line 47
def add_git_ignore
  @add_git_ignore = true
end
add_platform(platform_hash) click to toggle source
# File lib/crafter.rb, line 43
def add_platform(platform_hash)
  @platforms << platform_hash
end
configure(&block) click to toggle source
# File lib/crafter.rb, line 23
def configure(&block)
  instance_eval &block
end
duplicate_configurations(duplication_hash) click to toggle source
# File lib/crafter.rb, line 51
def duplicate_configurations(duplication_hash)
  @configuration = duplication_hash
end
find_target_configuration(name) click to toggle source
# File lib/crafter.rb, line 35
def find_target_configuration(name)
  target = @targets[name]
  target ||= self.project.select_target_for_name name
  target_configuration = TargetConfiguration.new(name, target)
  @targets[name] = target_configuration
  target_configuration
end
process_build_settings() click to toggle source
# File lib/crafter.rb, line 91
def process_build_settings
  puts 'set specified values for build settings'
  self.project.set_build_settings(@build_settings)
end
process_configurations() click to toggle source
# File lib/crafter.rb, line 77
def process_configurations
  puts 'duplicating configurations'
  self.project.duplicate_configurations(@configuration)
end
process_git() click to toggle source
# File lib/crafter.rb, line 96
def process_git
  puts 'preparing git ignore'
  GitHelper.new.generate_files
end
process_optional() click to toggle source
# File lib/crafter.rb, line 82
def process_optional
  @targets.each { |_, v| v.process_optional }
end
process_options() click to toggle source
# File lib/crafter.rb, line 86
def process_options
  puts 'setting up variety of options'
  self.project.enable_options(@options)
end
process_pods() click to toggle source
# File lib/crafter.rb, line 101
def process_pods
  puts 'preparing pod file'
  File.open('Podfile', File::WRONLY|File::CREAT|File::EXCL) do |f|

  if @language_swift
    f.puts "use_frameworks!"
  end
  
    @platforms.each do |hash|
      name = hash[:platform]
      deployment = hash[:deployment]
      if deployment
        f.puts "platform :#{name}, '#{deployment}'"
      else
        f.puts "platform #{name}"
      end
    end

    @targets.each { |_, v| v.write_pods(f) }
  end

rescue Exception => e
  puts "Skipping pod generation - #{e}"
end
process_scripts() click to toggle source
# File lib/crafter.rb, line 126
def process_scripts
  puts 'adding scripts'
  @targets.each { |_, v| v.process_scripts(self.project) }
end
project() click to toggle source
# File lib/crafter.rb, line 31
def project
  @project ||= ProjectHelper.new
end
set_build_settings(build_settings, configuration: 'crafter_common') click to toggle source
# File lib/crafter.rb, line 59
def set_build_settings(build_settings, configuration: 'crafter_common')
  @build_settings[configuration] = build_settings
end
set_language_swift(is_swift) click to toggle source
# File lib/crafter.rb, line 63
def set_language_swift(is_swift)
  @language_swift = is_swift
end
set_options(options) click to toggle source
# File lib/crafter.rb, line 55
def set_options(options)
  @options = options
end
setup_project() click to toggle source
# File lib/crafter.rb, line 67
def setup_project
  process_optional()
  process_configurations() if @configuration && !@configuration.empty?
  process_options() if @options && !@options.empty?
  process_build_settings() if @build_settings && !@build_settings.empty?
  process_git() if @add_git_ignore
  process_pods()
  process_scripts()
end
with(name, &block) click to toggle source
# File lib/crafter.rb, line 27
def with(name, &block)
  self.find_target_configuration(name).instance_eval(&block)
end