Zip
Zip copied to clipboard
File structure causing version control problems
Scenario: Mac file systems are NOT case sensitive by default. So, unfortunately, with the latest way that pod installs work (https://github.com/CocoaPods/CocoaPods/issues/3651) the Zip.h file from the project's source directory and the zip.h from the minizip directory get put into the same local directory.
Here's what that looks like:
In a case-sensitive partition, this is just fine. But w/ a mac default partition, this quickly causes problems (the first I've encountered is version control continually marking the zip.h as modified.
I believe this is totally unintentional, and what should be done is to setup the folder directory structure such that the two files remain in separate directories, even after a pod install.
NOTE: if developers are using the :path methodology in their podfile, it will not reflect the same structuring that consumers of the library see by adding the pod through a cocoapods download.
For more clarity, the issue is that both Zip.h & zip.h end up in /Pods/Headers/Private/Zip/. I did try creating a listing for the private header files (s.private_header_files = 'Zip/minizip/*.h') to attempt to exclude Zip.h, but had no luck. I'm newer to podspec files, so very possible I missed something. What did work was just changing zip.h to mz_zip.h & changing all it's references. That fixed the problem for us, though it's not a very elegant solution. Happy to submit a PR, or take any suggestions on modifications to the podspec.