class PodAlexandria::LocalPreInstallHook

Attributes

options[R]
podfile[R]

Public Class Methods

new(installer_context, user_options) click to toggle source
# File lib/cocoapods-alexandria/env_local/pre_install.rb, line 5
def initialize(installer_context, user_options)
  @podfile = installer_context.podfile
  @options = UserOptions.new(installer_context, user_options)
end

Public Instance Methods

run() click to toggle source
# File lib/cocoapods-alexandria/env_local/pre_install.rb, line 10
def run
  Pod::UI.puts 'Cocoapods Alexandria running in local mode.'

  if should_predownload_dep
    Pod::UI.title 'Pre-downloading dependency for XcodeGen'
    predownload_dep
  end

  Pod::UI.title 'Generating project using XcodeGen'
  XcodeGen::cleanupRome
  XcodeGen::clearDependencies(options.xcodegen_dependencies_file)
  XcodeGen::generate

  Pod::UI.title 'Preparing environment...'
  podfile.prepare_for_xcodegen

  Pod::UI.title 'Continuing with normal CocoaPods'
end

Private Instance Methods

predownload_dep() click to toggle source
# File lib/cocoapods-alexandria/env_local/pre_install.rb, line 36
def predownload_dep
  system(
    'rm -rf Pods/AppwiseCore && '\
    'mkdir -p Pods && '\
    'rm -f /tmp/ac.zip && '\
    'curl -L "https://github.com/appwise-labs/AppwiseCore/archive/master.zip" > /tmp/ac.zip && '\
    'unzip -q -d Pods /tmp/ac.zip && '\
    'mv Pods/AppwiseCore-master Pods/AppwiseCore'
  )
end
should_predownload_dep() click to toggle source
# File lib/cocoapods-alexandria/env_local/pre_install.rb, line 31
def should_predownload_dep
  File.readlines('project.yml').grep(/Pods\/AppwiseCore\/XcodeGen/).any? &&
    !File.directory?('Pods/AppwiseCore/XcodeGen')
end