Sha256: 37b42791155dc6bbd11016e78108b452aa1fc3b1cdd89d7bcbc063e571754da5

Contents?: true

Size: 1.62 KB

Versions: 8

Compression:

Stored size: 1.62 KB

Contents

require 'cocoapods-tj/native/sources_manager'
require 'cocoapods-tj/command/bin/repo/update'
require 'cocoapods/user_interface'

Pod::HooksManager.register('cocoapods-tj', :pre_install) do |_context, _|
  require 'cocoapods-tj/native'

  Pod::Command::Bin::Repo::Update.new(CLAide::ARGV.new([])).run

  if _context.podfile.plugins.keys.include?('cocoapods-tj') && _context.podfile.configuration_env == 'dev'
    dependencies = _context.podfile.dependencies
    dependencies.each do |d|
      next unless d.respond_to?(:external_source) &&
                  d.external_source.is_a?(Hash) &&
                  !d.external_source[:path].nil? &&
                  $ARGV[1] != 'archive'
      _context.podfile.set_use_source_pods d.name
    end
  end

  project_root = Pod::Config.instance.project_root
  path = File.join(project_root.to_s, 'BinPodfile')

  next unless File.exist?(path)

  contents = File.open(path, 'r:utf-8', &:read)
  podfile = Pod::Config.instance.podfile
  podfile.instance_eval do
    begin
      eval(contents, nil, path)
    rescue Exception => e
      message = "Invalid `#{path}` file: #{e.message}"
      raise Pod::DSLError.new(message, path, e, contents)
    end
  end
end

Pod::HooksManager.register('cocoapods-tj', :source_provider) do |context, _|
  sources_manager = Pod::Config.instance.sources_manager
  podfile = Pod::Config.instance.podfile

  if podfile
    added_sources = [sources_manager.code_source]
    if podfile.use_binaries? || podfile.use_binaries_selector
      added_sources << sources_manager.binary_source
      added_sources.reverse!
   end
    added_sources.each { |source| context.add_source(source) }
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cocoapods-tj-1.0.7 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.6 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.5 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.4 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.3 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.2 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.1 lib/cocoapods-tj/source_provider_hook.rb
cocoapods-tj-1.0.0 lib/cocoapods-tj/source_provider_hook.rb