Skip to content

Commit

Permalink
FlexLayout now integrates YogaKit source code, this was needed to imp…
Browse files Browse the repository at this point in the history
…rove rapidly the iOS's yoga interface.
  • Loading branch information
Luc Dion committed Nov 24, 2017
1 parent 1873452 commit 4f83438
Show file tree
Hide file tree
Showing 18 changed files with 991 additions and 63 deletions.
10 changes: 4 additions & 6 deletions Example/FlexLayoutSample.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -433,16 +433,14 @@
);
inputPaths = (
"${SRCROOT}/../Pods/Target Support Files/Pods-FlexLayoutSample/Pods-FlexLayoutSample-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/Yoga-iOS8.0/yoga.framework",
"${BUILT_PRODUCTS_DIR}/YogaKit-iOS8.0/YogaKit.framework",
"${BUILT_PRODUCTS_DIR}/FlexLayout-iOS8.0/FlexLayout.framework",
"${BUILT_PRODUCTS_DIR}/Yoga/yoga.framework",
"${BUILT_PRODUCTS_DIR}/FlexLayout/FlexLayout.framework",
"${BUILT_PRODUCTS_DIR}/PinLayout/PinLayout.framework",
"${PODS_ROOT}/Reveal-SDK/RevealServer-10/iOS/RevealServer.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/yoga.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YogaKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FlexLayout.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PinLayout.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RevealServer.framework",
Expand Down Expand Up @@ -580,7 +578,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -624,7 +622,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
Expand Down
6 changes: 3 additions & 3 deletions FlexLayout.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ Pod::Spec.new do |s|
"Luc Dion" => "[email protected]"
}

s.platform = :ios, "8.0"
s.platform = :ios, "9.0"

This comment has been minimized.

Copy link
@EkkoG

EkkoG Apr 15, 2018

Contributor

Does any feature need upgrade platform requirements to 9.0?

This comment has been minimized.

Copy link
@lucdion

lucdion Apr 16, 2018

Member

You would need iOS 8 support?

This comment has been minimized.

Copy link
@EkkoG

EkkoG via email Apr 16, 2018

Contributor

This comment has been minimized.

Copy link
@lucdion

lucdion Apr 16, 2018

Member

I will update that, this way it will match Yoga's version.
Will be available soon: #78 🙂

This comment has been minimized.

Copy link
@lucdion

This comment has been minimized.

Copy link
@EkkoG

EkkoG via email Apr 16, 2018

Contributor

s.source = { :git => "https://github.com/lucdion/FlexLayout.git", :tag => "#{s.version}" }
s.source_files = "Sources/**/*.swift"
s.source_files = "Sources/**/*.{swift,h,m}"

