diff --git a/.gitignore b/.gitignore index 9cebfcc68..87923908c 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,6 @@ local.properties .gradle/ .idea .externalNativeBuild + +# Mac OS X +*.DS_Store diff --git a/Specs/Folly/1.0.0/Folly.podspec.json b/Specs/Folly/1.0.0/Folly.podspec.json new file mode 100644 index 000000000..993f663f0 --- /dev/null +++ b/Specs/Folly/1.0.0/Folly.podspec.json @@ -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" + } +} diff --git a/iOS/third-party-podspecs/PeerTalk.podspec b/Specs/PeerTalk/0.0.2/PeerTalk.podspec similarity index 79% rename from iOS/third-party-podspecs/PeerTalk.podspec rename to Specs/PeerTalk/0.0.2/PeerTalk.podspec index eeac92540..d311211bd 100644 --- a/iOS/third-party-podspecs/PeerTalk.podspec +++ b/Specs/PeerTalk/0.0.2/PeerTalk.podspec @@ -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 diff --git a/Specs/README.md b/Specs/README.md new file mode 100644 index 000000000..d32b4854d --- /dev/null +++ b/Specs/README.md @@ -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. diff --git a/iOS/third-party-podspecs/RSocket.podspec b/Specs/RSocket/0.10.0/RSocket.podspec similarity index 98% rename from iOS/third-party-podspecs/RSocket.podspec rename to Specs/RSocket/0.10.0/RSocket.podspec index ac127e1aa..82fe611c1 100644 --- a/iOS/third-party-podspecs/RSocket.podspec +++ b/Specs/RSocket/0.10.0/RSocket.podspec @@ -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/*', diff --git a/Specs/Sonar/0.0.1/Sonar.podspec b/Specs/Sonar/0.0.1/Sonar.podspec new file mode 100644 index 000000000..4b9de2e6e --- /dev/null +++ b/Specs/Sonar/0.0.1/Sonar.podspec @@ -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 diff --git a/Specs/SonarKit/0.0.1/SonarKit.podspec b/Specs/SonarKit/0.0.1/SonarKit.podspec new file mode 100644 index 000000000..34aa486b3 --- /dev/null +++ b/Specs/SonarKit/0.0.1/SonarKit.podspec @@ -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 diff --git a/Specs/Yoga/1.9/Yoga.podspec.json b/Specs/Yoga/1.9/Yoga.podspec.json new file mode 100644 index 000000000..d85c68188 --- /dev/null +++ b/Specs/Yoga/1.9/Yoga.podspec.json @@ -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" +} diff --git a/Specs/YogaKit/1.9/YogaKit.podspec b/Specs/YogaKit/1.9/YogaKit.podspec new file mode 100644 index 000000000..42d5c40da --- /dev/null +++ b/Specs/YogaKit/1.9/YogaKit.podspec @@ -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 diff --git a/iOS/Podfile b/iOS/Podfile index 63a63d759..b08599c42 100644 --- a/iOS/Podfile +++ b/iOS/Podfile @@ -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 diff --git a/iOS/Podfile.lock b/iOS/Podfile.lock index bae73f491..56a96af94 100644 --- a/iOS/Podfile.lock +++ b/iOS/Podfile.lock @@ -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 diff --git a/iOS/Sample/Podfile b/iOS/Sample/Podfile index e8a1995e0..50471fff0 100644 --- a/iOS/Sample/Podfile +++ b/iOS/Sample/Podfile @@ -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| diff --git a/iOS/SonarKit.podspec b/iOS/SonarKit.podspec index c884c2d98..0c08e2405 100644 --- a/iOS/SonarKit.podspec +++ b/iOS/SonarKit.podspec @@ -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,27 +13,31 @@ 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}', - 'iOS/SonarKit/SonarClient.h', - 'iOS/SonarKit/SonarDeviceData.h', - 'iOS/SonarKit/SonarPlugin.h', - 'iOS/SonarKit/SonarResponder.h', - 'iOS/SonarKit/SonarConnection.h', - 'iOS/SonarKit/SKMacros.h' + spec.platforms = { :ios => "8.4" } - 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", + 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\"/**" } - 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", diff --git a/iOS/third-party-podspecs/ComponentKit.podspec b/iOS/third-party-podspecs/ComponentKit.podspec deleted file mode 100644 index d6e54476c..000000000 --- a/iOS/third-party-podspecs/ComponentKit.podspec +++ /dev/null @@ -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 diff --git a/iOS/third-party-podspecs/DoubleConversion.podspec b/iOS/third-party-podspecs/DoubleConversion.podspec deleted file mode 100755 index 41a048859..000000000 --- a/iOS/third-party-podspecs/DoubleConversion.podspec +++ /dev/null @@ -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 diff --git a/iOS/third-party-podspecs/Folly.podspec b/iOS/third-party-podspecs/Folly.podspec deleted file mode 100755 index 1366e0f35..000000000 --- a/iOS/third-party-podspecs/Folly.podspec +++ /dev/null @@ -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 diff --git a/iOS/third-party-podspecs/glog.podspec b/iOS/third-party-podspecs/glog.podspec deleted file mode 100755 index 3524ba47e..000000000 --- a/iOS/third-party-podspecs/glog.podspec +++ /dev/null @@ -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 \n#include \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