CocoaPods Private Repo support (#107)

Summary:
This PR brings us one step closer for publishing SonarKit.podspec to the public Cocoapods master repository. This solves [#93](https://github.com/facebook/Sonar/issues/93).

- [X] `SonarKit.podspec` now lints by passing the `--sources` flag and the `--use-libraries` flag. `pod spec lint  SonarKit.podspec --sources=https://github.com/facebook/Sonar,master --allow-warnings --use-libraries` Same for `pod repo push`.

- [X] `SonarKit.podspec` is now also published to the CocoaPods Private repo. What does this mean? It means that we no longer need to manually define all of `SonarKit` dependencies in the Podfile. It only takes `SonarKit` consumers to add this line `source 'https://github.com/facebook/Sonar.git'` on top of any Podfile, and `SonarKit` will be installed by just defining it with `pod SonarKit`.

- [X] We are publishing a Cocoapods Private Repo in the meantime we don't have all of our dependencies updated and published to the CocoaPods master repo. The CocoaPods Private Repo contains updated dependency podspecs that will need to be published to the CocoaPods master repo in the near future. That will be the next action item in order to have SonarKit.podspec published as well.

- [X] Sample App Podfile has been refactored, much simpler and cleaner.

- [X] SonarKit Framework project now pulls its dependencies from the cocoapods master repository and the temporary private repository instead of the local podspecs. I am able to compile the SonarKit framework project now, before I was unable to.

- [X] Local third party podspec dependencies have been removed.

emilsjolander priteshrnandgaonkar noahsark769 feel free to contribute or expose any concerns.
Closes https://github.com/facebook/Sonar/pull/107

Reviewed By: danielbuechele

Differential Revision: D8694271

Pulled By: priteshrnandgaonkar

fbshipit-source-id: dcccf70d917cad1e27606a29c0b921883bf9a76f
This commit is contained in:
Marc Terns
2018-07-02 08:27:41 -07:00
committed by Facebook Github Bot
parent e11a587426
commit 9ad693ca05
17 changed files with 443 additions and 291 deletions

3
.gitignore vendored
View File

@@ -13,3 +13,6 @@ local.properties
.gradle/
.idea
.externalNativeBuild
# Mac OS X
*.DS_Store

View File

@@ -0,0 +1,175 @@
{
"name": "Folly",
"version": "1.0.0",
"license": {
"type": "Apache License, Version 2.0"
},
"homepage": "https://github.com/facebook/folly",
"summary": "An open-source C++ library developed and used at Facebook.",
"authors": "Facebook",
"source": {
"git": "https://github.com/facebook/folly.git",
"branch": "master"
},
"module_name": "folly",
"dependencies": {
"boost-for-react-native": [
],
"DoubleConversion": [
],
"glog": [
],
"OpenSSL-Static": [
"1.0.2.c1"
],
"CocoaLibEvent": [
"~> 1.0"
]
},
"compiler_flags": "-DFOLLY_HAVE_PTHREAD=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0 -frtti\n -fexceptions\n -std=c++14\n -Wno-error\n -Wno-unused-local-typedefs\n -Wno-unused-variable\n -Wno-sign-compare\n -Wno-comment\n -Wno-return-type\n -Wno-global-constructors",
"source_files": [
"folly/system/*.cpp",
"folly/portability/Config.h",
"folly/Executor.h",
"folly/Function.h",
"folly/Utility.h",
"folly/Portability.h",
"folly/Traits.h",
"folly/functional/Invoke.h",
"folly/CPortability.h",
"folly/dynamic.h",
"folly/json_pointer.h",
"folly/Expected.h",
"folly/Preprocessor.h",
"folly/Optional.h",
"folly/Unit.h",
"folly/Utility.h",
"folly/lang/ColdClass.h",
"folly/CppAttributes.h",
"folly/json.h",
"folly/Range.h",
"folly/hash/SpookyHashV2.h",
"folly/lang/Exception.h",
"folly/portability/Constexpr.h",
"folly/CpuId.h",
"folly/Likely.h",
"folly/detail/RangeCommon.h",
"folly/detail/RangeSse42.h",
"folly/portability/String.h",
"folly/dynamic-inl.h",
"folly/Conv.h",
"folly/Demangle.h",
"folly/FBString.h",
"folly/hash/Hash.h",
"folly/memory/Malloc.h",
"folly/io/async/AsyncTimeout.h",
"folly/**/*.h",
"folly/memory/detail/MallocImpl.h",
"folly/String.h",
"folly/*.h",
"folly/portability/PThread.h",
"folly/futures/*.h",
"folly/futures/detail/*.h",
"folly/Executor.cpp",
"folly/memory/detail/MallocImpl.cpp",
"folly/String.cpp",
"folly/*.cpp",
"folly/detail/*.cpp",
"folly/hash/*.cpp",
"folly/portability/*.cpp",
"folly/ScopeGuard.h",
"folly/lang/ColdClass.cpp",
"folly/lang/Assume.h",
"folly/lang/Assume.cpp",
"folly/io/async/*.cpp",
"folly/io/async/ssl/*.cpp",
"folly/io/*.cpp",
"folly/synchronization/*.cpp",
"folly/lang/*.cpp",
"folly/memory/*.cpp",
"folly/futures/*.cpp",
"folly/futures/detail/*.cpp",
"folly/experimental/hazptr/*.cpp",
"folly/executors/*.cpp",
"folly/concurrency/*.cpp",
"folly/ssl/*.cpp",
"folly/ssl/detail/*.cpp"
],
"preserve_paths": [
"folly/*.h",
"folly/portability/*.h",
"folly/lang/*.h",
"folly/functional/*.h",
"folly/detail/*.h",
"folly/hash/*.h",
"folly/memory/*.h",
"folly/**/*.h",
"folly/futures/detail/*.h",
"folly/futures/*.h"
],
"header_mappings_dir": "folly",
"header_dir": "folly",
"libraries": "stdc++",
"private_header_files": [
"folly/portability/Stdlib.h",
"folly/portability/Stdio.h"
],
"public_header_files": [
"folly/portability/Config.h",
"folly/Executor.h",
"folly/Function.h",
"folly/Utility.h",
"folly/Portability.h",
"folly/Traits.h",
"folly/functional/Invoke.h",
"folly/CPortability.h",
"folly/dynamic.h",
"folly/json_pointer.h",
"folly/Expected.h",
"folly/Preprocessor.h",
"folly/Optional.h",
"folly/Unit.h",
"folly/Utility.h",
"folly/lang/ColdClass.h",
"folly/CppAttributes.h",
"folly/json.h",
"folly/Range.h",
"folly/hash/SpookyHashV2.h",
"folly/lang/Exception.h",
"folly/portability/Constexpr.h",
"folly/CpuId.h",
"folly/Likely.h",
"folly/detail/RangeCommon.h",
"folly/detail/RangeSse42.h",
"folly/portability/String.h",
"folly/dynamic-inl.h",
"folly/Conv.h",
"folly/Demangle.h",
"folly/FBString.h",
"folly/hash/Hash.h",
"folly/memory/Malloc.h",
"folly/io/async/AsyncTimeout.h",
"folly/**/*.h",
"folly/memory/detail/MallocImpl.h",
"folly/String.h",
"folly/*.h",
"folly/portability/PThread.h",
"folly/futures/*.h",
"folly/futures/detail/*.h"
],
"user_target_xcconfig": {
"ONLY_ACTIVE_ARCH": "YES"
},
"pod_target_xcconfig": {
"USE_HEADERMAP": "NO",
"ONLY_ACTIVE_ARCH": "YES",
"CLANG_CXX_LANGUAGE_STANDARD": "c++11",
"HEADER_SEARCH_PATHS": "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\""
},
"platforms": {
"ios": "8.0"
}
}

View File

@@ -1,19 +1,16 @@
Pod::Spec.new do |spec|
spec.name = 'PeerTalk'
spec.version = '1.0.0'
spec.version = '0.0.2'
spec.license = { :type => 'MIT' }
spec.homepage = 'http://rsms.me/peertalk/'
spec.authors = { 'Rasmus Andersson' => 'rasmus@notion.se' }
spec.summary = 'iOS and OS X Cocoa library for communicating over USB and TCP.'
spec.source = { :git => "https://github.com/rsms/PeerTalk.git", :branch => 'master' }
spec.source = { :git => "https://github.com/rsms/peertalk.git" }
spec.source_files = 'peertalk/*.{h,m}'
spec.requires_arc = true
spec.ios.deployment_target = '8.4'
spec.osx.deployment_target = '10.10'
spec.description = " PeerTalk is a iOS and OS X Cocoa library for communicating over USB and TCP.\n\n Highlights:\n\n * Provides you with USB device attach/detach events and attached device's info\n * Can connect to TCP services on supported attached devices (e.g. an iPhone), bridging the communication over USB transport\n * Offers a higher-level API (PTChannel and PTProtocol) for convenient implementations.\n * Tested and designed for libdispatch (aka Grand Central Dispatch).\n"
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"/**" }
end

4
Specs/README.md Normal file
View File

@@ -0,0 +1,4 @@
# cocoapods-private-repo
A private CocoaPods repository to host podspecs like SonarKit or any of its dependencies.
In order to publish new podspecs to this private repository you must run `pod repo push` command:
`pod repo push [REPO] [NAME.podspec]`. Please refer to the `pod repo push --help` command in case you need to pass any specific flags to the command.

View File

@@ -7,6 +7,7 @@ Pod::Spec.new do |spec|
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/rsocket/rsocket-cpp.git', :branch => "master"}
spec.module_name = 'RSocket'
spec.static_framework = 'true'
spec.source_files = 'rsocket/benchmarks/*',
'rsocket/framing/*',
'rsocket/internal/*',

View File

@@ -0,0 +1,26 @@
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = '0.0.1'
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.static_framework = 'true'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:branch => 'master' }
spec.module_name = 'Sonar'
spec.header_dir = 'Sonar'
spec.header_mappings_dir = 'xplat/Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly'
spec.dependency 'RSocket'
spec.compiler_flags = '-DFB_SONARKIT_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0 -Wall
-std=c++14
-Wno-global-constructors'
spec.platforms = { :ios => "8.0" }
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/RSocket\" \"$(PODS_ROOT)/DoubleConversion\"" }
end

