GoogleUtilities.podspec 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. Pod::Spec.new do |s|
  2. s.name = 'GoogleUtilities'
  3. s.version = '7.1.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 => 'GoogleUtilities/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 = '9.0'
  17. s.osx.deployment_target = '10.12'
  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.pod_target_xcconfig = {
  23. 'GCC_C_LANGUAGE_STANDARD' => 'c99',
  24. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
  25. }
  26. s.subspec 'Environment' do |es|
  27. es.source_files = 'GoogleUtilities/Environment/**/*.[mh]'
  28. es.public_header_files = 'GoogleUtilities/Environment/Public/GoogleUtilities/*.h'
  29. es.dependency 'PromisesObjC', '~> 1.2'
  30. end
  31. s.subspec 'Logger' do |ls|
  32. ls.source_files = 'GoogleUtilities/Logger/**/*.[mh]'
  33. ls.public_header_files = 'GoogleUtilities/Logger/Public/GoogleUtilities/*.h'
  34. ls.dependency 'GoogleUtilities/Environment'
  35. end
  36. s.subspec 'Network' do |ns|
  37. ns.source_files = 'GoogleUtilities/Network/**/*.[mh]'
  38. ns.public_header_files = 'GoogleUtilities/Network/Public/GoogleUtilities/*.h'
  39. ns.dependency 'GoogleUtilities/NSData+zlib'
  40. ns.dependency 'GoogleUtilities/Logger'
  41. ns.dependency 'GoogleUtilities/Reachability'
  42. ns.frameworks = [
  43. 'Security'
  44. ]
  45. end
  46. s.subspec 'NSData+zlib' do |ns|
  47. ns.source_files = 'GoogleUtilities/NSData+zlib/**/*.[mh]'
  48. ns.public_header_files = 'GoogleUtilities/NSData+zlib/Public/GoogleUtilities/*.h'
  49. ns.libraries = [
  50. 'z'
  51. ]
  52. end
  53. s.subspec 'Reachability' do |rs|
  54. rs.source_files = 'GoogleUtilities/Reachability/**/*.[mh]'
  55. rs.public_header_files = 'GoogleUtilities/Reachability/Public/GoogleUtilities/*.h'
  56. rs.ios.frameworks = [
  57. 'SystemConfiguration'
  58. ]
  59. rs.osx.frameworks = [
  60. 'SystemConfiguration'
  61. ]
  62. rs.tvos.frameworks = [
  63. 'SystemConfiguration'
  64. ]
  65. rs.dependency 'GoogleUtilities/Logger'
  66. end
  67. s.subspec 'AppDelegateSwizzler' do |adss|
  68. adss.source_files = [
  69. 'GoogleUtilities/AppDelegateSwizzler/Internal/*.h',
  70. 'GoogleUtilities/AppDelegateSwizzler/Public/**/*.h',
  71. 'GoogleUtilities/AppDelegateSwizzler/*.m',
  72. 'GoogleUtilities/Common/*.h',
  73. ]
  74. adss.public_header_files = [
  75. 'GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/*.h',
  76. ]
  77. adss.dependency 'GoogleUtilities/Logger'
  78. adss.dependency 'GoogleUtilities/Network'
  79. adss.dependency 'GoogleUtilities/Environment'
  80. end
  81. s.subspec 'ISASwizzler' do |iss|
  82. iss.source_files = 'GoogleUtilities/ISASwizzler/**/*.[mh]', 'GoogleUtilities/Common/*.h'
  83. iss.public_header_files = 'GoogleUtilities/ISASwizzler/Public/GoogleUtilities/*.h'
  84. end
  85. s.subspec 'MethodSwizzler' do |mss|
  86. mss.source_files = 'GoogleUtilities/MethodSwizzler/**/*.[mh]', 'GoogleUtilities/Common/*.h'
  87. mss.public_header_files = 'GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/*.h'
  88. mss.dependency 'GoogleUtilities/Logger'
  89. end
  90. s.subspec 'SwizzlerTestHelpers' do |sths|
  91. sths.source_files = 'GoogleUtilities/SwizzlerTestHelpers/**/*.[hm]'
  92. sths.public_header_files = 'GoogleUtilities/SwizzlerTestHelpers/Public/GoogleUtilities/*.h'
  93. sths.dependency 'GoogleUtilities/MethodSwizzler'
  94. end
  95. s.subspec 'UserDefaults' do |ud|
  96. ud.source_files = 'GoogleUtilities/UserDefaults/**/*.[hm]'
  97. ud.public_header_files = 'GoogleUtilities/UserDefaults/Public/GoogleUtilities/*.h'
  98. ud.dependency 'GoogleUtilities/Logger'
  99. end
  100. s.test_spec 'unit' do |unit_tests|
  101. # All tests require arc except Tests/Network/third_party/GTMHTTPServer.m
  102. unit_tests.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
  103. unit_tests.source_files = [
  104. 'GoogleUtilities/Tests/Unit/**/*.[mh]',
  105. 'SharedTestUtilities/URLSession/*.[mh]',
  106. ]
  107. unit_tests.requires_arc = 'GoogleUtilities/Tests/Unit/*/*.[mh]'
  108. unit_tests.requires_app_host = true
  109. unit_tests.dependency 'OCMock'
  110. end
  111. s.test_spec 'unit-swift' do |unit_tests_swift|
  112. unit_tests_swift.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
  113. unit_tests_swift.source_files = 'GoogleUtilities/Tests/SwiftUnit/**/*.swift',
  114. 'GoogleUtilities/Tests/SwiftUnit/**/*.h'
  115. unit_tests_swift.requires_app_host = true
  116. end
  117. end