IGListKit/IGListKit.podspec
James Sherlock 5cd771b546 Added Subspec for Diffing
Summary:
So the main Podspec file now has two Subspecs, `Diffing` and for lack of better name `Default`. `Diffing` is purely the files within the common directories (used for Diffing, if in the future we support MacOS NSCollectionView then this may need changing). `Default` depends on `Diffing` but also adds all the non-common files.

To use it via CocoaPods, nothing changes. You `import IGListKit` and you will only have access to the files in the pod you use. (So if you use `IGListKit/Diffing` in your Podfile, then you will only get access to the diffing files). If you do a manual installation, or I assume via Carthage, then you will need to import the correct header file (either `IGListDiffKit.h` or `IGListKit.h` depending on what you want).

Turns out CocoaPods creates it's own umbrella header (unless you tell it otherwise) meaning our ones are unused by it.

Just to confirm `IGListKit` in your Podfile will give you everything, only if you add `/Diffing` will you "opt-out" o
Closes https://github.com/Instagram/IGListKit/pull/368

Differential Revision: D4367438

Pulled By: jessesquires

fbshipit-source-id: 272318ca551e7e8c4177ca3ca501fde23bd9705a
2016-12-27 12:44:27 -08:00

49 lines
1.5 KiB
Ruby

Pod::Spec.new do |s|
s.name = 'IGListKit'
s.version = '2.0.0'
s.summary = 'A data-driven UICollectionView framework.'
s.homepage = 'https://github.com/Instagram/IGListKit'
s.documentation_url = 'https://instagram.github.io/IGListKit'
s.description = 'A data-driven UICollectionView framework for building fast and flexible lists.'
s.license = { :type => 'BSD' }
s.authors = 'Instagram'
s.social_media_url = 'https://twitter.com/fbOpenSource'
s.source = {
:git => 'https://github.com/Instagram/IGListKit.git',
:tag => s.version.to_s,
:branch => 'stable'
}
s.subspec 'Diffing' do |ds|
ds.source_files = 'Source/Common/**/*.{h,m,mm}'
ds.private_header_files = 'Source/Common/Internal/*.h'
end
s.subspec 'Default' do |cs|
cs.dependency 'IGListKit/Diffing'
cs.ios.source_files = 'Source/**/*.{h,m,mm}'
cs.ios.private_header_files = ['Source/Internal/*.h', 'Source/Common/Internal/*.h']
cs.tvos.source_files = 'Source/**/*.{h,m,mm}'
cs.tvos.private_header_files = ['Source/Internal/*.h', 'Source/Common/Internal/*.h']
end
s.default_subspec = 'Default'
s.requires_arc = true
s.ios.deployment_target = '8.0'
s.tvos.deployment_target = '9.0'
s.osx.deployment_target = '10.8'
s.ios.frameworks = 'UIKit'
s.tvos.frameworks = 'UIKit'
s.osx.frameworks = 'Cocoa'
s.library = 'c++'
s.pod_target_xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libc++'
}
end