View File

@@ -0,0 +1,94 @@
folly_compiler_flags = '-DFB_SONARKIT_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0'
yoga_version = '~> 1.9'
yogakit_version = '~>1.8'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = '0.0.1'
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/Sonar'
spec.summary = 'Sonar iOS podspec'
spec.authors = 'Facebook'
spec.static_framework = true
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:branch=> "master" }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.0" }
spec.subspec "Core" do |ss|
ss.dependency 'Folly', '~>1.0'
ss.dependency 'Sonar', '~>0.0.1'
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.source_files = 'iOS/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/**/*.{h,cpp,m,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h, mm}'
ss.public_header_files = 'iOS/SonarKit/CppBridge/*.{h}',
'iOS/SonarKit/SonarClient.h',
'iOS/SonarKit/SonarDeviceData.h',
'iOS/SonarKit/SonarPlugin.h',
'iOS/SonarKit/SonarResponder.h',
'iOS/SonarKit/SonarConnection.h',
'iOS/SonarKit/SKMacros.h'
ss.compiler_flags = '-DFB_SONARKIT_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0'
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\" \"$(PODS_ROOT)/ComponentKit\"/**" }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SonarKitLayoutPlugin.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKObject.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/**/*.{h,cpp,m,mm}'
end
spec.subspec "SonarKitLayoutComponentKitSupport" do |ss|
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutComponentKitSupport/SonarKitLayoutComponentKitSupport.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h'
ss.source_files = "iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKDispatchQueue.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.dependency 'SonarKit/Core'
ss.dependency 'SonarKit/SonarKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"" }
end
end