# Latest master commit id.
s.dependency "YogaKit"
s.dependency "Yoga"
end
46 changes: 39 additions & 7 deletions FlexLayout.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@
objects = {

/* Begin PBXBuildFile section */
240B3C791F819FCC00CB0107 /* YogaKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 244F4ABD1F8196E900460B54 /* YogaKit.framework */; };
24170ED81FC71484005AF96F /* FlexLayout+Private.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24170ED71FC71484005AF96F /* FlexLayout+Private.swift */; };
24170EDB1FC7178F005AF96F /* RectNimbleMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24170EDA1FC7178E005AF96F /* RectNimbleMatcher.swift */; };
24170EDD1FC72ABC005AF96F /* WidthSizeContentSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24170EDC1FC72ABC005AF96F /* WidthSizeContentSpec.swift */; };
24170EDF1FC72EDA005AF96F /* AbsolutionPositionContentSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24170EDE1FC72EDA005AF96F /* AbsolutionPositionContentSpec.swift */; };
2458137F1F4A21CF00CD676B /* PaddingSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2458137E1F4A21CF00CD676B /* PaddingSpec.swift */; };
249008D41F165D4C00BBE9CD /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 24DA376A1EF843C500D1AB2F /* Info.plist */; };
24A91B281F45E24B00AC8B3E /* MarginSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24A91B271F45E24B00AC8B3E /* MarginSpec.swift */; };
24C7D2681FC7A68300268DDA /* YGLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C7D2611FC7A68200268DDA /* YGLayout.h */; settings = {ATTRIBUTES = (Public, ); }; };
24C7D2691FC7A68300268DDA /* YogaKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C7D2621FC7A68200268DDA /* YogaKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
24C7D26B1FC7A68300268DDA /* YGLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 24C7D2641FC7A68200268DDA /* YGLayout.m */; };
24C7D26C1FC7A68300268DDA /* YGLayoutExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C7D2651FC7A68300268DDA /* YGLayoutExtensions.swift */; };
24C7D26D1FC7A68300268DDA /* UIView+Yoga.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C7D2661FC7A68300268DDA /* UIView+Yoga.h */; settings = {ATTRIBUTES = (Public, ); }; };
24C7D26E1FC7A68300268DDA /* UIView+Yoga.m in Sources */ = {isa = PBXBuildFile; fileRef = 24C7D2671FC7A68300268DDA /* UIView+Yoga.m */; };
24C7D2731FC7B93400268DDA /* YGLayout+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C7D2631FC7A68200268DDA /* YGLayout+Private.h */; settings = {ATTRIBUTES = (Public, ); }; };
24CC0E401F96807400BEE2CF /* Percent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24CC0E3F1F96807400BEE2CF /* Percent.swift */; };
24DA37641EF843C500D1AB2F /* FlexLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24DA375A1EF843C500D1AB2F /* FlexLayout.framework */; };
24DA37691EF843C500D1AB2F /* FlexLayoutTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24DA37681EF843C500D1AB2F /* FlexLayoutTests.swift */; };
Expand All @@ -41,9 +47,15 @@
24170EDA1FC7178E005AF96F /* RectNimbleMatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RectNimbleMatcher.swift; sourceTree = "<group>"; };
24170EDC1FC72ABC005AF96F /* WidthSizeContentSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WidthSizeContentSpec.swift; sourceTree = "<group>"; };
24170EDE1FC72EDA005AF96F /* AbsolutionPositionContentSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AbsolutionPositionContentSpec.swift; sourceTree = "<group>"; };
244F4ABD1F8196E900460B54 /* YogaKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = YogaKit.framework; path = Carthage/Build/iOS/YogaKit.framework; sourceTree = "<group>"; };
2458137E1F4A21CF00CD676B /* PaddingSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaddingSpec.swift; sourceTree = "<group>"; };
24A91B271F45E24B00AC8B3E /* MarginSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MarginSpec.swift; sourceTree = "<group>"; };
24C7D2611FC7A68200268DDA /* YGLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YGLayout.h; path = Sources/YogaKit/YGLayout.h; sourceTree = SOURCE_ROOT; };
24C7D2621FC7A68200268DDA /* YogaKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YogaKit.h; path = Sources/YogaKit/YogaKit.h; sourceTree = SOURCE_ROOT; };
24C7D2631FC7A68200268DDA /* YGLayout+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "YGLayout+Private.h"; path = "Sources/YogaKit/YGLayout+Private.h"; sourceTree = SOURCE_ROOT; };
24C7D2641FC7A68200268DDA /* YGLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YGLayout.m; path = Sources/YogaKit/YGLayout.m; sourceTree = SOURCE_ROOT; };
24C7D2651FC7A68300268DDA /* YGLayoutExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = YGLayoutExtensions.swift; path = Sources/YogaKit/YGLayoutExtensions.swift; sourceTree = SOURCE_ROOT; };
24C7D2661FC7A68300268DDA /* UIView+Yoga.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+Yoga.h"; path = "Sources/YogaKit/UIView+Yoga.h"; sourceTree = SOURCE_ROOT; };
24C7D2671FC7A68300268DDA /* UIView+Yoga.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+Yoga.m"; path = "Sources/YogaKit/UIView+Yoga.m"; sourceTree = SOURCE_ROOT; };
24CC0E3F1F96807400BEE2CF /* Percent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Percent.swift; path = Sources/Percent.swift; sourceTree = SOURCE_ROOT; };
24DA375A1EF843C500D1AB2F /* FlexLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FlexLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; };
24DA37631EF843C500D1AB2F /* FlexLayoutTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FlexLayoutTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
Expand All @@ -62,7 +74,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
240B3C791F819FCC00CB0107 /* YogaKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -86,6 +97,20 @@
name = "Supporting Files";
sourceTree = "<group>";
};
24C7D2601FC7A65700268DDA /* YogaKit */ = {
isa = PBXGroup;
children = (
24C7D2661FC7A68300268DDA /* UIView+Yoga.h */,
24C7D2671FC7A68300268DDA /* UIView+Yoga.m */,
24C7D2611FC7A68200268DDA /* YGLayout.h */,
24C7D2641FC7A68200268DDA /* YGLayout.m */,
24C7D2631FC7A68200268DDA /* YGLayout+Private.h */,
24C7D2651FC7A68300268DDA /* YGLayoutExtensions.swift */,
24C7D2621FC7A68200268DDA /* YogaKit.h */,
);
path = YogaKit;
sourceTree = "<group>";
};
24DA37501EF843C500D1AB2F = {
isa = PBXGroup;
children = (
Expand All @@ -111,6 +136,7 @@
24DA37871EF8610400D1AB2F /* FlexLayout.swift */,
24CC0E3F1F96807400BEE2CF /* Percent.swift */,
DF9174751F1D6DA20034632D /* Impl */,
24C7D2601FC7A65700268DDA /* YogaKit */,
2429E4BD1F19181F00BBC032 /* Supporting Files */,
);
name = Sources;
Expand All @@ -135,7 +161,6 @@
B5403C6F81C3814B69C05D0B /* Frameworks */ = {
isa = PBXGroup;
children = (
244F4ABD1F8196E900460B54 /* YogaKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
Expand All @@ -157,7 +182,11 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
24C7D26D1FC7A68300268DDA /* UIView+Yoga.h in Headers */,
24C7D2681FC7A68300268DDA /* YGLayout.h in Headers */,
24C7D2691FC7A68300268DDA /* YogaKit.h in Headers */,
DF95D9C11F20BD06003073D5 /* FlexLayout.h in Headers */,
24C7D2731FC7B93400268DDA /* YGLayout+Private.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -215,7 +244,7 @@
TargetAttributes = {
24DA37591EF843C500D1AB2F = {
CreatedOnToolsVersion = 8.3.2;
LastSwiftMigration = 0830;
LastSwiftMigration = 0910;
ProvisioningStyle = Manual;
};
24DA37621EF843C500D1AB2F = {
Expand Down Expand Up @@ -289,15 +318,13 @@
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-FlexLayoutTests/Pods-FlexLayoutTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/Yoga/yoga.framework",
"${BUILT_PRODUCTS_DIR}/YogaKit/YogaKit.framework",
"${BUILT_PRODUCTS_DIR}/FlexLayout/FlexLayout.framework",
"${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework",
"${BUILT_PRODUCTS_DIR}/Quick/Quick.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/yoga.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YogaKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FlexLayout.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework",
Expand Down Expand Up @@ -332,6 +359,9 @@
DF9174791F1D6DEA0034632D /* UIView+FlexLayout.swift in Sources */,
24CC0E401F96807400BEE2CF /* Percent.swift in Sources */,
DF9174771F1D6DC00034632D /* FlexLayout+Enum.swift in Sources */,
24C7D26B1FC7A68300268DDA /* YGLayout.m in Sources */,
24C7D26E1FC7A68300268DDA /* UIView+Yoga.m in Sources */,
24C7D26C1FC7A68300268DDA /* YGLayoutExtensions.swift in Sources */,
24170ED81FC71484005AF96F /* FlexLayout+Private.swift in Sources */,
24DA37881EF8610400D1AB2F /* FlexLayout.swift in Sources */,
);
Expand Down Expand Up @@ -487,6 +517,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
};
Expand Down Expand Up @@ -514,6 +545,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_VERSION = 3.0;
};
name = Release;
Expand Down
95 changes: 88 additions & 7 deletions FlexLayoutTests/WidthSizeContentSpec.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class WidthSizeContentSpec: QuickSpec {
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 200.0, height: 100.0)))
}

