Commit Graph

8 Commits

Author SHA1 Message Date
Nick Gerleman
6c43d39c20 Remove YogaKit Integration (#4830)
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
2023-06-13 11:11:08 -07:00
Lorenzo Blasa
f44feb69e0 SKDescriptorMapper should be a weak reference
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
2023-01-23 03:47:41 -08:00
Lorenzo Blasa
aed7e7e6f2 UI preview of selected element
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
2022-03-28 05:17:23 -07:00
Andres Suarez
79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00
Pritesh Nandgaonkar
966a027c5b Add dependencies to layouthelper and ios descriptor pods (#2140)
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
2021-03-31 04:30:03 -07:00
Xiangxin Sun
a783c0d691 Revert D27328277: add macOS deps to shared libraries
Differential Revision:
D27328277 (7c44d4d4f0)

Original commit changeset: f22d1e9f6a54

fbshipit-source-id: bc893df5ba5a0bd9d47eeab4ff345e7c5047da9b
2021-03-29 20:11:37 -07:00
Kyle Cui
7c44d4d4f0 add macOS deps to shared libraries
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
2021-03-29 16:13:24 -07:00
Pritesh Nandgaonkar
790f23301e Refactor Layout Plugin
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
2021-03-25 16:00:28 -07:00