View File

@@ -0,0 +1,36 @@
{
"name": "Yoga",
"version": "1.9",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"homepage": "https://yogalayout.com/",
"documentation_url": "https://yogalayout.com/docs",
"summary": "Yoga is a cross-platform layout engine which implements Flexbox.",
"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.",
"authors": "Facebook",
"source": {
"git": "https://github.com/facebook/yoga.git",
"tag": "1.8.0"
},
"platforms": {
"ios": "8.0",
"tvos": "10.0"
},
"pod_target_xcconfig": {
"DEFINES_MODULE": "YES"
},
"module_name": "yoga",
"requires_arc": false,
"compiler_flags": [
"-fno-omit-frame-pointer",
"-fexceptions",
"-Wall",
"-Werror",
"-std=c++1y",
"-fPIC"
],
"source_files": "yoga/**/*.{c,h,cpp}",
"public_header_files": "yoga/{Yoga,YGEnums,YGMacros}.h"
}

View File

@@ -0,0 +1,29 @@
podspec = Pod::Spec.new do |spec|
spec.name = 'YogaKit'
spec.version = '1.9'
spec.license = { :type => 'MIT', :file => "LICENSE" }
spec.homepage = 'https://facebook.github.io/yoga/'
spec.documentation_url = 'https://facebook.github.io/yoga/docs/api/yogakit/'
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.'
spec.authors = 'Facebook'
spec.source = {
:git => 'https://github.com/facebook/yoga.git',
:tag => '1.7.0',
}
spec.platform = :ios
spec.ios.deployment_target = '8.0'
spec.ios.frameworks = 'UIKit'
spec.dependency 'Yoga', '~> 1.8'
spec.source_files = 'YogaKit/Source/*.{h,m,swift}'
spec.public_header_files = 'YogaKit/Source/{YGLayout,UIView+Yoga}.h'
spec.private_header_files = 'YogaKit/Source/YGLayout+Private.h'
end
# See https://github.com/facebook/yoga/pull/366
podspec.attributes_hash["readme"] = "YogaKit/README.md"
podspec

