Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/4830
YogaKit is a library which allows integrating Yoga layouts directly with UIKit. It is not used by higher level libraries like ComponentKit or React Native, but is used by a smattering of surfaces and shared components in Origami Studio and Instagram. See the following search for `YogaKit/UIView+Yoga.h`.
{F1026467213}
It is not really being developed anymore, and doesn't have much of a future, so I am deprecating it in OSS, to remove after the next OSS Yoga release. This means Flipper in OSS will not be able to rely on it.
Instead of special-casing for OSS vs not, this change removes the current YogaKit integration with the layout plugin, since it sounds like we are building a new layout plugin anyway, and I'm not aware of any new surfaces being built on top of YogaKit.
Removing Yoga as a dependency from Flipper should also allow us to fixup the current OSS Flipper build, along with a whole bunch of hacks RN's open source build currently does to produce a Yoga pod compatible with both RN and Flipper.
There are probably some OSS related lockfiles that can be updated after this, for things like the FlipperKit sample app. I did not do that as part of this change, since I don't know how healthy all of that infra is or how it integrates with the offline mirror used.
Reviewed By: passy
Differential Revision: D46664918
fbshipit-source-id: 9d4dd56aa4c7f55e97ac643aa6e4deb9375e582c
Summary:
^
SKDescriptorMapper owns the SKNodeDescriptor instances. SKNodeDescriptor instances should only have a weak reference to the mapper as to avoid retain cycles.
Reviewed By: passy
Differential Revision: D42673698
fbshipit-source-id: 8c98709b28fc3c711dc56c179c7c362417fa1f9d
Summary:
This is a prototype for view preview within Flipper for iOS (Android next).
If enabled, a preview of the selected element is rendered in the attribute inspector.
Changelog: Add view preview/snapshot for the Layout plugin on iOS.
Reviewed By: antonk52
Differential Revision: D34990372
fbshipit-source-id: 1984514fbf59041ad236008a8db10569c5fc5f94
Summary:
This diff makes sure that pod lib lint succeeds and the CI is green for iOS.
It got broken when I landed my changes for the refactoring of FlipperKitLayoutPlugin. It wasn't picked up by flipper-oss-ios-job as it builds sample app and sample app had all the paths to the header search path which individually FlipperKitLayoutHelpers and FlipperKitIOSDescriptors were missing.
I will add the validation of pods as a job in sandcastle when one touches FlipperKit pods, this will avoid such cases in future.
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/2140
Test Plan:
Imported from GitHub, without a `Test Plan:` line.
iOS jobs are green on CI in GH.
Reviewed By: passy
Differential Revision: D27417743
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 17aa4b04bf9954c4bd138261103751a245409568
Summary: Add macOS only descriptors. Currently does not support Yoga/YogaKit or accessibility features; will add those in a later diff.
Reviewed By: priteshrnandgaonkar
Differential Revision: D27332601
fbshipit-source-id: 35c93cf715f004dbf8dbf8753534f1d4f9801b4c
Summary: Add macOS dependencies and alternative classes to the libraries that FlipperKitLayoutPlugin needs to function.
Reviewed By: priteshrnandgaonkar
Differential Revision: D27328277
fbshipit-source-id: f22d1e9f6a5415cee0bae8eaada653be5f5467b3
Summary:
This diff moves the iOS descriptors and other layout helpers into its own buck target. Earlier everything was part of the FlipperKitLayoutPlugin target. When kcui, tried to add macos descriptors, we realised that FlipperKitLayoutPlugin doesn't have macos platform in it and thus he had to put #if TARGET_OS_SIMULATOR check in iOS descriptors and at some other places.
In order to make the integration easier I decided to split the Layout Plugin in following way.
```
FlipperKitLayoutPlugin
-> FlipperKitLayoutIOSDescriptors (platform set as IOS)
-> FlipperKitLayoutHelpers (used in iOS Descriptors and usefule for Macos too)
-> FlipperKitLayoutMacOSDescriptors(coming soon by kcui)(platform set as MacOS)
```
Reviewed By: kcui
Differential Revision: D27127587
fbshipit-source-id: f108ef81914297e93c886fe53dabf0a4bf11ebc1
Summary:
This diff runs CLANGFORMAT lint on plugins. I have added CLANGFORMAT as the lint engined for objc files in xplat/sonar. Right now the iOS folder is not formatted according to CLANGFORMAT.
Ran `arc lint -a --paths-cmd "find ./iOS/Plugins -type f" --verbose`
Reviewed By: passy
Differential Revision: D19942173
fbshipit-source-id: 8b975b0a344df073b02d69cd1f9ee5629af2799d
Summary: Moving FlipperKitLayoutPlugin/FlipperKitPluginUtils/SKHighlightOverlay to shared folder, so Layout and WorkingRange plugins can depend on it
Reviewed By: kevin0571
Differential Revision: D17156396
fbshipit-source-id: 3f17371f2ab4818924d61e6cfb243f60ad1f2892