From 2321b3fd7f666ce30f5dad4cd2673ddf22972056 Mon Sep 17 00:00:00 2001 From: Ville Immonen Date: Thu, 21 Feb 2019 18:22:05 -0800 Subject: [PATCH] Split React.podspec into separate podspecs for each Xcode project (#23559) Summary: This PR implements the first part of [RFC0004: CocoaPods Support Improvements](https://github.com/react-native-community/discussions-and-proposals/blob/353d44f64957113409eb16f836e23dba396a6b46/proposals/0004-cocoapods-support-improvements.md), splitting the `React.podspec` into separate podspecs to more closely match the structure of Xcode projects. The new structure aims to have one to one mapping between Xcode projects and podspecs. The only places where we differ from this mapping are: * `React/React-DevSupport.podspec`: `DevSupport` is a part of `React.xcodeproj`, which corresponds to the `React-Core` pod. However, we can't include it in the `React-Core` pod because `DevSupport` depends on `React-RCTWebSocket`, which depends on `React-Core`. Pods may not have circular dependencies. * The new pods under `ReactCommon/` don't have a corresponding `xcodeproj` because there are no `xcodproj` files in `ReactCommon/`. Those C++ modules are included in `React.xcodeproj`. *Next steps (not in scope of this PR):* - Start submitting the Podspecs to CocoaPods on a deploy (or turn the React Native repo into a spec repo): this is important in order to make the experience nicer for library consumers, so that it's not necessary to specify the local path of each Podspec in `Podfile`, you can just add `pod 'React', `. - Add `Podfile` to the default project template (I have a PR ready for this, but because of bugs related to subspecs, it's blocked on this PR) [iOS] [Changed] - Split React.podspec into separate podspecs for each Xcode project Pull Request resolved: https://github.com/facebook/react-native/pull/23559 Differential Revision: D14179326 Pulled By: cpojer fbshipit-source-id: 397a9c30b6b5d24f86c790057c71f0d403f56c3d --- Libraries/ART/React-ART.podspec | 34 ++ .../React-RCTActionSheet.podspec | 35 ++ Libraries/Blob/React-RCTBlob.podspec | 36 ++ .../CameraRoll/React-RCTCameraRoll.podspec | 36 ++ .../Geolocation/React-RCTGeolocation.podspec | 35 ++ Libraries/Image/React-RCTImage.podspec | 36 ++ Libraries/LinkingIOS/React-RCTLinking.podspec | 35 ++ .../React-RCTAnimation.podspec | 34 ++ Libraries/Network/React-RCTNetwork.podspec | 34 ++ .../React-RCTPushNotification.podspec | 35 ++ Libraries/RCTTest/React-RCTTest.podspec | 35 ++ Libraries/Settings/React-RCTSettings.podspec | 35 ++ Libraries/Text/React-RCTText.podspec | 35 ++ .../Vibration/React-RCTVibration.podspec | 35 ++ .../WebSocket/React-RCTWebSocket.podspec | 37 ++ Libraries/fishhook/React-fishhook.podspec | 31 ++ RNTester/Podfile | 46 ++- RNTester/Podfile.lock | 230 +++++++---- React.podspec | 365 ++---------------- React/React-Core.podspec | 56 +++ React/React-DevSupport.podspec | 35 ++ ReactCommon/cxxreact/React-cxxreact.podspec | 44 +++ ReactCommon/jsi/React-jsi.podspec | 43 +++ .../jsiexecutor/React-jsiexecutor.podspec | 43 +++ .../jsinspector/React-jsinspector.podspec | 31 ++ ReactCommon/yoga/yoga.podspec | 4 +- third-party-podspecs/DoubleConversion.podspec | 2 + third-party-podspecs/Folly.podspec | 2 +- third-party-podspecs/glog.podspec | 1 + 29 files changed, 1032 insertions(+), 428 deletions(-) create mode 100644 Libraries/ART/React-ART.podspec create mode 100644 Libraries/ActionSheetIOS/React-RCTActionSheet.podspec create mode 100644 Libraries/Blob/React-RCTBlob.podspec create mode 100644 Libraries/CameraRoll/React-RCTCameraRoll.podspec create mode 100644 Libraries/Geolocation/React-RCTGeolocation.podspec create mode 100644 Libraries/Image/React-RCTImage.podspec create mode 100644 Libraries/LinkingIOS/React-RCTLinking.podspec create mode 100644 Libraries/NativeAnimation/React-RCTAnimation.podspec create mode 100644 Libraries/Network/React-RCTNetwork.podspec create mode 100644 Libraries/PushNotificationIOS/React-RCTPushNotification.podspec create mode 100644 Libraries/RCTTest/React-RCTTest.podspec create mode 100644 Libraries/Settings/React-RCTSettings.podspec create mode 100644 Libraries/Text/React-RCTText.podspec create mode 100644 Libraries/Vibration/React-RCTVibration.podspec create mode 100644 Libraries/WebSocket/React-RCTWebSocket.podspec create mode 100644 Libraries/fishhook/React-fishhook.podspec create mode 100644 React/React-Core.podspec create mode 100644 React/React-DevSupport.podspec create mode 100644 ReactCommon/cxxreact/React-cxxreact.podspec create mode 100644 ReactCommon/jsi/React-jsi.podspec create mode 100644 ReactCommon/jsiexecutor/React-jsiexecutor.podspec create mode 100644 ReactCommon/jsinspector/React-jsinspector.podspec diff --git a/Libraries/ART/React-ART.podspec b/Libraries/ART/React-ART.podspec new file mode 100644 index 000000000..c7bd0d259 --- /dev/null +++ b/Libraries/ART/React-ART.podspec @@ -0,0 +1,34 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-ART" + s.version = version + s.summary = "A library for drawing vector graphics." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "**/*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec b/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec new file mode 100644 index 000000000..9cc25ab1e --- /dev/null +++ b/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTActionSheet" + s.version = version + s.summary = "An API for displaying iOS action sheets and share sheets." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/actionsheetios" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/Blob/React-RCTBlob.podspec b/Libraries/Blob/React-RCTBlob.podspec new file mode 100644 index 000000000..55ab585ab --- /dev/null +++ b/Libraries/Blob/React-RCTBlob.podspec @@ -0,0 +1,36 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTBlob" + s.version = version + s.summary = "An API for displaying iOS action sheets and share sheets." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m,mm}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version + s.dependency "React-RCTNetwork", version + s.dependency "React-RCTWebSocket", version +end diff --git a/Libraries/CameraRoll/React-RCTCameraRoll.podspec b/Libraries/CameraRoll/React-RCTCameraRoll.podspec new file mode 100644 index 000000000..2e283cf68 --- /dev/null +++ b/Libraries/CameraRoll/React-RCTCameraRoll.podspec @@ -0,0 +1,36 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTCameraRoll" + s.version = version + s.summary = "An API that provides access to the local camera roll or photo library." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/cameraroll" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version + s.dependency "React-RCTImage", version +end diff --git a/Libraries/Geolocation/React-RCTGeolocation.podspec b/Libraries/Geolocation/React-RCTGeolocation.podspec new file mode 100644 index 000000000..ebf10933a --- /dev/null +++ b/Libraries/Geolocation/React-RCTGeolocation.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTGeolocation" + s.version = version + s.summary = "A geolocation API for React Native." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/geolocation" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/Image/React-RCTImage.podspec b/Libraries/Image/React-RCTImage.podspec new file mode 100644 index 000000000..01ee7fb7c --- /dev/null +++ b/Libraries/Image/React-RCTImage.podspec @@ -0,0 +1,36 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTImage" + s.version = version + s.summary = "A React component for displaying different types of images." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/image" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version + s.dependency "React-RCTNetwork", version +end diff --git a/Libraries/LinkingIOS/React-RCTLinking.podspec b/Libraries/LinkingIOS/React-RCTLinking.podspec new file mode 100644 index 000000000..e111a64a2 --- /dev/null +++ b/Libraries/LinkingIOS/React-RCTLinking.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTLinking" + s.version = version + s.summary = "A general interface to interact with both incoming and outgoing app links." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/linking" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/NativeAnimation/React-RCTAnimation.podspec b/Libraries/NativeAnimation/React-RCTAnimation.podspec new file mode 100644 index 000000000..ddab24fba --- /dev/null +++ b/Libraries/NativeAnimation/React-RCTAnimation.podspec @@ -0,0 +1,34 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTAnimation" + s.version = version + s.summary = "A native driver for the Animated API." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "{Drivers/*,Nodes/*,*}.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/Network/React-RCTNetwork.podspec b/Libraries/Network/React-RCTNetwork.podspec new file mode 100644 index 000000000..17797985e --- /dev/null +++ b/Libraries/Network/React-RCTNetwork.podspec @@ -0,0 +1,34 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTNetwork" + s.version = version + s.summary = "The networking library of React Native." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m,mm}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec b/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec new file mode 100644 index 000000000..da20c0e2f --- /dev/null +++ b/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTPushNotification" + s.version = version + s.summary = "A library for handling push notifications for your app, including permission handling and icon badge number." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/pushnotificationios" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/RCTTest/React-RCTTest.podspec b/Libraries/RCTTest/React-RCTTest.podspec new file mode 100644 index 000000000..400e0c848 --- /dev/null +++ b/Libraries/RCTTest/React-RCTTest.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTTest" + s.version = version + s.summary = "Tools for integration and snapshot testing." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "**/*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.framework = "XCTest" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/Settings/React-RCTSettings.podspec b/Libraries/Settings/React-RCTSettings.podspec new file mode 100644 index 000000000..05463e4b7 --- /dev/null +++ b/Libraries/Settings/React-RCTSettings.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTSettings" + s.version = version + s.summary = "A wrapper for NSUserDefaults, a persistent key-value store available only on iOS." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/settings" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/Text/React-RCTText.podspec b/Libraries/Text/React-RCTText.podspec new file mode 100644 index 000000000..23072496b --- /dev/null +++ b/Libraries/Text/React-RCTText.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTText" + s.version = version + s.summary = "A React component for displaying text." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/text" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "**/*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/Vibration/React-RCTVibration.podspec b/Libraries/Vibration/React-RCTVibration.podspec new file mode 100644 index 000000000..e4df901ac --- /dev/null +++ b/Libraries/Vibration/React-RCTVibration.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTVibration" + s.version = version + s.summary = "An API for controlling the vibration hardware of the device." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/vibration" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version +end diff --git a/Libraries/WebSocket/React-RCTWebSocket.podspec b/Libraries/WebSocket/React-RCTWebSocket.podspec new file mode 100644 index 000000000..a1abfd7f1 --- /dev/null +++ b/Libraries/WebSocket/React-RCTWebSocket.podspec @@ -0,0 +1,37 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-RCTWebSocket" + s.version = version + s.summary = "A library for supporting WebSockets, a protocol which provides full-duplex communication channels over a single TCP connection." + s.homepage = "http://facebook.github.io/react-native/" + s.documentation_url = "https://facebook.github.io/react-native/docs/network#websocket-support" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{h,m}", + "Libraries/fishhook/*.{h,c}" + s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" + s.header_dir = "React" + + s.dependency "React-Core", version + s.dependency "React-fishhook", version +end diff --git a/Libraries/fishhook/React-fishhook.podspec b/Libraries/fishhook/React-fishhook.podspec new file mode 100644 index 000000000..e720220ab --- /dev/null +++ b/Libraries/fishhook/React-fishhook.podspec @@ -0,0 +1,31 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-fishhook" + s.version = version + s.summary = "A very simple library that enables dynamically rebinding symbols in Mach-O binaries running on iOS in the simulator and on device." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{c,h}" + s.header_dir = "fishhook" +end diff --git a/RNTester/Podfile b/RNTester/Podfile index c38e306b0..6677fa793 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -6,31 +6,29 @@ target 'RNTester' do project 'RNTesterPods.xcodeproj' - pod 'React', :path => '../', :subspecs => [ - 'ART', - 'Core', - 'CxxBridge', - 'DevSupport', - 'RCTActionSheet', - 'RCTAnimation', - 'RCTBlob', - 'RCTCameraRoll', - 'RCTGeolocation', - 'RCTImage', - 'RCTLinkingIOS', - 'RCTNetwork', - 'RCTPushNotification', - 'RCTSettings', - 'RCTText', - 'RCTVibration', - 'RCTWebSocket', - - # Below this line is Fabric (experimental) specific. - # Currently they are disabled due to missing pre-reqs, e.g. upgrading Folly. - # 'RCTFabric', - # 'RCTFabricSample', # This is RNTesterPods specific sample. - ] + pod 'React', :path => '../' + pod 'React-ART', :path => '../Libraries/ART' + pod 'React-Core', :path => '../React' + pod 'React-DevSupport', :path => '../React' + pod 'React-fishhook', :path => '../Libraries/fishhook' + pod 'React-RCTActionSheet', :path => '../Libraries/ActionSheetIOS' + pod 'React-RCTAnimation', :path => '../Libraries/NativeAnimation' + pod 'React-RCTBlob', :path => '../Libraries/Blob' + pod 'React-RCTCameraRoll', :path => '../Libraries/CameraRoll' + pod 'React-RCTGeolocation', :path => '../Libraries/Geolocation' + pod 'React-RCTImage', :path => '../Libraries/Image' + pod 'React-RCTLinking', :path => '../Libraries/LinkingIOS' + pod 'React-RCTNetwork', :path => '../Libraries/Network' + pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS' + pod 'React-RCTSettings', :path => '../Libraries/Settings' + pod 'React-RCTText', :path => '../Libraries/Text' + pod 'React-RCTVibration', :path => '../Libraries/Vibration' + pod 'React-RCTWebSocket', :path => '../Libraries/WebSocket' + pod 'React-cxxreact', :path => '../ReactCommon/cxxreact' + pod 'React-jsi', :path => '../ReactCommon/jsi' + pod 'React-jsiexecutor', :path => '../ReactCommon/jsiexecutor' + pod 'React-jsinspector', :path => '../ReactCommon/jsinspector' pod 'yoga', :path => '../ReactCommon/yoga' # Third party deps podspec link diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index d63996f1f..d94cc10b5 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -6,83 +6,108 @@ PODS: - DoubleConversion - glog - glog (0.3.5) - - React/ART (1000.0.0): - - React/Core - - React/Core (1000.0.0): + - React (1000.0.0): + - React-Core (= 1000.0.0) + - React-DevSupport (= 1000.0.0) + - React-RCTActionSheet (= 1000.0.0) + - React-RCTAnimation (= 1000.0.0) + - React-RCTBlob (= 1000.0.0) + - React-RCTGeolocation (= 1000.0.0) + - React-RCTImage (= 1000.0.0) + - React-RCTLinking (= 1000.0.0) + - React-RCTNetwork (= 1000.0.0) + - React-RCTSettings (= 1000.0.0) + - React-RCTText (= 1000.0.0) + - React-RCTVibration (= 1000.0.0) + - React-RCTWebSocket (= 1000.0.0) + - React-ART (1000.0.0): + - React-Core (= 1000.0.0) + - React-Core (1000.0.0): + - Folly (= 2018.10.22.00) + - React-cxxreact (= 1000.0.0) + - React-jsiexecutor (= 1000.0.0) - yoga (= 1000.0.0.React) - - React/CxxBridge (1000.0.0): - - Folly (= 2018.10.22.00) - - React/Core - - React/cxxreact - - React/jsiexecutor - - React/cxxreact (1000.0.0): + - React-cxxreact (1000.0.0): - boost-for-react-native (= 1.63.0) + - DoubleConversion - Folly (= 2018.10.22.00) - - React/jsinspector - - React/DevSupport (1000.0.0): - - React/Core - - React/RCTWebSocket - - React/fishhook (1000.0.0) - - React/jsi (1000.0.0): + - glog + - React-jsinspector (= 1000.0.0) + - React-DevSupport (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTWebSocket (= 1000.0.0) + - React-fishhook (1000.0.0) + - React-jsi (1000.0.0): + - boost-for-react-native (= 1.63.0) + - DoubleConversion - Folly (= 2018.10.22.00) - - React/jsiexecutor (1000.0.0): + - glog + - React-jsiexecutor (1000.0.0): + - DoubleConversion - Folly (= 2018.10.22.00) - - React/cxxreact - - React/jsi - - React/jsinspector (1000.0.0) - - React/RCTActionSheet (1000.0.0): - - React/Core - - React/RCTAnimation (1000.0.0): - - React/Core - - React/RCTBlob (1000.0.0): - - React/Core - - React/RCTCameraRoll (1000.0.0): - - React/Core - - React/RCTImage - - React/RCTGeolocation (1000.0.0): - - React/Core - - React/RCTImage (1000.0.0): - - React/Core - - React/RCTNetwork - - React/RCTLinkingIOS (1000.0.0): - - React/Core - - React/RCTNetwork (1000.0.0): - - React/Core - - React/RCTPushNotification (1000.0.0): - - React/Core - - React/RCTSettings (1000.0.0): - - React/Core - - React/RCTText (1000.0.0): - - React/Core - - React/RCTVibration (1000.0.0): - - React/Core - - React/RCTWebSocket (1000.0.0): - - React/Core - - React/fishhook - - React/RCTBlob + - glog + - React-cxxreact (= 1000.0.0) + - React-jsi (= 1000.0.0) + - React-jsinspector (1000.0.0) + - React-RCTActionSheet (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTAnimation (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTBlob (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTNetwork (= 1000.0.0) + - React-RCTWebSocket (= 1000.0.0) + - React-RCTCameraRoll (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTImage (= 1000.0.0) + - React-RCTGeolocation (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTImage (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTNetwork (= 1000.0.0) + - React-RCTLinking (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTNetwork (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTPushNotification (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTSettings (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTText (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTVibration (1000.0.0): + - React-Core (= 1000.0.0) + - React-RCTWebSocket (1000.0.0): + - React-Core (= 1000.0.0) + - React-fishhook (= 1000.0.0) - yoga (1000.0.0.React) DEPENDENCIES: - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - Folly (from `../third-party-podspecs/Folly.podspec`) - glog (from `../third-party-podspecs/glog.podspec`) - - React/ART (from `../`) - - React/Core (from `../`) - - React/CxxBridge (from `../`) - - React/DevSupport (from `../`) - - React/RCTActionSheet (from `../`) - - React/RCTAnimation (from `../`) - - React/RCTBlob (from `../`) - - React/RCTCameraRoll (from `../`) - - React/RCTGeolocation (from `../`) - - React/RCTImage (from `../`) - - React/RCTLinkingIOS (from `../`) - - React/RCTNetwork (from `../`) - - React/RCTPushNotification (from `../`) - - React/RCTSettings (from `../`) - - React/RCTText (from `../`) - - React/RCTVibration (from `../`) - - React/RCTWebSocket (from `../`) + - React (from `../`) + - React-ART (from `../Libraries/ART`) + - React-Core (from `../React`) + - React-cxxreact (from `../ReactCommon/cxxreact`) + - React-DevSupport (from `../React`) + - React-fishhook (from `../Libraries/fishhook`) + - React-jsi (from `../ReactCommon/jsi`) + - React-jsiexecutor (from `../ReactCommon/jsiexecutor`) + - React-jsinspector (from `../ReactCommon/jsinspector`) + - React-RCTActionSheet (from `../Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../Libraries/NativeAnimation`) + - React-RCTBlob (from `../Libraries/Blob`) + - React-RCTCameraRoll (from `../Libraries/CameraRoll`) + - React-RCTGeolocation (from `../Libraries/Geolocation`) + - React-RCTImage (from `../Libraries/Image`) + - React-RCTLinking (from `../Libraries/LinkingIOS`) + - React-RCTNetwork (from `../Libraries/Network`) + - React-RCTPushNotification (from `../Libraries/PushNotificationIOS`) + - React-RCTSettings (from `../Libraries/Settings`) + - React-RCTText (from `../Libraries/Text`) + - React-RCTVibration (from `../Libraries/Vibration`) + - React-RCTWebSocket (from `../Libraries/WebSocket`) - yoga (from `../ReactCommon/yoga`) SPEC REPOS: @@ -98,17 +123,80 @@ EXTERNAL SOURCES: :podspec: "../third-party-podspecs/glog.podspec" React: :path: "../" + React-ART: + :path: "../Libraries/ART" + React-Core: + :path: "../React" + React-cxxreact: + :path: "../ReactCommon/cxxreact" + React-DevSupport: + :path: "../React" + React-fishhook: + :path: "../Libraries/fishhook" + React-jsi: + :path: "../ReactCommon/jsi" + React-jsiexecutor: + :path: "../ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../ReactCommon/jsinspector" + React-RCTActionSheet: + :path: "../Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../Libraries/NativeAnimation" + React-RCTBlob: + :path: "../Libraries/Blob" + React-RCTCameraRoll: + :path: "../Libraries/CameraRoll" + React-RCTGeolocation: + :path: "../Libraries/Geolocation" + React-RCTImage: + :path: "../Libraries/Image" + React-RCTLinking: + :path: "../Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../Libraries/Network" + React-RCTPushNotification: + :path: "../Libraries/PushNotificationIOS" + React-RCTSettings: + :path: "../Libraries/Settings" + React-RCTText: + :path: "../Libraries/Text" + React-RCTVibration: + :path: "../Libraries/Vibration" + React-RCTWebSocket: + :path: "../Libraries/WebSocket" yoga: :path: "../ReactCommon/yoga" SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - DoubleConversion: bb338842f62ab1d708ceb63ec3d999f0f3d98ecd + DoubleConversion: 3eb87e5bfd9737e9a8cc698f74ee064d00c8dafc Folly: de497beb10f102453a1afa9edbf8cf8a251890de glog: aefd1eb5dda2ab95ba0938556f34b98e2da3a60d - React: 9b873b38b92ed8012d7cdf3b965477095ed364c4 - yoga: 0885622311729a02c2bc02dca97167787a51488b + React: 4d01f91757abcfd2adccf80248285957ac1a2de2 + React-ART: f03123e0f0b9850db4733ad94ded11d29c719dc6 + React-Core: fcb8a6f34de5a43426efcb9dfda6a434c1b1275d + React-cxxreact: 2a2acf4466abf5b794da53bf69e757a885259452 + React-DevSupport: 140c1ccfa9ccba495977225c117dc78c8858224f + React-fishhook: aefe3414f44d4deaa880f0e39dc76644f1072bf7 + React-jsi: 425cd468e0be54cdc9009a2b4d2c1a4eada83805 + React-jsiexecutor: 520560a0b08226e4e758645940253e270b4d7d76 + React-jsinspector: c9020e3a37b7b27125d824b1d02b9be0d1c737ac + React-RCTActionSheet: 78b940169b3c12d199dbbd382c5a3d22ec2197e2 + React-RCTAnimation: da0026d00ed99669b6175a941189539d8f9d52a4 + React-RCTBlob: c5a2104bd8b8e0462fc35eefa9133dc04ced56dd + React-RCTCameraRoll: effa220c8e244af93b44011ab85cab814c469e08 + React-RCTGeolocation: 3517483e877750bae5a03d9f52e7b0e48c49651e + React-RCTImage: ed045a58ebc9c97870a4fe5d066fdf04f247023b + React-RCTLinking: e5f174d3f9e6ffe30087b9edc8c9860d62c1413c + React-RCTNetwork: 9fbf72be6083a4b5fffe3dc1afad9fa2b70c4f19 + React-RCTPushNotification: 106e9846882a8dcce372fc90531be996ce0bb29b + React-RCTSettings: afd7ae33bacd09b12c8a0d3151069d465344ce24 + React-RCTText: 03945b44521b34f89f9a728e1c265fa096af9f94 + React-RCTVibration: ef9e4e077360a599a1b59cee7d18398871d37759 + React-RCTWebSocket: 510a4eef2c064ef30508aba41628e6d69f4df4c5 + yoga: c63f2cb4fd93594d29e792c198a8050d5daf9fdf -PODFILE CHECKSUM: 7af77fbc34af9646e8c6389e7e2c0b4663bb16d9 +PODFILE CHECKSUM: c144025e9b0ade3d8b536a343fee89da69391cdc -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0 diff --git a/React.podspec b/React.podspec index ce9dc99b5..508283c07 100644 --- a/React.podspec +++ b/React.podspec @@ -17,337 +17,42 @@ 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. + 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.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + 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.compiler_flags = folly_compiler_flags - 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 + s.dependency "React-Core", version + s.dependency "React-DevSupport", version + s.dependency "React-RCTActionSheet", version + s.dependency "React-RCTAnimation", version + s.dependency "React-RCTBlob", version + s.dependency "React-RCTGeolocation", version + s.dependency "React-RCTImage", version + s.dependency "React-RCTLinking", version + s.dependency "React-RCTNetwork", version + s.dependency "React-RCTSettings", version + s.dependency "React-RCTText", version + s.dependency "React-RCTVibration", version + s.dependency "React-RCTWebSocket", version end diff --git a/React/React-Core.podspec b/React/React-Core.podspec new file mode 100644 index 000000000..0643e53af --- /dev/null +++ b/React/React-Core.podspec @@ -0,0 +1,56 @@ +# 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 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2018.10.22.00' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-Core" + s.version = version + s.summary = "The core of React Native." + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "**/*.{c,h,m,mm,S,cpp}" + s.exclude_files = "DevSupport/**/*", + "Fabric/**/*", + "Inspector/**/*" + s.ios.exclude_files = "**/RCTTV*.*" + s.tvos.exclude_files = "Modules/RCTClipboard*", + "Views/RCTDatePicker*", + "Views/RCTPicker*", + "Views/RCTRefreshControl*", + "Views/RCTSlider*", + "Views/RCTSwitch*", + "Views/RCTWebView*", + "Views/RCTWKWebView*" + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + s.header_dir = "React" + s.framework = "JavaScriptCore" + s.library = "stdc++" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Folly\"" } + + s.dependency "Folly", folly_version + s.dependency "React-cxxreact", version + s.dependency "React-jsiexecutor", version + s.dependency "yoga", "#{version}.React" +end diff --git a/React/React-DevSupport.podspec b/React/React-DevSupport.podspec new file mode 100644 index 000000000..0f9405fb9 --- /dev/null +++ b/React/React-DevSupport.podspec @@ -0,0 +1,35 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-DevSupport" + s.version = version + s.summary = "-" # TODO + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "DevSupport/*", + "Inspector/*" + s.header_dir = "React" + + s.dependency "React-Core", version + s.dependency "React-RCTWebSocket", version +end diff --git a/ReactCommon/cxxreact/React-cxxreact.podspec b/ReactCommon/cxxreact/React-cxxreact.podspec new file mode 100644 index 000000000..961392974 --- /dev/null +++ b/ReactCommon/cxxreact/React-cxxreact.podspec @@ -0,0 +1,44 @@ +# 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 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2018.10.22.00' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-cxxreact" + s.version = version + s.summary = "-" # TODO + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{cpp,h}" + s.exclude_files = "SampleCxxModule.*" + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/Folly\"" } + s.header_dir = "cxxreact" + + s.dependency "boost-for-react-native", "1.63.0" + s.dependency "DoubleConversion" + s.dependency "Folly", folly_version + s.dependency "glog" + s.dependency "React-jsinspector", version +end diff --git a/ReactCommon/jsi/React-jsi.podspec b/ReactCommon/jsi/React-jsi.podspec new file mode 100644 index 000000000..40632099d --- /dev/null +++ b/ReactCommon/jsi/React-jsi.podspec @@ -0,0 +1,43 @@ +# 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 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2018.10.22.00' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-jsi" + s.version = version + s.summary = "-" # TODO + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{cpp,h}" + s.framework = "JavaScriptCore" + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/Folly\"" } + s.header_dir = "jsi" + + s.dependency "boost-for-react-native", "1.63.0" + s.dependency "DoubleConversion" + s.dependency "Folly", folly_version + s.dependency "glog" +end diff --git a/ReactCommon/jsiexecutor/React-jsiexecutor.podspec b/ReactCommon/jsiexecutor/React-jsiexecutor.podspec new file mode 100644 index 000000000..d8c6f70fb --- /dev/null +++ b/ReactCommon/jsiexecutor/React-jsiexecutor.podspec @@ -0,0 +1,43 @@ +# 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 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2018.10.22.00' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-jsiexecutor" + s.version = version + s.summary = "-" # TODO + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "jsireact/*.{cpp,h}" + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/Folly\"" } + s.header_dir = "jsireact" + + s.dependency "React-cxxreact", version + s.dependency "React-jsi", version + s.dependency "Folly", folly_version + s.dependency "DoubleConversion" + s.dependency "glog" +end diff --git a/ReactCommon/jsinspector/React-jsinspector.podspec b/ReactCommon/jsinspector/React-jsinspector.podspec new file mode 100644 index 000000000..63db57a49 --- /dev/null +++ b/ReactCommon/jsinspector/React-jsinspector.podspec @@ -0,0 +1,31 @@ +# 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 + +Pod::Spec.new do |s| + s.name = "React-jsinspector" + s.version = version + s.summary = "-" # TODO + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{cpp,h}" + s.header_dir = 'jsinspector' +end diff --git a/ReactCommon/yoga/yoga.podspec b/ReactCommon/yoga/yoga.podspec index 8da83a2ca..a1e6b9cf3 100644 --- a/ReactCommon/yoga/yoga.podspec +++ b/ReactCommon/yoga/yoga.podspec @@ -18,8 +18,8 @@ Pod::Spec.new do |spec| spec.name = 'yoga' spec.version = "#{version}.React" spec.license = { :type => 'MIT' } - spec.homepage = 'https://facebook.github.io/yoga/' - spec.documentation_url = 'https://facebook.github.io/yoga/docs/api/c/' + spec.homepage = 'https://yogalayout.com' + spec.documentation_url = 'https://yogalayout.com/docs/' spec.summary = 'Yoga is a cross-platform layout engine which implements Flexbox.' spec.description = 'Yoga is a cross-platform layout engine enabling maximum collaboration within your team by implementing an API many designers are familiar with, and opening it up to developers across different platforms.' diff --git a/third-party-podspecs/DoubleConversion.podspec b/third-party-podspecs/DoubleConversion.podspec index 97a80401f..344e224a6 100644 --- a/third-party-podspecs/DoubleConversion.podspec +++ b/third-party-podspecs/DoubleConversion.podspec @@ -14,7 +14,9 @@ Pod::Spec.new do |spec| spec.source = { :git => 'https://github.com/google/double-conversion.git', :tag => "v#{spec.version}" } spec.module_name = 'DoubleConversion' + spec.header_dir = 'double-conversion' spec.source_files = 'double-conversion/*.{h,cc}' + spec.compiler_flags = '-Wno-unreachable-code' # Pinning to the same version as React.podspec. spec.platforms = { :ios => "9.0", :tvos => "9.2" } diff --git a/third-party-podspecs/Folly.podspec b/third-party-podspecs/Folly.podspec index 4fb9d5123..20aff7a7b 100644 --- a/third-party-podspecs/Folly.podspec +++ b/third-party-podspecs/Folly.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |spec| spec.dependency 'boost-for-react-native' spec.dependency 'DoubleConversion' spec.dependency 'glog' - spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1' + spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation' spec.source_files = 'folly/String.cpp', 'folly/Conv.cpp', 'folly/Demangle.cpp', diff --git a/third-party-podspecs/glog.podspec b/third-party-podspecs/glog.podspec index b5656e586..d814e367f 100644 --- a/third-party-podspecs/glog.podspec +++ b/third-party-podspecs/glog.podspec @@ -29,6 +29,7 @@ Pod::Spec.new do |spec| 'src/base/*.h' spec.exclude_files = "src/windows/**/*" spec.libraries = "stdc++" + spec.compiler_flags = '-Wno-shorten-64-to-32' spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", "HEADER_SEARCH_PATHS" => "$(PODS_TARGET_SRCROOT)/src" }