View File

@@ -1,6 +1,8 @@
# Uncomment the next line to define a global platform for your project
source 'https://github.com/facebook/Sonar.git'
source 'https://github.com/CocoaPods/Specs'
platform :ios, '9.0'
swift_version = "4.1"
target 'SonarKit' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
@@ -8,12 +10,12 @@ target 'SonarKit' do
project 'SonarKit.xcodeproj'
# Pods for SonarKit
pod 'PeerTalk', '~>0.0'
pod 'RSocket', '~>0.10'
pod 'DoubleConversion', '~>1.1'
pod 'glog', '~>0.3'
pod 'Folly', '~>1.0'
pod 'CocoaAsyncSocket', '~>7.6'
pod 'Sonar', '~>0.0.1'
pod 'PeerTalk', :podspec => 'third-party-podspecs/PeerTalk.podspec'
pod 'RSocket', :podspec => 'third-party-podspecs/RSocket.podspec'
pod 'DoubleConversion', :podspec => 'third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => 'third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => 'third-party-podspecs/Folly.podspec'
pod 'Sonar', :podspec => '../xplat/Sonar/Sonar.podspec'
pod 'CocoaAsyncSocket'
end

View File

@@ -2,16 +2,16 @@ PODS:
- boost-for-react-native (1.63.0)
- CocoaAsyncSocket (7.6.3)
- CocoaLibEvent (1.0.0)
- DoubleConversion (3.0.0)
- DoubleConversion (1.1.5)
- Folly (1.0.0):
- boost-for-react-native
- CocoaLibEvent (~> 1.0)
- DoubleConversion
- glog
- OpenSSL-Static (= 1.0.2.c1)
- glog (0.3.5)
- glog (0.3.4)
- OpenSSL-Static (1.0.2.c1)
- PeerTalk (1.0.0)
- PeerTalk (0.0.2)
- RSocket (0.10.0):
- Folly
- Sonar (0.0.1):
@@ -19,61 +19,40 @@ PODS:
- RSocket
DEPENDENCIES:
- CocoaAsyncSocket
- DoubleConversion (from `third-party-podspecs/DoubleConversion.podspec`)
- Folly (from `third-party-podspecs/Folly.podspec`)
- glog (from `third-party-podspecs/glog.podspec`)
- PeerTalk (from `third-party-podspecs/PeerTalk.podspec`)
- RSocket (from `third-party-podspecs/RSocket.podspec`)
- Sonar (from `../xplat/Sonar/Sonar.podspec`)
- CocoaAsyncSocket (~> 7.6)
- DoubleConversion (~> 1.1)
- Folly (~> 1.0)
- glog (~> 0.3)
- PeerTalk (~> 0.0)
- RSocket (~> 0.10)
- Sonar (~> 0.0.1)
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- boost-for-react-native
- CocoaAsyncSocket
- CocoaLibEvent
- DoubleConversion
- glog
- OpenSSL-Static
EXTERNAL SOURCES:
DoubleConversion:
:podspec: third-party-podspecs/DoubleConversion.podspec
Folly:
:podspec: third-party-podspecs/Folly.podspec
glog:
:podspec: third-party-podspecs/glog.podspec
PeerTalk:
:podspec: third-party-podspecs/PeerTalk.podspec
RSocket:
:podspec: third-party-podspecs/RSocket.podspec
Sonar:
:podspec: "../xplat/Sonar/Sonar.podspec"
CHECKOUT OPTIONS:
Folly:
:commit: 1ed5d00ca4f43d5c81f4d731119e71509179dc99
:git: https://github.com/facebook/folly.git
PeerTalk:
:commit: 588303b43efa5082d654b6f75d1b84a6ba4b5b9e
:git: https://github.com/rsms/PeerTalk.git
RSocket:
:commit: 7f4fc67b1dc085e41cd89193077a70d994cb8500
:git: https://github.com/rsocket/rsocket-cpp.git
Sonar:
:commit: 54fa6aa8f2777304d923a9e9425e53bd5a3eab43
:git: https://github.com/facebook/Sonar.git
https://github.com/pkrmf/cocoapods-private-repo:
- Folly
- PeerTalk
- RSocket
- Sonar
SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
CocoaAsyncSocket: eafaa68a7e0ec99ead0a7b35015e0bf25d2c8987
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
DoubleConversion: 9bd61b1134a393694e95e0950c5bf3f99534817f
Folly: 65270e20aba2ebbb87febbf1f9052ccd28571ea4
glog: fdb5d40eb83acd6a4d5d61d95ecc583f5970a119
DoubleConversion: e22e0762848812a87afd67ffda3998d9ef29170c
Folly: ac702dfbe9294be1002f9cddaa0c2ddb99b16288
glog: 1de0bb937dccdc981596d3b5825ebfb765017ded
OpenSSL-Static: bd17e34564a8591ad76b740318683a6caa19a13e
PeerTalk: aadc42bc7d7f19e89f817b59ef8196305a711504
RSocket: e9ee232080f995ba8f403ccf4cb61238a5646cb6
Sonar: 29d8fb9b010e56fa1358be996d68d4b436dd8c21
PeerTalk: d2abbdc6c2741ed654a0c89792c0b8a21be0cc3e
RSocket: 4fdb7e562db30a2d4fceddefdc601749ffc9ebe2
Sonar: 38a48b88369cfa48f1a36150d57e2a72ef6fd33c
PODFILE CHECKSUM: c3be9232e8e3190250398e3f9b310c5585d7d26b
PODFILE CHECKSUM: 8191532ff38bbc4818bee2e75cc9f8c845cf5402
COCOAPODS: 1.5.2
COCOAPODS: 1.5.3

