CocoaPods support.

Summary:
This supersedes #309 and #305.

This is still a **work-in-progress.**

**TODO**

 - [x] Create Xcode project that builds an iOS framework
 - [x] Fix failing tests on Xcode
 - [ ] Make `pod lib lint` pass and make sure YogaKit can be included using CocoaPods
 - [ ] Add `pod lib lint` to .travis.yml
 - [x] Migrate to travis osx image with Xcode 8.2

**FOLLOW-UP**
  - [ ] Make YogaKitSample use framework built by new Xcode project.
  - [ ] Make Travis to upload prebuilt versions of the framework. More [here](https://github.com/Carthage/Carthage#use-travis-ci-to-upload-your-tagged-prebuild-frameworks)
  - [ ] Upgrade github/jekyll docs about installation using Cocoapods/Carthage
Closes https://github.com/facebook/yoga/pull/352

Reviewed By: emilsjolander

Differential Revision: D4471950

Pulled By: dshahidehpour

fbshipit-source-id: 8f30c69f9a487b26aa2e5f3b66841334b01b0ab1
This commit is contained in:
Guido Marucci Blas
2017-01-27 09:57:55 -08:00
committed by Facebook Github Bot
parent 7fa4adb0d9
commit 7df60376ff
8 changed files with 33 additions and 2 deletions

1
YogaKit/.swift-version Normal file
View File

@@ -0,0 +1 @@
3.0.2

View File

@@ -30,8 +30,8 @@ COMPILER_FLAGS = [
apple_library(
name = 'YogaKit',
compiler_flags = COMPILER_FLAGS,
srcs = glob(['*.m']),
exported_headers = glob(['*.h']),
srcs = glob(['Source/**/*.m']),
exported_headers = glob(['Source/**/*.h']),
frameworks = [
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
'$SDKROOT/System/Library/Frameworks/UIKit.framework',

30
YogaKit/YogaKit.podspec Normal file
View File

@@ -0,0 +1,30 @@
Pod::Spec.new do |spec|
spec.name = 'YogaKit'
spec.version = '1.0.0'
spec.license = { :type => 'BSD-3-Clause', :file => '../LICENSE' }
spec.homepage = 'https://facebook.github.io/yoga'
spec.authors = {
'Emil Sjölander' => 'sjolander.emil@gmail.com',
'Dustin Shahidehpour' => 'dshahidehpour@gmail.com'
}
spec.summary = 'Yoga is a cross-platform layout engine which implements Flexbox.'
spec.description = <<-DESC
Yoga is a cross-platform layout engine which implements Flexbox.
It enables maximum collaboration within your team by implementing an API familiar to
many designers and opening it up to developers across different platforms.
DESC
spec.documentation_url = 'https://facebook.github.io/yoga/docs/getting-started/'
spec.source = {
:git => 'https://github.com/facebook/yoga.git',
:tag => 'v2017.01.23.00'
}
spec.platform = :ios
spec.dependency 'Yoga', '~> 1.0'
spec.source_files = 'Source/*.{h,m}',
spec.public_header_files = 'Source/{YGLayout,UIView+Yoga}.h'
spec.private_header_files = 'Source/YGLayout+Private.h'
end