GoogleUtilities.podspec 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. Pod::Spec.new do |s|
  2. s.name = 'GoogleUtilities'
  3. s.version = '6.5.0'
  4. s.summary = 'Google Utilities for iOS (plus community support for macOS and tvOS)'
  5. s.description = <<-DESC
  6. Internal Google Utilities including Network, Reachability Environment, Logger and Swizzling for
  7. other Google CocoaPods. They're not intended for direct public usage.
  8. DESC
  9. s.homepage = 'https://github.com/firebase/firebase-ios-sdk/tree/master/GoogleUtilities'
  10. s.license = { :type => 'Apache', :file => 'LICENSE' }
  11. s.authors = 'Google, Inc.'
  12. s.source = {
  13. :git => 'https://github.com/firebase/firebase-ios-sdk.git',
  14. :tag => 'Utilities-' + s.version.to_s
  15. }
  16. s.ios.deployment_target = '8.0'
  17. s.osx.deployment_target = '10.11'
  18. s.tvos.deployment_target = '10.0'
  19. s.watchos.deployment_target = '6.0'
  20. s.cocoapods_version = '>= 1.4.0'
  21. s.prefix_header_file = false
  22. s.subspec 'Environment' do |es|
  23. es.source_files = 'GoogleUtilities/Environment/**/*.[mh]'
  24. es.public_header_files = 'GoogleUtilities/Environment/**/*.h'
  25. es.private_header_files = 'GoogleUtilities/Environment/**/*.h'
  26. end
  27. s.subspec 'Logger' do |ls|
  28. ls.source_files = 'GoogleUtilities/Logger/**/*.[mh]'
  29. ls.public_header_files = 'GoogleUtilities/Logger/Private/*.h', 'GoogleUtilities/Logger/Public/*.h'
  30. ls.private_header_files = 'GoogleUtilities/Logger/Private/*.h'
  31. ls.dependency 'GoogleUtilities/Environment'
  32. end
  33. s.subspec 'Network' do |ns|
  34. ns.source_files = 'GoogleUtilities/Network/**/*.[mh]'
  35. ns.public_header_files = 'GoogleUtilities/Network/Private/*.h'
  36. ns.private_header_files = 'GoogleUtilities/Network/Private/*.h'
  37. ns.dependency 'GoogleUtilities/NSData+zlib'
  38. ns.dependency 'GoogleUtilities/Logger'
  39. ns.dependency 'GoogleUtilities/Reachability'
  40. ns.frameworks = [
  41. 'Security'
  42. ]
  43. end
  44. s.subspec 'NSData+zlib' do |ns|
  45. ns.source_files = 'GoogleUtilities/NSData+zlib/*.[mh]'
  46. ns.public_header_files = 'GoogleUtilities/NSData+zlib/GULNSData+zlib.h'
  47. ns.libraries = [
  48. 'z'
  49. ]
  50. end
  51. s.subspec 'Reachability' do |rs|
  52. rs.source_files = 'GoogleUtilities/Reachability/**/*.[mh]'
  53. rs.public_header_files = 'GoogleUtilities/Reachability/Private/*.h'
  54. rs.private_header_files = 'GoogleUtilities/Reachability/Private/*.h'
  55. rs.ios.frameworks = [
  56. 'SystemConfiguration'
  57. ]
  58. rs.osx.frameworks = [
  59. 'SystemConfiguration'
  60. ]
  61. rs.tvos.frameworks = [
  62. 'SystemConfiguration'
  63. ]
  64. rs.dependency 'GoogleUtilities/Logger'
  65. end
  66. s.subspec 'AppDelegateSwizzler' do |adss|
  67. adss.source_files = 'GoogleUtilities/AppDelegateSwizzler/**/*.[mh]', 'GoogleUtilities/SceneDelegateSwizzler/**/*.[mh]', 'GoogleUtilities/Common/*.h'
  68. adss.public_header_files = 'GoogleUtilities/AppDelegateSwizzler/Private/*.h', 'GoogleUtilities/SceneDelegateSwizzler/Private/*.h'
  69. adss.private_header_files = 'GoogleUtilities/AppDelegateSwizzler/Private/*.h', 'GoogleUtilities/SceneDelegateSwizzler/Private/*.h'
  70. adss.dependency 'GoogleUtilities/Logger'
  71. adss.dependency 'GoogleUtilities/Network'
  72. adss.dependency 'GoogleUtilities/Environment'
  73. end
  74. s.subspec 'ISASwizzler' do |iss|
  75. iss.source_files = 'GoogleUtilities/ISASwizzler/**/*.[mh]', 'GoogleUtilities/Common/*.h'
  76. iss.public_header_files = 'GoogleUtilities/ISASwizzler/Private/*.h'
  77. iss.private_header_files = 'GoogleUtilities/ISASwizzler/Private/*.h'
  78. # Disable ARC for GULSwizzledObject.
  79. iss.requires_arc = ['GoogleUtilities/Common/*.h', 'GoogleUtilities/ISASwizzler/GULObjectSwizzler*.[mh]']
  80. end
  81. s.subspec 'MethodSwizzler' do |mss|
  82. mss.source_files = 'GoogleUtilities/MethodSwizzler/**/*.[mh]', 'GoogleUtilities/Common/*.h'
  83. mss.private_header_files = 'GoogleUtilities/MethodSwizzler/Private/*.h'
  84. mss.dependency 'GoogleUtilities/Logger'
  85. end
  86. s.subspec 'SwizzlerTestHelpers' do |sths|
  87. sths.source_files = 'GoogleUtilities/SwizzlerTestHelpers/*.[hm]'
  88. sths.private_header_files = 'GoogleUtilities/SwizzlerTestHelpers/*.h'
  89. sths.dependency 'GoogleUtilities/MethodSwizzler'
  90. end
  91. s.subspec 'UserDefaults' do |ud|
  92. ud.source_files = 'GoogleUtilities/UserDefaults/**/*.[hm]'
  93. ud.public_header_files = 'GoogleUtilities/UserDefaults/Private/*.h'
  94. ud.private_header_files = 'GoogleUtilities/UserDefaults/Private/*.h'
  95. ud.dependency 'GoogleUtilities/Logger'
  96. end
  97. s.test_spec 'unit' do |unit_tests|
  98. # All tests require arc except Tests/Network/third_party/GTMHTTPServer.m
  99. unit_tests.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
  100. unit_tests.source_files = 'GoogleUtilities/Example/Tests/**/*.[mh]'
  101. unit_tests.requires_arc = 'GoogleUtilities/Example/Tests/*/*.[mh]'
  102. unit_tests.requires_app_host = true
  103. unit_tests.dependency 'OCMock'
  104. end
  105. end