it("aspectRatio") {
it("aspectRatio reset") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).width(200).aspectRatio(2)
}
Expand All @@ -67,24 +67,105 @@ class WidthSizeContentSpec: QuickSpec {
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 200.0, height: 0.0)))
}

it("width & height") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).width(200).minWidth(100).height(200).minHeight(100)
}

rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0)))
}

it("width & height reset") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).width(200).minWidth(100).height(200).minHeight(100)
}

// Later reset the width and the height
aView.flex.width(nil)
aView.flex.height(nil)
rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 400.0, height: 100.0)))
}

it("minWidth") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).width(20).minWidth(300).height(200)
flex.addItem(aView).width(200).minWidth(300).height(200)
}

rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 300.0, height: 200.0)))
}

it("minWidth") {
it("minWidth reset") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).width(20).minWidth(300).height(200)
flex.addItem(aView).width(200).maxWidth(300).height(200)
}

// Later reset the aspectRatio
aView.flex.minWidth(0)
// Later reset the minWidth
aView.flex.minWidth(nil)
rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0)))
}

it("maxWidth") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).maxWidth(300).height(200)
}

rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 300.0, height: 200.0)))
}

it("maxWidth reset") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).maxWidth(300).height(200)
}

// Later reset the width and the height
aView.flex.maxWidth(nil)
rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 400.0, height: 200.0)))
}

