CocoaPods/CocoaPods — Issue #96: Pods structure makes it hard for maintainers of Components to work on Component
Author: schwa
Created: 2011-12-08 18:49:54+00:00
State: open

One real problem with the structure of the Pods directory is that it makes it really hard for maintainers of the components to work on them in a "live" CocoaPods environment.

I've attached a git log showing exactly what files were added/changed when I perform a "pod install …" command.

Immediately I can see several problems and there may be more subtle ones:

1) Headers are duplicated. I assume this is for ease of specifying the master project includes. That's ok in theory but the headers are duplicated inside the component Source directory.

2) The structure of the TouchJSON directory within Pods is a subset of the actual TouchJSON structure. (Specifically a "Support" folder with example projects is missing.) This makes it very hard for component maintainers to work on the component.

3) There is no .git directory and the component is (obviously) not a git submodule. If I do have changes to TouchJSON I need to use some other mechanism to manage changes. I understand that CocoaPods is probably intended to be SCM agnostic but this does make it tougher for maintainers.

commit 4913295a7621e97d081c4b1957de6ebfcf6c56dd
Date: Thu Dec 8 10:26:56 2011 -0800

Post pod install

PodTest.xcodeproj/project.pbxproj
PodTest.xcworkspace/contents.xcworkspacedata
Podfile.lock
Pods/Headers/TouchJSON/CDataScanner.h
Pods/Headers/TouchJSON/CDataScanner_Extensions.h
Pods/Headers/TouchJSON/CFilteringJSONSerializer.h
Pods/Headers/TouchJSON/CJSONDeserializer.h
Pods/Headers/TouchJSON/CJSONScanner.h
Pods/Headers/TouchJSON/CJSONSerialization.h
Pods/Headers/TouchJSON/CJSONSerializedData.h
Pods/Headers/TouchJSON/CJSONSerializer.h
Pods/Headers/TouchJSON/JSONRepresentation.h
Pods/Headers/TouchJSON/NSDictionary_JSONExtensions.h
Pods/Pods-prefix.pch
Pods/Pods-resources.sh
Pods/Pods.xcconfig
Pods/Pods.xcodeproj/project.pbxproj
Pods/TouchJSON/.gitignore
Pods/TouchJSON/Config.xcconfig
Pods/TouchJSON/README.markdown
Pods/TouchJSON/Source/CDataScanner.h
Pods/TouchJSON/Source/CDataScanner.m
Pods/TouchJSON/Source/Experimental/CFilteringJSONSerializer.h
Pods/TouchJSON/Source/Experimental/CFilteringJSONSerializer.m
Pods/TouchJSON/Source/Experimental/CJSONSerialization.h
Pods/TouchJSON/Source/Experimental/CJSONSerialization.m
Pods/TouchJSON/Source/Experimental/CJSONSerializedData.h
Pods/TouchJSON/Source/Experimental/CJSONSerializedData.m
Pods/TouchJSON/Source/Extensions/CDataScanner_Extensions.h
Pods/TouchJSON/Source/Extensions/CDataScanner_Extensions.m
Pods/TouchJSON/Source/Extensions/NSDictionary_JSONExtensions.h
Pods/TouchJSON/Source/Extensions/NSDictionary_JSONExtensions.m
Pods/TouchJSON/Source/JSON/CJSONDeserializer.h
Pods/TouchJSON/Source/JSON/CJSONDeserializer.m
Pods/TouchJSON/Source/JSON/CJSONScanner.h
Pods/TouchJSON/Source/JSON/CJSONScanner.m
Pods/TouchJSON/Source/JSON/CJSONSerializer.h
Pods/TouchJSON/Source/JSON/CJSONSerializer.m
Pods/TouchJSON/Source/JSON/JSONRepresentation.h