10dfbbd2aSWill Schurmanrequire 'json'
20dfbbd2aSWill Schurman
30dfbbd2aSWill Schurmanpackage = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
40dfbbd2aSWill Schurman
50dfbbd2aSWill SchurmanPod::Spec.new do |s|
60dfbbd2aSWill Schurman  s.name           = 'EXJSONUtils'
70dfbbd2aSWill Schurman  s.version        = package['version']
80dfbbd2aSWill Schurman  s.summary        = package['description']
90dfbbd2aSWill Schurman  s.description    = package['description']
100dfbbd2aSWill Schurman  s.license        = package['license']
110dfbbd2aSWill Schurman  s.author         = package['author']
120dfbbd2aSWill Schurman  s.homepage       = package['homepage']
13*ef901781SDouglas Lowder  s.platforms      = { :ios => '13.0', :tvos => '13.0' }
140dfbbd2aSWill Schurman  s.source         = { git: 'https://github.com/expo/expo.git' }
159886c0aaSKudo Chien  s.static_framework = true
160dfbbd2aSWill Schurman
170dfbbd2aSWill Schurman  s.pod_target_xcconfig = {
180dfbbd2aSWill Schurman    'GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS' => 'YES',
1994af3edaSWill Schurman    'GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS' => 'YES',
2094af3edaSWill Schurman    'DEFINES_MODULE' => 'YES',
2194af3edaSWill Schurman    'SWIFT_COMPILATION_MODE' => 'wholemodule'
220dfbbd2aSWill Schurman  }
230dfbbd2aSWill Schurman
240dfbbd2aSWill Schurman  if !$ExpoUseSources&.include?(package['name']) && ENV['EXPO_USE_SOURCE'].to_i == 0 && File.exist?("#{s.name}.xcframework") && Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.10.0')
250dfbbd2aSWill Schurman    s.source_files = "#{s.name}/**/*.h"
260dfbbd2aSWill Schurman    s.vendored_frameworks = "#{s.name}.xcframework"
270dfbbd2aSWill Schurman  else
2894af3edaSWill Schurman    s.source_files = "#{s.name}/**/*.{h,m,swift}"
290dfbbd2aSWill Schurman  end
300dfbbd2aSWill Schurman
310dfbbd2aSWill Schurman  s.test_spec 'Tests' do |test_spec|
320dfbbd2aSWill Schurman    test_spec.source_files = 'Tests/*.{h,m,swift}'
330dfbbd2aSWill Schurman  end
340dfbbd2aSWill Schurmanend
35