CocoaPods/CocoaPods

CocoaPods should re-process podspec-based pins on CocoaPods upgrades

Aperta

#9314 aperta il 2 nov 2019

 (2 commenti) (0 reazioni) (0 assegnatari)Ruby (2685 fork)batch import
help wantedt1:enhancement

Metriche repository

Star
 (14.815 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

🌈

Report

What did you do?

Upgrade CocoaPods from 1.7.x to 1.8.x.

What did you expect to happen?

CI would successfully pod install after upgrading CocoaPods for pods that point at a specific ruby podspec file (i.e. pod '<name>', podspec: 'path_to_spec').

What happened instead?

If you do a fresh pod install after removing your Pods directory, CocoaPods is forced to regenerated the local podspec.json files for the ruby podspecs referred to explicitly in the Podfile, which results in new checksums for those pods. Our CI environment caches the Pods directory, so committing such changes results in pod install failures because checksums for those pods in the Podfile.lock no longer match the Manifest.

CocoaPods Environment

Happy to provide in CP slack if requested, but would prefer not to reveal here.

Project that demonstrates the issue

If needed, I can produce one.

Proposed solution

Because upgrading CocoaPods can result in changes in the way it generates json podspecs, which are also cached in the Pods directory, upgrades should attempt to regenerate these.

Guida contributor