View File

@@ -1,23 +1,15 @@
project 'Sample.xcodeproj'
source 'https://github.com/facebook/Sonar.git'
source 'https://github.com/CocoaPods/Specs'
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
swift_version = "4.1"
target 'Sample' do
pod 'RSocket', :podspec => '../third-party-podspecs/RSocket.podspec'
pod 'DoubleConversion', :podspec => '../third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../third-party-podspecs/Folly.podspec'
pod 'PeerTalk', :podspec => '../third-party-podspecs/PeerTalk.podspec'
pod 'ComponentKit', :podspec => '../third-party-podspecs/ComponentKit.podspec'
pod 'Yoga','~>1.8.1', :modular_headers => true
pod 'Sonar', :podspec => '../../xplat/Sonar/Sonar.podspec'
pod 'SonarKit', :podspec => '../SonarKit.podspec'
pod 'SonarKit/SonarKitLayoutComponentKitSupport', :podspec => '../SonarKit.podspec'
pod 'SonarKit/SKIOSNetworkPlugin', :podspec => '../SonarKit.podspec'
pod 'SonarKit', '~>0.0.1'
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['YogaKit'].include? target.name
target.build_configurations.each do |config|

View File

@@ -1,6 +1,6 @@
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0'
yoga_version = '~> 1.8'
yogakit_version = '1.8.1'
folly_compiler_flags = '-DFB_SONARKIT_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0'
yoga_version = '~> 1.9'
yogakit_version = '~>1.8'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
@@ -13,13 +13,16 @@ Pod::Spec.new do |spec|
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:branch=> "master" }
spec.module_name = 'SonarKit'
spec.dependency 'Folly'
spec.dependency 'Sonar'
spec.dependency 'CocoaAsyncSocket', '~> 7.6'
spec.dependency 'PeerTalk'
spec.dependency 'OpenSSL-Static', '1.0.2.c1'
spec.source_files = 'iOS/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/**/*.{h,cpp,m,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h, mm}',
spec.public_header_files = 'iOS/SonarKit/CppBridge/*.{h}',
spec.platforms = { :ios => "8.4" }
spec.subspec "Core" do |ss|
ss.dependency 'Folly', '~>1.0'
ss.dependency 'Sonar', '~>0.0.1'
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.source_files = 'iOS/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/**/*.{h,cpp,m,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h, mm}'
ss.public_header_files = 'iOS/SonarKit/CppBridge/*.{h}',
'iOS/SonarKit/SonarClient.h',
'iOS/SonarKit/SonarDeviceData.h',
'iOS/SonarKit/SonarPlugin.h',
@@ -27,13 +30,14 @@ Pod::Spec.new do |spec|
'iOS/SonarKit/SonarConnection.h',
'iOS/SonarKit/SKMacros.h'
spec.compiler_flags = '-DFB_SONARKIT_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0'
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
ss.compiler_flags = '-DFB_SONARKIT_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0'
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\" \"$(PODS_ROOT)/ComponentKit\"/**" }
spec.platforms = { :ios => "8.0" }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.dependency "Yoga", yoga_version
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SonarKitLayoutPlugin.h',
@@ -53,9 +57,11 @@ Pod::Spec.new do |spec|
end
spec.subspec "SonarKitLayoutComponentKitSupport" do |ss|
ss.dependency "Yoga", yoga_version
ss.dependency "ComponentKit"
ss.dependency "SonarKit/SonarKitLayoutPlugin"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutComponentKitSupport/SonarKitLayoutComponentKitSupport.h',
'iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h'
@@ -65,6 +71,8 @@ Pod::Spec.new do |spec|
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKDispatchQueue.h',
@@ -75,7 +83,9 @@ Pod::Spec.new do |spec|
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.dependency 'SonarKit/Core'
ss.dependency 'SonarKit/SonarKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",

