Top Level Namespace

Defined Under Namespace

Modules: Pod, PodBuilder Classes: PodfileCP, String

Class Method Summary collapse

Class Method Details

.copy_resources_and_vendored_items(installer_context, uses_frameworks, base_destination, sandbox) ⇒ Object



288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
# File 'lib/pod_builder/rome/post_install.rb', line 288

def self.copy_resources_and_vendored_items(installer_context, uses_frameworks, base_destination, sandbox)
  installer_context.umbrella_targets.each do |umbrella|
    umbrella.specs.each do |spec|
      root_name = spec.name.split("/").first

      if uses_frameworks
        destination = File.join(base_destination, root_name)
      else
        destination = File.join(base_destination, root_name, root_name)
      end
      # Make sure the device target overwrites anything in the simulator build, otherwise iTunesConnect
      # can get upset about Info.plist containing references to the simulator SDK
      files = Pathname.glob("build/#{root_name}/*").reject { |f| f.to_s =~ /Pods[^.]+\.framework/ }

      consumer = spec.consumer(umbrella.platform_name)
      file_accessor = Pod::Sandbox::FileAccessor.new(sandbox.pod_dir(spec.root.name), consumer)
      files += file_accessor.vendored_libraries
      files += file_accessor.vendored_frameworks
      files += file_accessor.resources

      FileUtils.mkdir_p(destination)
      files.each do |file|
        FileUtils.cp_r(file, destination)
      end
    end
  end
end