mirror of
https://github.com/zoriya/react-native-svg.git
synced 2025-12-05 22:56:11 +00:00
Most of Android changes for Fabric and bump of FabricExample to RN 0.69.2. iOS and JS changes are available in #1821. The most notable change on Android is adding methods to components that accept String values of each NumberProp instead of Dynamic. Another change is changed structure of RenderableViewManager.java since we needed to abstract methods that belong only to components inheriting from VirtualView in order to be able to properly override them in their children.
57 lines
2.2 KiB
Ruby
57 lines
2.2 KiB
Ruby
require 'json'
|
|
|
|
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
|
|
fabric_enabled = ENV['RCT_NEW_ARCH_ENABLED']
|
|
|
|
Pod::Spec.new do |s|
|
|
s.name = 'RNSVG'
|
|
s.version = package['version']
|
|
s.summary = package['description']
|
|
s.license = package['license']
|
|
s.homepage = package['homepage']
|
|
s.authors = 'Horcrux Chen'
|
|
s.platforms = { :osx => "10.14", :ios => "9.0", :tvos => "9.2" }
|
|
s.source = { :git => 'https://github.com/react-native-community/react-native-svg.git', :tag => "v#{s.version}" }
|
|
|
|
if fabric_enabled
|
|
# folly_version must match the version used in React Native
|
|
# See folly_version in react-native/React/FBReactNativeSpec/FBReactNativeSpec.podspec
|
|
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
|
|
|
s.pod_target_xcconfig = {
|
|
'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/boost" "$(PODS_ROOT)/boost-for-react-native" "$(PODS_ROOT)/RCT-Folly"',
|
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
|
|
}
|
|
s.platforms = { ios: '11.0', tvos: '11.0' }
|
|
s.compiler_flags = folly_compiler_flags + ' -DRN_FABRIC_ENABLED'
|
|
s.source_files = 'apple/**/*.{h,m,mm,cpp}'
|
|
s.ios.exclude_files = '**/*.macos.{h,m,mm,cpp}'
|
|
s.tvos.exclude_files = '**/*.macos.{h,m,mm,cpp}'
|
|
s.osx.exclude_files = '**/*.ios.{h,m,mm,cpp}'
|
|
s.requires_arc = true
|
|
|
|
s.dependency "React"
|
|
s.dependency "React-RCTFabric"
|
|
s.dependency "React-Codegen"
|
|
s.dependency "RCT-Folly"
|
|
s.dependency "RCTRequired"
|
|
s.dependency "RCTTypeSafety"
|
|
s.dependency "ReactCommon/turbomodule/core"
|
|
|
|
s.subspec "common" do |ss|
|
|
ss.source_files = "common/cpp/**/*.{cpp,h}"
|
|
ss.header_dir = "rnsvg"
|
|
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/common/cpp\"" }
|
|
end
|
|
else
|
|
s.source_files = 'apple/**/*.{h,m,mm}'
|
|
s.exclude_files = 'apple/Utils/RNSVGFabricConversions.h'
|
|
s.ios.exclude_files = '**/*.macos.{h,m,mm}'
|
|
s.tvos.exclude_files = '**/*.macos.{h,m,mm}'
|
|
s.osx.exclude_files = '**/*.ios.{h,m,mm}'
|
|
s.requires_arc = true
|
|
s.dependency 'React-Core'
|
|
end
|
|
end
|