aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonathan MacMillan <dvorak@google.com>2016-02-22 18:27:42 -0800
committerGravatar Jonathan MacMillan <dvorak@google.com>2016-02-25 12:57:13 -0800
commit32f719d555ebe3015cf77cc47914c436f607b340 (patch)
tree17b57eee9f0b1b0116f95f0b0acc0de95dd27b1a
parent0e9fdcf103b9e5fbb897ae5b83e6d25dcdc6ed7c (diff)
Add a podspec for GTM. This only adds a podspec for some of the commonly-used pieces of GTM.
-rw-r--r--BuildingAndUsing.txt8
-rw-r--r--GoogleToolboxForMac.podspec220
2 files changed, 227 insertions, 1 deletions
diff --git a/BuildingAndUsing.txt b/BuildingAndUsing.txt
index 67bbd79..ad92951 100644
--- a/BuildingAndUsing.txt
+++ b/BuildingAndUsing.txt
@@ -1,4 +1,5 @@
-The GTM project provides a Framework target and Unit Testing targets.
+The GTM project provides a Framework target and Unit Testing targets, as
+well as a CocoaPod.
Unit Testing Targets -
@@ -16,3 +17,8 @@ to their own project to start using it or playing around with it. However,
the intent is for a developer to manually add the sources to their project in
the end to reduce the total size of their product (since they only have to
include the parts of GTM they need).
+
+CocoaPods -
+
+The GTM project provides a Podspec for some of the more commonly-used parts of
+GTM. See https://cocoapods.org/pods/GoogleToolboxForMac for more info.
diff --git a/GoogleToolboxForMac.podspec b/GoogleToolboxForMac.podspec
new file mode 100644
index 0000000..b357265
--- /dev/null
+++ b/GoogleToolboxForMac.podspec
@@ -0,0 +1,220 @@
+Pod::Spec.new do |s|
+ s.name = 'GoogleToolboxForMac'
+ s.version = '2.0.0'
+ s.author = 'Google Inc.'
+ s.license = { :type => 'Apache', :file => 'LICENSE' }
+ s.homepage = 'https://github.com/google/google-toolbox-for-mac'
+ s.source = { :git => 'https://github.com/google/google-toolbox-for-mac.git',
+ :tag => "v#{s.version}" }
+ s.summary = 'Google utilities for iOS and OSX development.'
+ s.description = <<-DESC
+ A collection of source from different Google projects that may be of use
+ to developers working on iOS or OS X projects.
+ DESC
+
+ s.osx.deployment_target = '10.6'
+ s.ios.deployment_target = '5.0'
+ s.requires_arc = false
+
+ s.subspec 'Defines' do |sp|
+ sp.public_header_files = 'GTMDefines.h'
+ sp.source_files = 'GTMDefines.h'
+ end
+
+ s.subspec 'Core' do |sp|
+ sp.source_files =
+ 'DebugUtils/GTMTypeCasting.h',
+ 'Foundation/GTMLocalizedString.h',
+ 'Foundation/GTMLogger.h'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+
+ s.subspec 'AddressBook' do |sp|
+ sp.source_files = 'AddressBook/GTMABAddressBook.{h,m}'
+ sp.frameworks = 'AddressBook'
+ sp.dependency 'GoogleToolboxForMac/Core', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'DebugUtils' do |sp|
+ sp.source_files =
+ 'DebugUtils/GTMDebugSelectorValidation.{h,m}',
+ 'DebugUtils/GTMDebugThreadValidation.h',
+ 'DebugUtils/GTMMethodCheck.{h,m}'
+ sp.requires_arc = 'DebugUtils/GTMMethodCheck.m'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Runtime', "#{s.version}"
+ end
+
+ s.subspec 'GeometryUtils' do |sp|
+ sp.source_files = 'Foundation/GTMGeometryUtils.{h,m}'
+ sp.frameworks = 'CoreGraphics'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'KVO' do |sp|
+ sp.source_files =
+ 'Foundation/GTMNSObject+KeyValueObserving.{h,m}',
+ # The symbol in this file is hidden by default, and so
+ # must be directly included here where it's needed,
+ # even though it's already included in DebugUtils
+ 'DebugUtils/GTMMethodCheck.m'
+ sp.dependency 'GoogleToolboxForMac/Core', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/DebugUtils', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Runtime', "#{s.version}"
+ end
+
+ s.subspec 'Logger' do |sp|
+ sp.source_files = 'Foundation/GTMLogger.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ # We cannot add a target for Foundaat/GTMLogger+ASL.{h,m}.
+ # asl.h is not a modular header, and so cannot be imported
+ # in a modulemap, which CocoaPods does by default when it
+ # creates frameworks.
+
+ s.subspec 'Regex' do |sp|
+ sp.source_files = 'Foundation/GTMRegex.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'Runtime' do |sp|
+ sp.source_files = 'Foundation/GTMObjC2Runtime.{h,m}'
+ sp.requires_arc = 'Foundation/GTMObjC2Runtime.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ # We cannot add a target for Foundation/GTMSQLite.{h,m}.
+ # sqlite3.h is not a modular header, and so cannot be imported
+ # in a modulemap, which CocoaPods does by default when it
+ # creates frameworks.
+
+ s.subspec 'StackTrace' do |sp|
+ sp.source_files = 'Foundation/GTMStackTrace.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Runtime', "#{s.version}"
+ end
+
+ s.subspec 'StringEncoding' do |sp|
+ sp.source_files = 'Foundation/GTMStringEncoding.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'SystemVersion' do |sp|
+ sp.source_files = 'Foundation/GTMSystemVersion.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Runtime', "#{s.version}"
+ end
+
+ s.subspec 'URLBuilder' do |sp|
+ sp.source_files = 'Foundation/GTMURLBuilder.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Core', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/NSDictionary+URLArguments', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/NSString+URLArguments', "#{s.version}"
+ end
+
+
+ s.subspec 'NSData+zlib' do |sp|
+ sp.source_files = 'Foundation/GTMNSData+zlib.{h,m}'
+ sp.requires_arc = 'Foundation/GTMNSData+zlib.{h,m}'
+ sp.libraries = 'z'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'NSDictionary+URLArguments' do |sp|
+ sp.source_files = 'Foundation/GTMNSDictionary+URLArguments.{h,m}'
+ sp.requires_arc = 'Foundation/GTMNSDictionary+URLArguments.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/DebugUtils', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/NSString+URLArguments', "#{s.version}"
+ end
+
+ s.subspec 'NSFileHandle+UniqueName' do |sp|
+ sp.source_files = 'Foundation/GTMNSFileHandle+UniqueName.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'NSScanner+JSON' do |sp|
+ sp.source_files = 'Foundation/GTMNSScanner+JSON.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'NSString+HTML' do |sp|
+ sp.source_files = 'Foundation/GTMNSString+HTML.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Core', "#{s.version}"
+ end
+
+ s.subspec 'NSString+URLArguments' do |sp|
+ sp.source_files = 'Foundation/GTMNSString+URLArguments.{h,m}'
+ end
+
+ s.subspec 'NSString+XML' do |sp|
+ sp.source_files = 'Foundation/GTMNSString+XML.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'NSThread+Blocks' do |sp|
+ sp.source_files = 'Foundation/GTMNSThread+Blocks.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+
+ s.subspec 'iPhone' do |sp|
+ sp.platform = :ios, '5.0'
+ sp.source_files =
+ 'iPhone/GTMFadeTruncatingLabel.{h,m}',
+ 'iPhone/GTMUIImage+Resize.{h,m}',
+ 'iPhone/GTMUILocalizer.{h,m}',
+ 'iPhone/GTMUIView+SubtreeDescription.{h,m}'
+ sp.requires_arc = 'iPhone/GTMUIImage+Resize.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'RoundedRectPath' do |sp|
+ sp.platform = :ios, '5.0'
+ sp.source_files = 'iPhone/GTMRoundedRectPath.{h,m}'
+ sp.requires_arc = 'iPhone/GTMRoundedRectPath.{h,m}'
+ sp.frameworks = 'CoreGraphics'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ end
+
+ s.subspec 'UIFont+LineHeight' do |sp|
+ sp.platform = :ios, '5.0'
+ sp.source_files = 'iPhone/GTMUIFont+LineHeight.{h,m}'
+ sp.requires_arc = 'iPhone/GTMUIFont+LineHeight.{h,m}'
+ end
+
+
+ s.subspec 'UnitTesting' do |sp|
+ sp.platform = :ios, '5.0'
+ sp.requires_arc = 'UnitTesting/GTMDevLogUnitTestingBridge.m'
+ sp.source_files =
+ 'UnitTesting/GTMCALayer+UnitTesting.{h,m}',
+ 'UnitTesting/GTMDevLogUnitTestingBridge.m',
+ 'UnitTesting/GTMFoundationUnitTestingUtilities.{h,m}',
+ 'UnitTesting/GTMNSObject+UnitTesting.{h,m}',
+ 'UnitTesting/GTMSenTestCase.{h,m}',
+ 'UnitTesting/GTMTestTimer.h',
+ 'UnitTesting/GTMUIKit+UnitTesting.{h,m}',
+ 'UnitTesting/GTMUnitTestDevLog.{h,m}'
+ sp.requires_arc = 'UnitTesting/GTMDevLogUnitTestingBridge.m'
+ sp.frameworks = 'CoreGraphics', 'QuartzCore'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Regex', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/Runtime', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/SystemVersion', "#{s.version}"
+ end
+
+ s.subspec 'UnitTestingAppLib' do |sp|
+ sp.platform = :ios, '5.0'
+ sp.source_files =
+ 'UnitTesting/GTMCodeCoverageApp.h',
+ 'UnitTesting/GTMIPhoneUnitTestDelegate.{h,m}'
+ sp.dependency 'GoogleToolboxForMac/Defines', "#{s.version}"
+ sp.dependency 'GoogleToolboxForMac/UnitTesting', "#{s.version}"
+ end
+
+end