it("minHeight") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).height(200).minHeight(300)
}

rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 400.0, height: 300.0)))
}

it("minHeight reset") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).height(200).minHeight(300)
}

// Later reset the minHeight
aView.flex.minHeight(nil)
rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 400.0, height: 200.0)))
}

it("maxHeight") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).height(200).maxHeight(100)
}

rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 400.0, height: 100.0)))
}

it("maxHeight reset") {
rootFlexContainer.flex.define { (flex) in
flex.addItem(aView).height(200).maxHeight(100)
}

// Later reset the maxHeight
aView.flex.maxHeight(nil)
rootFlexContainer.flex.layout()
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 20.0, height: 200.0)))
expect(aView.frame).to(equal(CGRect(x: 0.0, y: 0.0, width: 400.0, height: 200.0)))
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ workspace 'FlexLayout.xcworkspace'

target 'FlexLayout' do
project 'FlexLayout.xcodeproj'
pod 'YogaKit', '~> 1.6'
pod 'Yoga', :git => 'https://github.com/layoutBox/yoga.git', :branch => 'flexlayout_branch'
pod 'SwiftLint'
end

Expand Down
37 changes: 21 additions & 16 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
PODS:
- FlexLayout (1.1.5):
- YogaKit
- Nimble (7.0.2)
- PinLayout (1.4.2)
- FlexLayout (1.1.8):
- Yoga
- Nimble (7.0.3)
- PinLayout (1.5.1)
- Quick (1.2.0)
- Reveal-SDK (10)
- SwiftLint (0.23.1)
- Yoga (1.6.0)
- YogaKit (1.6.0):
- Yoga (~> 1.6)
- SwiftLint (0.24.0)
- Yoga (1.7.0)

DEPENDENCIES:
- FlexLayout (from `./`)
Expand All @@ -17,22 +15,29 @@ DEPENDENCIES:
- Quick
- Reveal-SDK (~> 10)
- SwiftLint
- YogaKit (~> 1.6)
- Yoga (from `https://github.com/layoutBox/yoga.git`, branch `flexlayout_branch`)

EXTERNAL SOURCES:
FlexLayout:
:path: ./
Yoga:
:branch: flexlayout_branch
:git: https://github.com/layoutBox/yoga.git

CHECKOUT OPTIONS:
Yoga:
:commit: 7de5e71f7b9b85127b23fbbc12606fa066654bd9
:git: https://github.com/layoutBox/yoga.git

SPEC CHECKSUMS:
FlexLayout: d7d12029e03600bf58f8632da3066272015d7520
Nimble: bfe1f814edabba69ff145cb1283e04ed636a67f2
PinLayout: f903b9b737fd6c051f046ba7de1ad849edbb5d21
FlexLayout: 5bcb1069bd39173733d0eec0ac82cb813606010d
Nimble: 7f5a9c447a33002645a071bddafbfb24ea70e0ac
PinLayout: 0838d31bf175263d1bf297ea2465a1e5cb2a40b0
Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08
Reveal-SDK: 7869ddf1f902cabbb07a1f0dd06bd25861a126f7
SwiftLint: 1b670ce79284c76520f84060e87d645078fd32fa
Yoga: 81670877477311136b1b3f69a6307ce62e1c89cf
YogaKit: 8fe0ddd21673226c0b6077fc3ad5c8fa6cda722e
SwiftLint: a014c92b4664e8b13f380f8640a51bb1733778ba
Yoga: b625f4a572569277500fde58967d027ff7c38f4f

PODFILE CHECKSUM: c23eea51c5cf8ca40c7f3ba8caa5288170bd8ce0
PODFILE CHECKSUM: 693a34f69ecdfff7e29071f9f46fd568d06088e0

COCOAPODS: 1.3.1
Loading

0 comments on commit 4f83438

Please sign in to comment.