1706a476dSWill Schurmanrequire 'json'
2706a476dSWill Schurman
3706a476dSWill Schurmanpackage = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
4706a476dSWill Schurman
5706a476dSWill SchurmanPod::Spec.new do |s|
6706a476dSWill Schurman  s.name           = 'EXManifests'
7706a476dSWill Schurman  s.version        = package['version']
8706a476dSWill Schurman  s.summary        = package['description']
9706a476dSWill Schurman  s.description    = package['description']
10706a476dSWill Schurman  s.license        = package['license']
11706a476dSWill Schurman  s.author         = package['author']
12706a476dSWill Schurman  s.homepage       = package['homepage']
13*ef901781SDouglas Lowder  s.platforms      = { :ios => '13.0', :tvos => '13.0' }
1494af3edaSWill Schurman  s.swift_version  = '5.4'
15706a476dSWill Schurman  s.source         = { git: 'https://github.com/expo/expo.git' }
169886c0aaSKudo Chien  s.static_framework = true
17706a476dSWill Schurman
1894af3edaSWill Schurman  s.dependency 'ExpoModulesCore'
19706a476dSWill Schurman
203f81c6c2SEric Samelson  # Swift/Objective-C compatibility
2194af3edaSWill Schurman  s.pod_target_xcconfig = {
2294af3edaSWill Schurman    'GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS' => 'YES',
2394af3edaSWill Schurman    'GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS' => 'YES',
2494af3edaSWill Schurman    'DEFINES_MODULE' => 'YES',
2594af3edaSWill Schurman    'SWIFT_COMPILATION_MODE' => 'wholemodule'
2694af3edaSWill Schurman  }
27a61b5e5aSKudo Chien  s.user_target_xcconfig = {
28a61b5e5aSKudo Chien    'HEADER_SEARCH_PATHS' => '"${PODS_CONFIGURATION_BUILD_DIR}/EXManifests/Swift Compatibility Header"',
2994af3edaSWill Schurman  }
303f81c6c2SEric Samelson
31706a476dSWill 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')
32706a476dSWill Schurman    s.source_files = "#{s.name}/**/*.h"
33706a476dSWill Schurman    s.vendored_frameworks = "#{s.name}.xcframework"
34706a476dSWill Schurman  else
3594af3edaSWill Schurman    s.source_files = "#{s.name}/**/*.{h,m,swift}"
36706a476dSWill Schurman  end
37706a476dSWill Schurman
3894af3edaSWill Schurman  s.exclude_files = 'Tests/'
39706a476dSWill Schurman  s.test_spec 'Tests' do |test_spec|
4094af3edaSWill Schurman    test_spec.dependency 'ExpoModulesTestCore'
41706a476dSWill Schurman    test_spec.source_files = 'Tests/*.{h,m,swift}'
42706a476dSWill Schurman  end
43706a476dSWill Schurmanend
44