View File

@@ -1,21 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ComponentKit'
s.version = '0.21'
s.license = 'BSD'
s.summary = 'A React-inspired view framework for iOS'
s.homepage = 'https://componentkit.org'
s.social_media_url = 'https://twitter.com/componentkit'
s.authors = 'adamjernst@fb.com'
s.source = { :git => 'https://github.com/facebook/ComponentKit.git'}
s.ios.deployment_target = '8.1'
s.requires_arc = true
s.source_files = 'ComponentKit/**/*', 'ComponentTextKit/**/*'
s.frameworks = 'UIKit', 'CoreText'
s.library = 'c++'
s.xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'gnu++14',
'CLANG_CXX_LIBRARY' => 'libc++',
}
s.dependency 'Yoga'
end

View File

@@ -1,16 +0,0 @@
Pod::Spec.new do |spec|
spec.name = 'DoubleConversion'
spec.version = '3.0.0'
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/google/double-conversion'
spec.summary = 'Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles'
spec.authors = 'Google'
spec.source = { :git => 'https://github.com/google/double-conversion.git',
:tag => "v#{spec.version}" }
spec.module_name = 'DoubleConversion'
spec.source_files = 'double-conversion/*.{h,cc}'
spec.libraries = "stdc++"
spec.compiler_flags = '-std=c++1y'
spec.platforms = { :ios => "8.0" }
end

