spotify / XCRemoteCache

Other
833 stars 52 forks source link

Pod install fails when using generate_multiple_pod_projects and incremental_installation #18

Closed sethfri closed 2 years ago

sethfri commented 2 years ago

CocoaPods introduced incremental_installation in 2019 in order to speed up pod install times. However, using it in a project causes the XCRemoteCache CocoaPods plugin to fail with the following error:

[XCRC] XCRemoteCache disabled with error: undefined method `targets' for nil:NilClass
/Users/sethfri/.rvm/gems/ruby-2.6.8/gems/cocoapods-xcremotecache-0.0.2/lib/cocoapods-xcremotecache/command/hooks.rb:342:in `block in <class:XCRemoteCache>': undefined method `targets' for nil:NilClass (NoMethodError)
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/hooks_manager.rb:124:in `block (3 levels) in run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/user_interface.rb:149:in `message'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/hooks_manager.rb:116:in `block (2 levels) in run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/hooks_manager.rb:115:in `each'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/hooks_manager.rb:115:in `block in run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/user_interface.rb:149:in `message'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/hooks_manager.rb:114:in `run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/installer.rb:649:in `run_plugins_post_install_hooks'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/installer.rb:614:in `perform_post_install_actions'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/chronometer-0.2.0/lib/chronometer.rb:107:in `call'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/chronometer-0.2.0/lib/chronometer.rb:107:in `block in install_method_hook'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/refinement-0.4.1/lib/cocoapods_plugin.rb:8:in `perform_post_install_actions'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/installer.rb:170:in `install!'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/chronometer-0.2.0/lib/chronometer.rb:107:in `call'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/chronometer-0.2.0/lib/chronometer.rb:107:in `block in install_method_hook'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/command/install.rb:52:in `run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/lib/cocoapods/command.rb:52:in `run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bundler/gems/ios-cocoapods-5e1e0f4700e9/bin/pod:55:in `<top (required)>'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bin/pod:23:in `load'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bin/pod:23:in `<top (required)>'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/cli/exec.rb:58:in `load'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/cli/exec.rb:58:in `kernel_load'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/cli/exec.rb:23:in `run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/cli.rb:478:in `exec'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/cli.rb:31:in `dispatch'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/cli.rb:25:in `start'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/exe/bundle:49:in `block in <top (required)>'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/gems/bundler-2.2.30/exe/bundle:37:in `<top (required)>'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bin/bundle:23:in `load'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bin/bundle:23:in `<main>'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bin/ruby_executable_hooks:22:in `eval'
    from /Users/sethfri/.rvm/gems/ruby-2.6.8/bin/ruby_executable_hooks:22:in `<main>'

There's more detail about the error and potential fixes in https://github.com/CocoaPods/CocoaPods/issues/8604

More details on incremental installation: https://blog.cocoapods.org/CocoaPods-1.7.0-beta/