mirror of
https://github.com/status-im/react-native.git
synced 2025-02-23 22:58:19 +00:00
Summary: Resolves #23390: **cxxreact**, **jsi** and **jsiexecutor** depends on **DoubleConversion** and **glog**. This cause: ``` Undefined symbols for architecture x86_64: "google::LogMessage::LogMessage(char const*, int, int)", referenced from: std::__1::__function::__func<facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1, std::__1::allocator<facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1>, void ()>::operator()() in CxxNativeModule.o std::__1::__function::__func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_1, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_1>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) in NativeToJsBridge.o std::__1::__function::__func<facebook::react::NativeToJsBridge::invokeCallback(double, folly::dynamic&&)::$_2, std::__1::allocator<facebook::react::NativeToJsBridge::invokeCallback(double, folly::dynamic&&)::$_2>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) in NativeToJsBridge.o "double_conversion::DoubleToStringConverter::ToShortestIeeeNumber(double, double_conversion::StringBuilder*, double_conversion::DoubleToStringConverter::DtoaMode) const", referenced from: std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIDynamic.o double_conversion::DoubleToStringConverter::ToShortest(double, double_conversion::StringBuilder*) const in JSIDynamic.o double_conversion::DoubleToStringConverter::ToShortestSingle(float, double_conversion::StringBuilder*) const in JSIDynamic.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIExecutor.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in MethodCall.o "double_conversion::DoubleToStringConverter::ToFixed(double, int, double_conversion::StringBuilder*) const", referenced from: std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIDynamic.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIExecutor.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in MethodCall.o "google::LogMessageFatal::LogMessageFatal(char const*, int)", referenced from: std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o facebook::react::Instance::initializeBridge(std::__1::unique_ptr<facebook::react::InstanceCallback, std::__1::default_delete<facebook::react::InstanceCallback> >, std::__1::shared_ptr<facebook::react::JSExecutorFactory>, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::ModuleRegistry>) in Instance.o folly::detail::ScopeGuardImpl<facebook::react::JSBigFileString::fromPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0, true>::~ScopeGuardImpl() in JSBigString.o facebook::react::JSBigFileString::c_str() const in JSBigString.o facebook::jsi::valueFromDynamic(facebook::jsi::Runtime&, folly::dynamic const&) in JSIDynamic.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIDynamic.o facebook::react::JSIExecutor::callNativeModules(facebook::jsi::Value const&, bool) in JSIExecutor.o ... "double_conversion::DoubleToStringConverter::ToPrecision(double, int, double_conversion::StringBuilder*) const", referenced from: std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIDynamic.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIExecutor.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in MethodCall.o "google::LogMessage::stream()", referenced from: std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o std::__1::__function::__func<facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1, std::__1::allocator<facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1>, void ()>::operator()() in CxxNativeModule.o facebook::react::Instance::initializeBridge(std::__1::unique_ptr<facebook::react::InstanceCallback, std::__1::default_delete<facebook::react::InstanceCallback> >, std::__1::shared_ptr<facebook::react::JSExecutorFactory>, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::ModuleRegistry>) in Instance.o folly::detail::ScopeGuardImpl<facebook::react::JSBigFileString::fromPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0, true>::~ScopeGuardImpl() in JSBigString.o facebook::react::JSBigFileString::c_str() const in JSBigString.o facebook::jsi::valueFromDynamic(facebook::jsi::Runtime&, folly::dynamic const&) in JSIDynamic.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIDynamic.o ... "google::LogMessage::~LogMessage()", referenced from: std::__1::__function::__func<facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1, std::__1::allocator<facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1>, void ()>::operator()() in CxxNativeModule.o std::__1::__function::__func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_1, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_1>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) in NativeToJsBridge.o std::__1::__function::__func<facebook::react::NativeToJsBridge::invokeCallback(double, folly::dynamic&&)::$_2, std::__1::allocator<facebook::react::NativeToJsBridge::invokeCallback(double, folly::dynamic&&)::$_2>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) in NativeToJsBridge.o "google::LogMessageFatal::~LogMessageFatal()", referenced from: std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o facebook::react::Instance::initializeBridge(std::__1::unique_ptr<facebook::react::InstanceCallback, std::__1::default_delete<facebook::react::InstanceCallback> >, std::__1::shared_ptr<facebook::react::JSExecutorFactory>, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::ModuleRegistry>) in Instance.o folly::detail::ScopeGuardImpl<facebook::react::JSBigFileString::fromPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0, true>::~ScopeGuardImpl() in JSBigString.o facebook::react::JSBigFileString::c_str() const in JSBigString.o facebook::jsi::valueFromDynamic(facebook::jsi::Runtime&, folly::dynamic const&) in JSIDynamic.o std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSIDynamic.o facebook::react::JSIExecutor::callNativeModules(facebook::jsi::Value const&, bool) in JSIExecutor.o ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ``` [iOS] [Fixed] - Added `DoubleConversion` and `glog` to `cxxreact`, `jsi` and `jsiexecutor` subspecs in `React.podspec` file. The goal of this PR is to have no need to fix #23390 by manually adding **DoubleConversion** and **glog** to _Link Binary With Libraries_ of **React** framework target in cocoapods project.  Pull Request resolved: https://github.com/facebook/react-native/pull/23430 Differential Revision: D14065309 Pulled By: cpojer fbshipit-source-id: 4318c3770c54087f198856c983f7cb73ff30000f
353 lines
15 KiB
Ruby
353 lines
15 KiB
Ruby
# coding: utf-8
|
||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||
#
|
||
# This source code is licensed under the MIT license found in the
|
||
# LICENSE file in the root directory of this source tree.
|
||
|
||
require "json"
|
||
|
||
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
||
version = package['version']
|
||
|
||
source = { :git => 'https://github.com/facebook/react-native.git' }
|
||
if version == '1000.0.0'
|
||
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
||
source[:commit] = `git rev-parse HEAD`.strip
|
||
else
|
||
source[:tag] = "v#{version}"
|
||
end
|
||
|
||
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
|
||
folly_version = '2018.10.22.00'
|
||
|
||
Pod::Spec.new do |s|
|
||
s.name = "React"
|
||
s.version = version
|
||
s.summary = package["description"]
|
||
s.description = <<-DESC
|
||
React Native apps are built using the React JS
|
||
framework, and render directly to native UIKit
|
||
elements using a fully asynchronous architecture.
|
||
There is no browser and no HTML. We have picked what
|
||
we think is the best set of features from these and
|
||
other technologies to build what we hope to become
|
||
the best product development framework available,
|
||
with an emphasis on iteration speed, developer
|
||
delight, continuity of technology, and absolutely
|
||
beautiful and fast products with no compromises in
|
||
quality or capability.
|
||
DESC
|
||
s.homepage = "http://facebook.github.io/react-native/"
|
||
s.license = package["license"]
|
||
s.author = "Facebook"
|
||
s.source = source
|
||
s.default_subspec = "Core"
|
||
s.requires_arc = true
|
||
s.platforms = { :ios => "9.0", :tvos => "9.2" }
|
||
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++14" }
|
||
s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs"
|
||
s.cocoapods_version = ">= 1.2.0"
|
||
|
||
s.subspec "Core" do |ss|
|
||
ss.dependency "yoga", "#{package["version"]}.React"
|
||
ss.source_files = "React/**/*.{c,h,m,mm,S,cpp}"
|
||
ss.exclude_files = "**/__tests__/*",
|
||
"IntegrationTests/*",
|
||
"React/DevSupport/*",
|
||
"React/Inspector/*",
|
||
"ReactCommon/yoga/*",
|
||
"React/Cxx*/*",
|
||
"React/Fabric/**/*"
|
||
ss.ios.exclude_files = "React/**/RCTTV*.*"
|
||
ss.tvos.exclude_files = "React/Modules/RCTClipboard*",
|
||
"React/Views/RCTDatePicker*",
|
||
"React/Views/RCTPicker*",
|
||
"React/Views/RCTRefreshControl*",
|
||
"React/Views/RCTSlider*",
|
||
"React/Views/RCTSwitch*",
|
||
"React/Views/RCTWebView*"
|
||
ss.header_dir = "React"
|
||
ss.framework = "JavaScriptCore"
|
||
ss.libraries = "stdc++"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||
end
|
||
|
||
s.subspec "CxxBridge" do |ss|
|
||
ss.dependency "Folly", folly_version
|
||
ss.dependency "React/Core"
|
||
ss.dependency "React/cxxreact"
|
||
ss.dependency "React/jsiexecutor"
|
||
ss.compiler_flags = folly_compiler_flags
|
||
ss.private_header_files = "React/Cxx*/*.h"
|
||
ss.source_files = "React/Cxx*/*.{h,m,mm}"
|
||
end
|
||
|
||
s.subspec "DevSupport" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.dependency "React/RCTWebSocket"
|
||
ss.source_files = "React/DevSupport/*",
|
||
"React/Inspector/*"
|
||
end
|
||
|
||
s.subspec "RCTFabric" do |ss|
|
||
ss.dependency "Folly", folly_version
|
||
ss.dependency "React/Core"
|
||
ss.dependency "React/fabric"
|
||
ss.compiler_flags = folly_compiler_flags
|
||
ss.source_files = "React/Fabric/**/*.{c,h,m,mm,S,cpp}"
|
||
ss.exclude_files = "**/tests/*"
|
||
ss.header_dir = "React"
|
||
ss.framework = "JavaScriptCore"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||
end
|
||
|
||
s.subspec "tvOS" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "React/**/RCTTV*.{h,m}"
|
||
end
|
||
|
||
s.subspec "jsinspector" do |ss|
|
||
ss.source_files = "ReactCommon/jsinspector/*.{cpp,h}"
|
||
ss.private_header_files = "ReactCommon/jsinspector/*.h"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||
end
|
||
|
||
s.subspec "jsiexecutor" do |ss|
|
||
ss.dependency "React/cxxreact"
|
||
ss.dependency "React/jsi"
|
||
ss.dependency "Folly", folly_version
|
||
ss.dependency "DoubleConversion"
|
||
ss.dependency "glog"
|
||
ss.compiler_flags = folly_compiler_flags
|
||
ss.source_files = "ReactCommon/jsiexecutor/jsireact/*.{cpp,h}"
|
||
ss.private_header_files = "ReactCommon/jsiexecutor/jsireact/*.h"
|
||
ss.header_dir = "jsireact"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\", \"$(PODS_TARGET_SRCROOT)/ReactCommon/jsiexecutor\"" }
|
||
end
|
||
|
||
s.subspec "jsi" do |ss|
|
||
ss.dependency "Folly", folly_version
|
||
ss.dependency "DoubleConversion"
|
||
ss.dependency "glog"
|
||
ss.compiler_flags = folly_compiler_flags
|
||
ss.source_files = "ReactCommon/jsi/*.{cpp,h}"
|
||
ss.private_header_files = "ReactCommon/jsi/*.h"
|
||
ss.framework = "JavaScriptCore"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||
end
|
||
|
||
s.subspec "PrivateDatabase" do |ss|
|
||
ss.source_files = "ReactCommon/privatedata/*.{cpp,h}"
|
||
ss.private_header_files = "ReactCommon/privatedata/*.h"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||
end
|
||
|
||
s.subspec "cxxreact" do |ss|
|
||
ss.dependency "React/jsinspector"
|
||
ss.dependency "boost-for-react-native", "1.63.0"
|
||
ss.dependency "Folly", folly_version
|
||
ss.dependency "DoubleConversion"
|
||
ss.dependency "glog"
|
||
ss.compiler_flags = folly_compiler_flags
|
||
ss.source_files = "ReactCommon/cxxreact/*.{cpp,h}"
|
||
ss.exclude_files = "ReactCommon/cxxreact/SampleCxxModule.*"
|
||
ss.private_header_files = "ReactCommon/cxxreact/*.h"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
s.subspec "fabric" do |ss|
|
||
ss.subspec "activityindicator" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/activityindicator/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/activityindicator"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "attributedstring" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/attributedstring/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/attributedstring"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "core" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/core/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/core"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "debug" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/debug/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/debug"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "graphics" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/graphics/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/graphics"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "scrollview" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/scrollview/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/scrollview"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "text" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/text/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/text"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "textlayoutmanager" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/textlayoutmanager/**/*.{cpp,h,mm}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/textlayoutmanager"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "uimanager" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/uimanager/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/uimanager"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
ss.subspec "view" do |sss|
|
||
sss.dependency "Folly", folly_version
|
||
sss.dependency "yoga"
|
||
sss.compiler_flags = folly_compiler_flags
|
||
sss.source_files = "ReactCommon/fabric/view/**/*.{cpp,h}"
|
||
sss.exclude_files = "**/tests/*"
|
||
sss.header_dir = "fabric/view"
|
||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
end
|
||
|
||
# Fabric sample target for sample app purpose.
|
||
s.subspec "RCTFabricSample" do |ss|
|
||
ss.dependency "Folly", folly_version
|
||
ss.compiler_flags = folly_compiler_flags
|
||
ss.source_files = "ReactCommon/fabric/sample/**/*.{cpp,h}"
|
||
ss.exclude_files = "**/tests/*"
|
||
ss.header_dir = "fabric/sample"
|
||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
|
||
end
|
||
|
||
s.subspec "ART" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/ART/**/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTActionSheet" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/ActionSheetIOS/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTAnimation" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/NativeAnimation/{Drivers/*,Nodes/*,*}.{h,m}"
|
||
ss.header_dir = "RCTAnimation"
|
||
end
|
||
|
||
s.subspec "RCTBlob" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/Blob/*.{h,m,mm}"
|
||
ss.preserve_paths = "Libraries/Blob/*.js"
|
||
end
|
||
|
||
s.subspec "RCTCameraRoll" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.dependency 'React/RCTImage'
|
||
ss.source_files = "Libraries/CameraRoll/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTGeolocation" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/Geolocation/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTImage" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.dependency "React/RCTNetwork"
|
||
ss.source_files = "Libraries/Image/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTNetwork" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/Network/*.{h,m,mm}"
|
||
end
|
||
|
||
s.subspec "RCTPushNotification" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/PushNotificationIOS/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTSettings" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/Settings/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTText" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/Text/**/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTVibration" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/Vibration/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTWebSocket" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.dependency "React/RCTBlob"
|
||
ss.dependency "React/fishhook"
|
||
ss.source_files = "Libraries/WebSocket/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "fishhook" do |ss|
|
||
ss.header_dir = "fishhook"
|
||
ss.source_files = "Libraries/fishhook/*.{h,c}"
|
||
end
|
||
|
||
s.subspec "RCTLinkingIOS" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/LinkingIOS/*.{h,m}"
|
||
end
|
||
|
||
s.subspec "RCTTest" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.source_files = "Libraries/RCTTest/**/*.{h,m}"
|
||
ss.frameworks = "XCTest"
|
||
end
|
||
|
||
s.subspec "_ignore_me_subspec_for_linting_" do |ss|
|
||
ss.dependency "React/Core"
|
||
ss.dependency "React/CxxBridge"
|
||
end
|
||
end
|