View File

@@ -1,118 +0,0 @@
Pod::Spec.new do |spec|
spec.name = 'Folly'
spec.version = '1.0.0'
spec.license = { :type => 'Apache License, Version 2.0' }
spec.homepage = 'https://github.com/facebook/folly'
spec.summary = 'An open-source C++ library developed and used at Facebook.'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/folly.git',
:branch => "master" }
spec.module_name = 'folly'
spec.dependency 'boost-for-react-native'
spec.dependency 'DoubleConversion'
spec.dependency 'glog'
spec.dependency 'OpenSSL-Static', '1.0.2.c1'
spec.dependency 'CocoaLibEvent', '~> 1.0'
spec.compiler_flags = '-DFOLLY_HAVE_PTHREAD=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_LIBGFLAGS=0 -DFOLLY_HAVE_LIBJEMALLOC=0 -DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PWRITEV=0 -DFOLLY_HAVE_TFO=0 -DFOLLY_USE_SYMBOLIZER=0 -frtti
-fexceptions
-std=c++14
-Wno-error
-Wno-unused-local-typedefs
-Wno-unused-variable
-Wno-sign-compare
-Wno-comment
-Wno-return-type
-Wno-global-constructors'
spec.source_files = 'folly/Executor.cpp',
'folly/memory/detail/MallocImpl.cpp',
'folly/String.cpp',
'folly/*.cpp',
'folly/detail/*.cpp',
'folly/hash/*.cpp',
'folly/portability/*.cpp',
'folly/ScopeGuard.h',
'folly/lang/ColdClass.cpp',
'folly/lang/Assume.h',
'folly/lang/Assume.cpp',
'folly/io/async/*.cpp',
'folly/io/async/ssl/*.cpp',
'folly/io/*.cpp',
'folly/synchronization/*.cpp',
'folly/lang/*.cpp',
'folly/memory/*.cpp',
'folly/futures/*.cpp',
'folly/futures/detail/*.cpp',
'folly/experimental/hazptr/*.cpp',
'folly/executors/*.cpp',
'folly/concurrency/*.cpp',
'folly/ssl/*.cpp',
'folly/ssl/detail/*.cpp',
'folly/system/*.cpp'
# workaround for https://github.com/facebook/react-native/issues/14326
spec.preserve_paths = 'folly/*.h',
'folly/portability/*.h',
'folly/lang/*.h',
'folly/functional/*.h',
'folly/detail/*.h',
'folly/hash/*.h',
'folly/memory/*.h',
'folly/**/*.h',
'folly/futures/detail/*.h',
'folly/futures/*.h'
spec.header_mappings_dir = 'folly'
spec.header_dir = 'folly'
spec.libraries = "stdc++"
spec.private_header_files = 'folly/portability/Stdlib.h',
'folly/portability/Stdio.h'
spec.public_header_files = 'folly/portability/Config.h',
'folly/Executor.h',
'folly/Function.h',
'folly/Utility.h',
'folly/Portability.h',
'folly/Traits.h',
'folly/functional/Invoke.h',
'folly/CPortability.h',
'folly/dynamic.h',
'folly/json_pointer.h',
'folly/Expected.h',
'folly/Preprocessor.h',
'folly/Optional.h',
'folly/Unit.h',
'folly/Utility.h',
'folly/lang/ColdClass.h',
'folly/CppAttributes.h',
'folly/json.h',
'folly/Range.h',
'folly/hash/SpookyHashV2.h',
'folly/lang/Exception.h',
'folly/portability/Constexpr.h',
'folly/CpuId.h',
'folly/Likely.h',
'folly/detail/RangeCommon.h',
'folly/detail/RangeSse42.h',
'folly/portability/String.h',
'folly/dynamic-inl.h',
'folly/Conv.h',
'folly/Demangle.h',
'folly/FBString.h',
'folly/hash/Hash.h',
'folly/memory/Malloc.h',
'folly/io/async/AsyncTimeout.h',
'folly/**/*.h',
'folly/memory/detail/MallocImpl.h',
'folly/String.h',
'folly/*.h',
'folly/portability/PThread.h',
'folly/futures/*.h',
'folly/futures/detail/*.h'
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"CLANG_CXX_LANGUAGE_STANDARD" => "c++11",
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\"" }
# Pinning to the same version as React.podspec.
spec.platforms = { :ios => "8.0"}
end

View File

@@ -1,41 +0,0 @@
Pod::Spec.new do |spec|
spec.name = 'glog'
spec.version = '0.3.5'
spec.license = { :type => 'Google', :file => 'COPYING' }
spec.homepage = 'https://github.com/google/glog'
spec.summary = 'Google logging module'
spec.authors = 'Google'
spec.prepare_command = "#!/bin/bash\nset -e\n\nPLATFORM_NAME=\"${PLATFORM_NAME:-iphoneos}\"\nCURRENT_ARCH=\"${CURRENT_ARCH:-armv7}\"\n\nexport CC=\"$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)\"\nexport CXX=\"$CC\"\n\n# Remove automake symlink if it exists\nif [ -h \"test-driver\" ]; then\n rm test-driver\nfi\n\n./configure --host arm-apple-darwin\n\n# Fix build for tvOS\ncat << EOF >> src/config.h\n\n/* Add in so we have Apple Target Conditionals */\n#ifdef __APPLE__\n#include <TargetConditionals.h>\n#include <Availability.h>\n#endif\n\n/* Special configuration for AppleTVOS */\n#if TARGET_OS_TV\n#undef HAVE_SYSCALL_H\n#undef HAVE_SYS_SYSCALL_H\n#undef OS_MACOSX\n#endif\n\n/* Special configuration for ucontext */\n#undef HAVE_UCONTEXT_H\n#undef PC_FROM_UCONTEXT\n#if defined(__x86_64__)\n#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip\n#elif defined(__i386__)\n#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip\n#endif\nEOF"
spec.source = { :git => 'https://github.com/google/glog.git',
:tag => "v#{spec.version}" }
spec.module_name = 'glog'
spec.header_dir = 'glog'
spec.source_files = 'src/logging.cc',
'src/utilities.h',
'src/utilities.cc',
'src/glog/*.h',
'src/glog/*.cc',
'src/base/mutex.h',
'src/base/mutex.cc',
'src/glog/*.h',
'src/demangle.cc',
'src/logging.cc',
'src/raw_logging.cc',
'src/signalhandler.cc',
'src/symbolize.cc',
'src/utilities.cc',
'src/vlog_is_on.cc'
# workaround for https://github.com/facebook/react-native/issues/14326
spec.preserve_paths = 'src/*.h',
'src/base/*.h'
spec.exclude_files = "src/windows/**/*"
spec.libraries = "c++"
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"CLANG_CXX_LANGUAGE_STANDARD" => "c++11",
"HEADER_SEARCH_PATHS" => "$(PODS_TARGET_SRCROOT)/src"
}
spec.compiler_flags = '-std=c++1y'
spec.libraries = "stdc++"
spec.platforms = { :ios => "8.0"}
end