Compare commits

..

126 Commits

Author SHA1 Message Date
ea082e7a3e Merge branch 'main' of github.com:facebook/flipper into universalBuild 2023-11-07 12:42:02 +01:00
generatedunixname89002005306973
4fa25b0770 Flipper Snapshot Bump: v0.236.1-SNAPSHOT
Summary: Releasing snapshot version 0.236.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D50975303

fbshipit-source-id: 47629fbf8fd241ebcc05d4fd09ec72234ae3c53c
2023-11-03 16:03:43 -07:00
generatedunixname89002005306973
ddeda3f851 Flipper Release: v0.236.0
Summary: Releasing version 0.236.0

Reviewed By: aigoncharov

Differential Revision: D50975304

fbshipit-source-id: 3181dd2f913c23324e0dfbdaa068bfc32e653e12
2023-11-03 16:03:43 -07:00
Andrey Goncharov
7c5ede7a5e Force legacy search for network plugin
Summary: Uses legacy API `tableManagerRef.current?.setSearchValue` not currently available in power search

Reviewed By: LukeDefeo

Differential Revision: D50969833

fbshipit-source-id: c83d9dce24f5d7a37b6cc68e19da2ae5da374941
2023-11-03 08:03:50 -07:00
Andrey Goncharov
d9ecac4bc2 Track legacy manager API access
Summary:
We swap legacy MasterDetail and DataTable with the new ones that have power search.
The new ones have partially incompatible table manager API.
This diff adds a warning, a migration guide and  tracking for these cases.

Reviewed By: LukeDefeo

Differential Revision: D50969831

fbshipit-source-id: ef4153fec9720ea5d7ae1cb4df3528c5d6bca2bb
2023-11-03 08:03:50 -07:00
Andrey Goncharov
9c5df1516f Export legacy MasterDetail and DataTable
Summary: Allow plugin developers to force old search for migration purposes

Reviewed By: LukeDefeo

Differential Revision: D50969832

fbshipit-source-id: 7fe5c3e65680d628bced2cd09823f7f3c132d33a
2023-11-03 08:03:50 -07:00
generatedunixname89002005325672
36cb69e1fd Daily arc lint --take KTFMT
Reviewed By: martintrojer

Differential Revision: D50964272

fbshipit-source-id: 1bdfffd1b32f76f2a81e95c6a59e15805a3a9436
2023-11-03 07:00:14 -07:00
Anton Kastritskiy
99dbcfa079 casing convension
Summary:
[eslint-typescript/naming-convension rule docs](https://typescript-eslint.io/rules/naming-convention/)

Initially looked into it to enforce UPPER_CASE for top most constants like `const DELAY = 10` which is a standard in js ecosystem, which turned to be more difficuilt(we will still get there).

Turns out we had casing checks disabled for everything but typeLike names. What I did in this diff

- use default setting for eslint rule
    `✖ 9890 problems`
- with any propery names
    `✖ 8229 problems`
- without checking properies at all
    `✖ 3683 problems`
- without checking enum members
    `✖ 3231 problems`
- without checking object properties/methods
    `✖ 2978 problems`
- allowing PascalCase for variables
    `✖ 1657 problems
- allowing PascalCase for functions
    `✖ 975 problems
- not checking typeMethod and parameters
    `✖ 916 problems`
- allow double underscore before after variable
    `✖ 461 problems`
- allow snake_case variables
    `✖ 49 problems`

Fix remaining problems.

Future plans. Ban usage of PascalCase for variables that are not components

Reviewed By: LukeDefeo

Differential Revision: D50970193

fbshipit-source-id: d9f3abe6b02c9f7822598c8fa5382f58d067f70e
2023-11-03 06:16:18 -07:00
Luke De Feo
3bb3ce6a66 Fix media gallery activity
Summary:
Weird edge case, this activity doesnt actualy contain the content and instead its in the decor view behind it, solution is to filter it out from traversal and snapshot

https://fb.workplace.com/groups/443457641253219/permalink/643518977913750/

Reviewed By: elboman, lblasa

Differential Revision: D50936817

fbshipit-source-id: 8c1e276d4d943c42c9c2085bf70113347cbd5c74
2023-11-02 12:29:07 -07:00
Luke De Feo
62e9181075 Improve logging
Summary: Lets make the logging higher signal

Reviewed By: passy

Differential Revision: D50853449

fbshipit-source-id: 95ebfbc142c34c36fb11e459c573842580cd6e4c
2023-11-02 12:29:07 -07:00
Luke De Feo
bd6e1285da Only pixel copy if view is hardwell accell
Summary:
You can only use pixel copy if the view is drawn by the hardware, this sort of makes sense as there is no hardware buffer to copy from.

we were falling back but there was a lot of noise in the logs

Reviewed By: lblasa

Differential Revision: D50853427

fbshipit-source-id: 9365a3d566a05de9082afb8bc2915922c624fd88
2023-11-02 12:29:07 -07:00
Luke De Feo
44b8a39874 remove common package
Summary: Just cleaning up some packages

Reviewed By: lblasa

Differential Revision: D50849169

fbshipit-source-id: 2b732e41ff11361dc7462598f282abb2d4116ce7
2023-11-02 12:29:07 -07:00
Luke De Feo
5b89331ea2 Fix case where traversal was out of sync with snapshot
Summary:
Its was possible for the view tree observer to be observing one root but this can a dead root with no view in it. As a result the snapshot will be empty and the observer will never fire.

The layout traversal Applicaiton ref descriptor had logic to handle these dead roots, this logic is now extracted and shared between the descriptor in the traversal and by the decor view tracker so they are in sync

Reviewed By: lblasa

Differential Revision: D50848155

fbshipit-source-id: ce6da13df40632cbb7a302a59382b4907131d9f5
2023-11-02 12:29:07 -07:00
Luke De Feo
d26612d840 Add modern snapshot approach
Summary:
Since api level 34 there is a way to snapshot any view, prior to this you needed a window which you can only get from an activity, or a surface which required hacks. The hacks are in place for older verisons of android but ive added modern pixel copy snapshotter for future proofing in case google decide to make any of the previously used hack not work in future version of android

Since there was a bunch of common code in each snap shot impl this has been pull into a utility function

Reviewed By: lblasa

Differential Revision: D50845284

fbshipit-source-id: c7910c45ff51fcf8636adc3d7272198ac3d4aefe
2023-11-02 12:29:07 -07:00
Luke De Feo
6e64f53046 Support pixel copy on views attached directly to window manager
Summary:
As mentioned in the previous diff pixel copy only support copying a Window, Surface or SurfaceView, All of these underneath use surface.

For views attached to the window manager there is no activity / window so we need another solution

There is no official way to get a views underlying surface so we had to do some dirty hacks to get it from the window manager. See the inline comments for details.

Additionally it turns out that the pixel copy api was actually made async in Android 34, so to prepare for this the snapshot method was made a suspend function and we wrap the callback based apit with suspendCoroutine.

Reviewed By: lblasa

Differential Revision: D50845281

fbshipit-source-id: 5ba8ed6f330c1e04549812a6493ae5f4cb629d1f
2023-11-02 12:29:07 -07:00
Luke De Feo
d85adc030f Use pixel copy on activities
Summary:
Pixel copy is a more reliable and consistent way to take a snapshot rather than drawing into a canvas. It accepts either:

Surface
SurfaceView
Window

For root views that belong to an activity its easy to get the window so we do that here.

In the next diff we solve this for other root views

Reviewed By: lblasa

Differential Revision: D50845282

fbshipit-source-id: 3968828dedd1e96a854b907e0fd152ad64993d95
2023-11-02 12:29:07 -07:00
Luke De Feo
6bf93347ee Extracted snapshot out of descriptor
Summary: Snapshot never made much sense in the descriptor since we only snapshot the decor views. Additionally in the next diff i will introduce a new way to snapshot so this will make it easier

Reviewed By: lblasa

Differential Revision: D50845280

fbshipit-source-id: c2eac351b72786e7b66951d0fa09cea52a6dcc69
2023-11-02 12:29:07 -07:00
Luke De Feo
c93c494ef4 Refactor android view observation
Summary:
The previous approach was designed for a world that didnt happen and was extremely confusing and allowed for states that didnt make a lot of sense. E.g it was possible we were snapshotting multiple views.

The new model is much simpler. we still depend on the root view resolver to tell us about root decor views but now we just attach a predraw listener to the top most view and push out the updates. This is handled by the new class decor view tracker which is a replacement for all the observer business

Additionally we use a conflated chanel in the update queue, this means if the background processing is slow we wont keep adding new frames to the queue, we just keep 1 and the most recent frame

Partial layout traversal -> Layout traversal as traversal is now always from top to bottom of the whole application

Reviewed By: lblasa

Differential Revision: D50791527

fbshipit-source-id: 43640723aefa775aa7b74065f405cc08224ed8b8
2023-11-02 12:29:07 -07:00
Lorenzo Blasa
87cb9bd77a Track state changes
Summary: Track server connectivity state changes, queries will follow.

Reviewed By: antonk52

Differential Revision: D50928297

fbshipit-source-id: 9f3a3b799481556bab7339d710736448fed6004c
2023-11-02 10:42:15 -07:00
Lorenzo Blasa
afae1bd141 Track unable to become ready within timeout
Summary: This is currently done by querying the 'console-log' event. Instead, make it type safe and official.

Reviewed By: antonk52

Differential Revision: D50927954

fbshipit-source-id: ff767acdc51b942c6deb92ffbfd93288b3367062
2023-11-02 10:42:15 -07:00
Lorenzo Blasa
d5a0c206f2 Track WS server error
Summary: This is currently done by querying the 'console-log' event. Instead, make it type safe and official.

Reviewed By: antonk52

Differential Revision: D50927803

fbshipit-source-id: e0488782dd584e36b6f742f9892fc09ffaf62469
2023-11-02 10:42:15 -07:00
Lorenzo Blasa
8f1b4ffa1c Track UI launches
Summary: This is currently done by querying the 'console-log' event. Instead, make it type safe and official.

Reviewed By: antonk52

Differential Revision: D50927713

fbshipit-source-id: 780c0f158bf8bdaa6d009035a0cee62c7828f479
2023-11-02 10:42:15 -07:00
Lorenzo Blasa
fecaa8d974 Back out "Use isPWA utility function instead"
Summary:
Original commit changeset: 6bc0c942b3d9

Original Phabricator Diff: D50885337

There's an issue with the import, same reason we do:

```
require('flipper-ui-core').startFlipperDesktop(flipperServer);
```

Reviewed By: aigoncharov

Differential Revision: D50926125

fbshipit-source-id: 04e1b920bcecab9f245924907637b36dac312f1f
2023-11-02 04:28:14 -07:00
generatedunixname89002005325672
e72dcbb28d Daily arc lint --take KTFMT
Reviewed By: martintrojer

Differential Revision: D50925513

fbshipit-source-id: 1b964b758c53d6d490bd6c7f76d003c0afecfc70
2023-11-02 03:41:53 -07:00
Lorenzo Blasa
c8ee1847a2 Flipper browser singleton
Summary:
This will ensure only one instance of Flipper is running at any given point in time.

#thanks antonk52 for guidance and advise implementing a single Flipper instance solution which will improve overall Flipper user experience.

Reviewed By: antonk52

Differential Revision: D50455446

fbshipit-source-id: 2407c77d43ba28e91d525f6cdb11d7b9db1cfab7
2023-11-02 03:31:35 -07:00
Lorenzo Blasa
1a98038979 Use isPWA utility function instead
Summary: As a follow-up from the utility created on the previous diff

Reviewed By: aigoncharov

Differential Revision: D50885337

fbshipit-source-id: 6bc0c942b3d96eb020ec15395f34d5794ba2ae15
2023-11-01 11:15:17 -07:00
Lorenzo Blasa
08e742ceff Utility to determine if client is PWA
Summary: This is currently used in multiple places, let's put it under utils.

Reviewed By: aigoncharov

Differential Revision: D50883125

fbshipit-source-id: ee161a035cd01ca73a2521f813c4b397aa647037
2023-11-01 11:15:17 -07:00
generatedunixname89002005306973
368dfc90f6 Flipper Snapshot Bump: v0.235.1-SNAPSHOT
Summary: Releasing snapshot version 0.235.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D50885747

fbshipit-source-id: a586315fd281e643298ea22c15758550d49ec845
2023-11-01 10:11:43 -07:00
generatedunixname89002005306973
7a6f95d120 Flipper Release: v0.235.0
Summary: Releasing version 0.235.0

Reviewed By: aigoncharov

Differential Revision: D50885746

fbshipit-source-id: 582d6c6373ffcd96572ae59f11709bb2d2741c67
2023-11-01 10:11:43 -07:00
Andrey Goncharov
b4f77da11a Fix unexpected unkown options recognition
Summary:
#thanks LukeDefeo for helping to debug power search

Before:
 https://pxl.cl/3JFqq

Reviewed By: LukeDefeo, lblasa

Differential Revision: D50884084

fbshipit-source-id: 4cf76a73704cda3627b3bb5ab170d6e76df977cf
2023-11-01 07:55:57 -07:00
Pascal Hartig
6d3ff9d5d9 Bump Fresco to 3.1.3 (#5252)
Summary:
[android] Bump Fresco to 3.1.3

 ---
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/flipper/pull/5252).
* __->__ https://github.com/facebook/flipper/issues/5252
* https://github.com/facebook/flipper/issues/5247
* https://github.com/facebook/flipper/issues/5246
* https://github.com/facebook/flipper/issues/5245

Pull Request resolved: https://github.com/facebook/flipper/pull/5252

Reviewed By: lblasa

Differential Revision: D50737888

Pulled By: passy

fbshipit-source-id: 18eba6b140abf24ae9b1c4440938b19432b2e620
2023-11-01 07:47:09 -07:00
Luke De Feo
9f78eb3f00 Fix NPE in text descriptor
Summary: Apparantly this can be null, we have received traversal errors with this in the stacktrace

Reviewed By: adityasharat

Differential Revision: D50839760

fbshipit-source-id: 8e43f35b2adfa91358924b1e162c53c50b0d855d
2023-11-01 06:41:55 -07:00
Luke De Feo
620b41b691 Fix npe crash in visibility check
Summary:
https://fb.workplace.com/groups/443457641253219/permalink/1716178925529425/

we had this stack trace which i belive is because we are accessing the litho view after its been unmounted, this is possible as the attributes fetching is async. To fix we move this part to be sync on the main thread

ui-debugger] Client error during traversal:  {\n  \"nodeName\": \"DeferredProcessing\",\n  \"errorType\": \"NullPointerException\",\n  \"errorMessage\": \"Attempt to invoke virtual method 'com.facebook.rendercore.extensions.ExtensionState com.facebook.litho.LithoHostListenerCoordinator.getVisibilityExtensionState()' on a null object reference\",\n  \"stack\": \"java.lang.NullPointerException: Attempt to invoke virtual method 'com.facebook.rendercore.extensions.ExtensionState com.facebook.litho.LithoHostListenerCoordinator.getVisibilityExtensionState()' on a null object reference\\n\\tat com.facebook.litho.LithoView.getVisibilityExtensionState(LithoView.java:710)\\n\\tat com.facebook.litho.DebugComponent$Companion.isVisible(DebugComponent.kt:406)\\n\\tat com.facebook.flipper.plugins.uidebugger.litho.descriptors.DebugComponentDescriptor.getMountingData(DebugComponentDescriptor.kt:182)\\n\\tat com.facebook.flipper.plugins.uidebugger.litho.descriptors.DebugComponentDescriptor.access$getMountingData(DebugComponentDescriptor.kt:32)\\n\\tat com.facebook.flipper.plugins.uidebugger.litho.descriptors.Debug

Reviewed By: adityasharat

Differential Revision: D50843793

fbshipit-source-id: 8c1df8b291371fd379cb819df33ed933f36026a6
2023-11-01 06:41:55 -07:00
Brett Lavalla
254110bf02 Make 'none' AccessibilityRole return the class for View
Summary:
This changes the default behavior for a "NONE" accessibility role to match Googles implementation in ExploreByTouchHelper (https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/com/android/internal/widget/ExploreByTouchHelper.java;drc=c7585d0e2f27f00c47802a78422228a81cf2c939;l=56?q=ExploreByTouchHelper).

This also matches ReactNative's default behavior here as well:
https://www.internalfb.com/code/fbsource/[199b5d1c47b224f2891b8cba33da90c5c8714a81]/xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java?lines=291

A role of "View" is a no-op behind the scenes for accessibility services, but making this a valid string rather than `null` will prevent potential crashed from systems expecting a string value to always exist from the "getClassName" method.

For context on how large of a potential problem this is, see this post:
https://fb.workplace.com/groups/sbteng/posts/1396301817590446

Reviewed By: ikenwoo

Differential Revision: D50864782

fbshipit-source-id: 8b176ed9427f62a1d039b012d10ea889df4777e3
2023-11-01 05:46:53 -07:00
generatedunixname89002005306973
0f3f4de25e Flipper Snapshot Bump: v0.234.1-SNAPSHOT
Summary: Releasing snapshot version 0.234.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D50878229

fbshipit-source-id: 93f70c9b4109746edcedf2f06d4113ca4a776c10
2023-11-01 05:11:58 -07:00
generatedunixname89002005306973
7bbc386d71 Flipper Release: v0.234.0
Summary: Releasing version 0.234.0

Reviewed By: aigoncharov

Differential Revision: D50878230

fbshipit-source-id: 79a2a01b4e881ae6b97e3616057e759fd4f73c64
2023-11-01 05:11:58 -07:00
Lorenzo Blasa
6dd1fcd569 Set x64 default architecture and .pkg target for RN-only builds
Summary: These are local changes required to make an installer for the last RN-only Electron distribution of Flipper. Instead of just throwing this away, let's keep it in the history of the repository, just in case.

Reviewed By: passy

Differential Revision: D50838207

fbshipit-source-id: 4966e046161e24a616c04d5cf57fee2512f06525
2023-11-01 04:44:48 -07:00
Pascal Hartig
43530e3bbf Upgrade compose deps (#5247)
Summary:
[android][sample] Upgrade compose deps
Was dependent on SDK 34.

Pull Request resolved: https://github.com/facebook/flipper/pull/5247

Test Plan:
 ---
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/flipper/pull/5247).
* __->__ https://github.com/facebook/flipper/issues/5247
* https://github.com/facebook/flipper/issues/5246
* https://github.com/facebook/flipper/issues/5245

Reviewed By: lblasa

Differential Revision: D50599220

Pulled By: passy

fbshipit-source-id: 54038274ba894264c4027e48799ce6d0ceda4e82
2023-11-01 03:38:11 -07:00
Andrey Goncharov
3706be8b2f Fix power search metrics
Summary: Move them from programmatic API that is barely used to a central place that handles state updates

Reviewed By: lblasa

Differential Revision: D50841152

fbshipit-source-id: 7938ae08629ba05736cb7acba5ca2014e2827acc
2023-10-31 09:51:13 -07:00
Pascal Hartig
8086816f82 Upgrade deps
Summary: 666 deletions seems just right.

Reviewed By: lblasa

Differential Revision: D50600098

fbshipit-source-id: 269ce9f1da18ece283492ed7ff29c4dcfc2f78b4
2023-10-31 07:10:30 -07:00
Lorenzo Blasa
57d4e86545 Additional troubleshoot guidance for idb
Summary:
Reference:
https://fb.workplace.com/groups/flippersupport/permalink/1717333982080586/

The steps added below seem to have fixed the issue.

Still need to investigate why these steps are needed.

Reviewed By: aigoncharov

Differential Revision: D50797561

fbshipit-source-id: a31c71dbedc506344438082846b41ff16b6f459a
2023-10-31 05:16:21 -07:00
Lorenzo Blasa
560a50485c Improve offline page
Summary:
The previous offline page suggested launching Flipper from terminal by running a command.

Although this works, guidance can be simplified by just instructing users to launch Flipper from within the Applications folder.

Reviewed By: aigoncharov

Differential Revision: D50833741

fbshipit-source-id: 5a41090a66ee62c30cfc35edd69de51ed9cbbab9
2023-10-31 04:45:33 -07:00
github-actions[bot]
6bec2d659e Automated: Update Podfile.lock (#5251)
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)

Pull Request resolved: https://github.com/facebook/flipper/pull/5251

Reviewed By: mweststrate

Differential Revision: D50793947

Pulled By: passy

fbshipit-source-id: be1d4967f825a125c1f8819f1c2eea4b52c9eaba
2023-10-31 04:42:26 -07:00
Pascal Hartig
87d9414bf0 Bump target SDK to 34 (#5246)
Summary:
[android] Bump target SDK to 34
Changelog: Android SDK is now built against SDK 34

Pull Request resolved: https://github.com/facebook/flipper/pull/5246

Test Plan:
 ---
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/flipper/pull/5246).
* https://github.com/facebook/flipper/issues/5252
* https://github.com/facebook/flipper/issues/5247
* __->__ https://github.com/facebook/flipper/issues/5246
* https://github.com/facebook/flipper/issues/5245

Reviewed By: mweststrate

Differential Revision: D50599215

Pulled By: passy

fbshipit-source-id: a9883fdbab7bdd06a63a2949e1502a7854299752
2023-10-31 04:41:05 -07:00
69522523c6 Merge branch 'main' of github.com:facebook/flipper into universalBuild 2023-10-31 10:13:43 +01:00
304bd81e07 patches 2023-10-31 10:12:54 +01:00
Lorenzo Blasa
34bbd41547 If unable to load main bundle, retry after 3 seconds
Summary: If we fail to load the main js bundle, retry after 3 seconds.

Reviewed By: aigoncharov

Differential Revision: D50732857

fbshipit-source-id: b19ea165776f8105d724e586b1bed20bf1f5178c
2023-10-27 10:19:33 -07:00
Andrey Goncharov
2c1e814264 Allow power search to be controlled externally
Reviewed By: LukeDefeo

Differential Revision: D50732883

fbshipit-source-id: a19932b5a3f319fd1dc45572fef251369283cc61
2023-10-27 05:45:28 -07:00
Lorenzo Blasa
f0023ea79d If there's an existing problem, show regardless
Summary:
Setup Doctor can be used to discover installation issues. I've seen numerous times when there's a setup issue but users didn't check / bother with using the tool.

Instead, if there's an issue, show the screen regardless.

Reviewed By: mweststrate

Differential Revision: D50642080

fbshipit-source-id: 10eb7a758a61765a5b06d398f5041897fff6280e
2023-10-27 03:12:03 -07:00
generatedunixname89002005325672
9aadcefbf9 Daily arc lint --take KTFMT
Reviewed By: martintrojer

Differential Revision: D50729003

fbshipit-source-id: b739c041af3edb9ae7f787368938b23ae8efe4d0
2023-10-27 01:34:53 -07:00
Luke De Feo
92e831cc40 Promote k state to top level
Summary:
In the new sidebar design complex types are behind a preview. before states was an array under the key states.

Now we create a top level attribute according to its index

Reviewed By: lblasa

Differential Revision: D50654698

fbshipit-source-id: 410c50c5f1ab14efc77184a5b147d9bdf70761d4
2023-10-26 11:29:30 -07:00
Luke De Feo
f3449a5641 Make panel adhere to Figma design
Summary: css to change the header styling

Reviewed By: lblasa

Differential Revision: D50595982

fbshipit-source-id: 836ea7881426e95abb449c085fca39606cd8cfdd
2023-10-26 05:24:30 -07:00
Luke De Feo
115cb1af71 Dont show empty subsections
Summary: changelog: UIDebugger - new sidebar design

Reviewed By: lblasa

Differential Revision: D50653551

fbshipit-source-id: 8a173abb033f35ba6abd2d5f417e647ca2ffe8e7
2023-10-26 05:24:30 -07:00
Luke De Feo
20a1b9d255 format numbers
Reviewed By: lblasa

Differential Revision: D50653525

fbshipit-source-id: 265a2821acef572ca6d9576be647ee1d07f3850e
2023-10-26 05:24:30 -07:00
Luke De Feo
8af6ca7f02 Shrink input size (final )
Summary:
Allows more content on screen. Final diff of stack

Changelog: UIDebugger, new sidebar design

Reviewed By: lblasa

Differential Revision: D50595987

fbshipit-source-id: 436af4191dba37f7a0f41dca23ab6349856358cd
2023-10-26 05:24:30 -07:00
Luke De Feo
aafd7e12df Add raw data panel
Reviewed By: lblasa

Differential Revision: D50595980

fbshipit-source-id: 3679d53cfbfe38ab466d96efe39928c0299fb4d5
2023-10-26 05:24:30 -07:00
Luke De Feo
457361985c Basic filtering
Summary: This filtering scheme is extremely basic, we only filter based on top level fields. Other schemes I considered were somewhat confusing and this works well in most if not all cases

Reviewed By: lblasa

Differential Revision: D50595986

fbshipit-source-id: 90cb82f8fc482fd4c6f996ff9e857f27766df544
2023-10-26 05:24:30 -07:00
Luke De Feo
ce693ef33e Handle inspectable array
Summary: This was not handled and arrays were not properly transformed

Reviewed By: lblasa

Differential Revision: D50595983

fbshipit-source-id: cae8777c653cc9fc2a1ea8cab05b3df476121855
2023-10-26 05:24:30 -07:00
Luke De Feo
fa2845d86d Use text for tab headings
Summary: Use text for tab headings

Reviewed By: lblasa

Differential Revision: D50595976

fbshipit-source-id: c062bb984ef83d76761e1deb9f24ec095099bd98
2023-10-26 05:24:30 -07:00
Luke De Feo
1b0eb31bd9 Default to first tab if active tab not available
Summary:
This is only really an issue in theUIDebugger where we have a dynamic number of tabs. on some nodes you have 3 tabs, on others you have 2. if you select the 3rd tab and move to a node with 2 tabs nothing will be selected.

With this fix we will fallback to the first tab

Reviewed By: lblasa

Differential Revision: D50595977

fbshipit-source-id: 25c36a5609f774c2d3fd650eb6520104864fbe95
2023-10-26 05:24:30 -07:00
Luke De Feo
184316545a Treat unknown as text
Reviewed By: lblasa

Differential Revision: D50595978

fbshipit-source-id: 867eb08c3ab365a808d5c7b53a7772298e9c9156
2023-10-26 05:24:30 -07:00
Luke De Feo
b4d80c3f80 Add support for complex types
Summary:
Complex nested arrays and objects are displayed in a modal since there isnt enough space to it practically.

Not many attributes in practice fall into this category

Reviewed By: lblasa

Differential Revision: D50595981

fbshipit-source-id: b1eda93c448de19c8803d64eb4cf105e2b6636a8
2023-10-26 05:24:30 -07:00
Luke De Feo
f5d974a26c Add support for color
Summary: we show rbga on one line, and hex + preview on second line

Reviewed By: lblasa

Differential Revision: D50595979

fbshipit-source-id: 86015ceeb5e64e67fb85e3431f85916f7d175ca2
2023-10-26 05:24:30 -07:00
Luke De Feo
65de40be7c Add support for Subsections
Summary:
in the figma design we have the concept of subsections which are single level deep objects shown inline
{F1126292520}

More complex nested objects are shown a a preview that you have to click on and will come later

Reviewed By: lblasa

Differential Revision: D50595984

fbshipit-source-id: ea831731b87ce9968516129cf177953e200cf4d5
2023-10-26 05:24:30 -07:00
Luke De Feo
b184500d94 New sidebar design 1/n
Summary: Added basic infra basic types

Reviewed By: lblasa

Differential Revision: D50595985

fbshipit-source-id: 48ebd74bd8ccebdd8a6d69dbda344b8d831dc04f
2023-10-26 05:24:30 -07:00
Pascal Hartig
50b06f2efd Remove unused eventemitter 3
Summary: This seems to be (no longer) in use.

Reviewed By: lblasa

Differential Revision: D50659072

fbshipit-source-id: 0fde643711ee4859a5d270a878d858694337d6a5
2023-10-26 03:05:02 -07:00
Pascal Hartig
abefa2165f Remove unused reconnecting-websocket dep
Summary: This seems to be (no longer) in use.

Reviewed By: lblasa

Differential Revision: D50645304

fbshipit-source-id: 6d8e89a376f57e9dccafe899cfb2be85271329c9
2023-10-26 03:05:02 -07:00
Pascal Hartig
ecfa9451db Remove unused which dependency
Summary: This seems to be (no longer) in use.

Reviewed By: lblasa

Differential Revision: D50645270

fbshipit-source-id: 69cf276f97d960a16ffd3e48342420b33fa646da
2023-10-26 03:05:02 -07:00
Pascal Hartig
6970edcc69 Bump AGP to 8.1.2 (#5245)
Summary:
[android] Bump AGP to 8.1.2

 ---
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/flipper/pull/5245).
* https://github.com/facebook/flipper/issues/5247
* https://github.com/facebook/flipper/issues/5246
* __->__ https://github.com/facebook/flipper/issues/5245

Pull Request resolved: https://github.com/facebook/flipper/pull/5245

Reviewed By: lblasa

Differential Revision: D50599214

Pulled By: passy

fbshipit-source-id: 10ac3000fa3b884cbfb629ab8410c6e722e3111c
2023-10-25 07:17:33 -07:00
generatedunixname89002005306973
eb5618d643 Flipper Snapshot Bump: v0.233.1-SNAPSHOT
Summary: Releasing snapshot version 0.233.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D50642811

fbshipit-source-id: f8155816d667e52f17254812b376eb84bba3f64c
2023-10-25 06:57:03 -07:00
generatedunixname89002005306973
554cc88462 Flipper Release: v0.233.0
Summary: Releasing version 0.233.0

Reviewed By: lblasa

Differential Revision: D50642810

fbshipit-source-id: 6c42fdbdf61aed5c0af11dbb781496a917c44b8c
2023-10-25 06:57:03 -07:00
Andrey Goncharov
8c5078dc08 Catch sync errors while starting HTTP server
Reviewed By: lblasa

Differential Revision: D50636260

fbshipit-source-id: f23fb2005c779b87122ae34bfdd9371d8bdec8b4
2023-10-25 04:52:00 -07:00
Andrey Goncharov
97f01d0057 Check certs are good for TLS
Reviewed By: lblasa

Differential Revision: D50496418

fbshipit-source-id: fb4ee3a91b50d0e02f8b1d0e4618a510cf0c3a54
2023-10-25 04:52:00 -07:00
Lorenzo Blasa
7f6d1cf55b Fix nullability warnings/errors
Summary: ^

Reviewed By: passy

Differential Revision: D50640020

fbshipit-source-id: d42b938520203a6ce232717c1adc43da176457e3
2023-10-25 04:44:01 -07:00
Lorenzo Blasa
da7917cefe No not delegate launch to Flipper Launcher
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50557385

fbshipit-source-id: d9571dda36520eae19f2d5fda4f52807f439a4e1
2023-10-24 07:18:43 -07:00
Lorenzo Blasa
bf49924f0c RN-only app icon
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50557331

fbshipit-source-id: bc6f9ed7b379b65b9f09b1471d9ec7cbb820086b
2023-10-24 07:18:43 -07:00
Lorenzo Blasa
3ed89a50bb RN-only icon
Summary: ^

Reviewed By: antonk52, aigoncharov

Differential Revision: D50557283

fbshipit-source-id: d869a3159c9c0b0b7e06ac04a1d51bbbe10f0970
2023-10-24 07:18:43 -07:00
Pascal Hartig
1f13a9dab5 Fix packlist (#5242)
Summary: [packer] Fix packlist

Test Plan:
Pull Request resolved: https://github.com/facebook/flipper/pull/5242
Imported from GitHub, without a `Test Plan:` line.

Reviewed By: mweststrate

Differential Revision: D50596825

Pulled By: passy

fbshipit-source-id: be4f80f95be27f86aa61384f9dd46540bf4aa349
2023-10-24 06:54:37 -07:00
Luke De Feo
cdb96df06f Litho layout prop improvements
Summary:
A few fixes.

1. We were ignoring start and end inputs, they are now sent to desktop
2. we were computing our own version of the resolved (computed ) values for border padding and margin. We are now using the correct about from litho getLayoutX

Removed some code duplication

Unfortunatley getLayoutBorderWidth is not available in open source yet so will need to land that first

Reviewed By: adityasharat

Differential Revision: D50496369

fbshipit-source-id: 7960a5d338adb40175f48982150665e046688fe1
2023-10-24 06:22:20 -07:00
Lorenzo Blasa
b3497a1642 Show unsupported modal for RN-only builds
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50557230

fbshipit-source-id: d1974771edba97ce99294b967c27e4ec76a6cf61
2023-10-24 05:51:06 -07:00
Lorenzo Blasa
25245506c7 Only show changelog for headless builds
Summary: ^

Reviewed By: LukeDefeo, aigoncharov

Differential Revision: D50557155

fbshipit-source-id: 9f0990ded22ed18d01931ed3b2652498eb6b1abc
2023-10-24 05:51:06 -07:00
Lorenzo Blasa
b306a5591e Title should show unsupported for Electron builds
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50557114

fbshipit-source-id: c9235e71e64ee8f6ce35b8b5d3c00660e9d7fbbb
2023-10-24 05:51:06 -07:00
Lorenzo Blasa
4b915da47c Electron releases do not update indicator on the Navigation Bar
Summary: No need to show this for Electron releases. Also, this becomes important once we make the final Electron release.

Reviewed By: aigoncharov

Differential Revision: D50557052

fbshipit-source-id: 803a9c9ad21fbff39147ac06add74888b9ee4091
2023-10-24 05:51:06 -07:00
Luke De Feo
21057fba01 Fix null pointer error
Summary: Turns out this can be null in some rare circumstances and can cause a crash in the fragment tracker

Reviewed By: aigoncharov

Differential Revision: D50562123

fbshipit-source-id: 4dfaecfde69359a85b778fc5ff0a4a3a8165a875
2023-10-24 05:49:56 -07:00
generatedunixname89002005306973
9c36fd5371 Flipper Snapshot Bump: v0.232.1-SNAPSHOT
Summary: Releasing snapshot version 0.232.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D50595863

fbshipit-source-id: 5bc01cb2f190cf542c5f228030e5cb3c81f45a06
2023-10-24 04:51:33 -07:00
generatedunixname89002005306973
280d9544d1 Flipper Release: v0.232.0
Summary: Releasing version 0.232.0

Reviewed By: aigoncharov

Differential Revision: D50595864

fbshipit-source-id: 73c27ff739b585adc24db7bfd2d512153bea442a
2023-10-24 04:51:33 -07:00
Lorenzo Blasa
94120d61aa RN-only build flag
Summary: Previously I had created a RN build, locally, with a few minor differences. That had to be reverted. Instead of reverting and re-applying changes, I'm introducing a flag that can be used in the interim to produce the RN-only builds.

Reviewed By: LukeDefeo

Differential Revision: D50555055

fbshipit-source-id: edface9a1587fb51e54eebe73724032baf985c83
2023-10-24 04:18:51 -07:00
Luke De Feo
05242b4ee9 Handle traversal error
Summary: Log as console . error so we get a log view and inform the user

Reviewed By: lblasa

Differential Revision: D50450794

fbshipit-source-id: 0eb1877eec4d602d6673dd2815af2692e89b2523
2023-10-24 04:10:29 -07:00
Joshua Selbo
cd4640326c Update tests on old SDK versions
Summary:
Preparing for next Robolectric version which drops support for SDK 16-18.

`MemoryToolsFlipperPluginTest` relies on JSON serialization order which changes when running on the latest SDK (33).

`InspectorFlipperPluginTest` has multiple issues when running on the latest SDK, so just bump it to 19.

Reviewed By: jiawei-lyu

Differential Revision: D50558702

fbshipit-source-id: 9724d8e699b703a9e0af12559c41e7053d820150
2023-10-23 11:02:31 -07:00
Andrey Goncharov
92ca5edaea Track number of loaded plugins
Reviewed By: lblasa

Differential Revision: D50556872

fbshipit-source-id: 2d841360f7081074afa025d0bad8c41d7b2db16e
2023-10-23 09:14:56 -07:00
Andrey Goncharov
efdcaee302 Make enum term length dynamic
Reviewed By: mweststrate

Differential Revision: D50551626

fbshipit-source-id: f180252782244aaa5bc8c90521664f6bcbe6b9b7
2023-10-23 06:51:06 -07:00
generatedunixname89002005306973
12ebf5ec51 Flipper Snapshot Bump: v0.231.1-SNAPSHOT
Summary: Releasing snapshot version 0.231.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D50548697

fbshipit-source-id: 3efa68d43385d4ba529015b7491b668fdce5ab8a
2023-10-23 03:42:26 -07:00
generatedunixname89002005306973
0509022dd5 Flipper Release: v0.231.0
Summary: Releasing version 0.231.0

Reviewed By: aigoncharov

Differential Revision: D50548698

fbshipit-source-id: 06c1e452ce9a5d3c6fc049f2fc2047d2b8bbc7e7
2023-10-23 03:42:26 -07:00
Andres Suarez
baf9d9ab37 Replace tempdir with tempfile
Summary:
`tempdir` has been deprecated since 2018:
https://github.com/rust-lang-deprecated/tempdir/pull/46

It's functionality was merged into `tempfile` with minor tweaks:

- Methods names: `new` -> `with_prefix`, `new_in` -> `with_prefix_in`.
- `with_prefix_in`'s args order is reversed.
- Temp dirs no longer have a period between the prefix and the random
  name (before `foo.123abc`, now `foo123abc`).

Reviewed By: shayne-fletcher

Differential Revision: D50526255

fbshipit-source-id: bdb3b53a6b09a09c70c8e2533ad2cea46ee2842b
2023-10-21 12:15:21 -07:00
Anton Kastritskiy
663380e721 mark unused vars as errors
Reviewed By: lblasa

Differential Revision: D50500690

fbshipit-source-id: 6f739fe25c232ecfe842337af4399681e85f6a13
2023-10-20 12:44:58 -07:00
Lorenzo Blasa
4834fda6fa Build local architecture CLI arg
Summary:
The current '--mac' arg builds all supported architectures. This is great when generating release builds but not so much when testing a release for the current architecture.

Not modifying the existing '--mac' arg as to not update our current CI.

Reviewed By: antonk52

Differential Revision: D50497211

fbshipit-source-id: 3e4d9728adc822c48788556e2ea47f4dd1c21b05
2023-10-20 07:25:52 -07:00
Anton Kastritskiy
fd774a2d52 remove density mentions
Summary: removing dead code

Reviewed By: lblasa

Differential Revision: D50495989

fbshipit-source-id: 769f853b50bf6ec48705dbcec03977ec6a5bffa3
2023-10-20 07:23:34 -07:00
Anton Kastritskiy
a978c96987 large fb icons only, no density
Summary:
Currently we download a bunch of FB icons and we normally use the smallest one available.

In this diff I change the download logic so we try to download from the largest to the smallest icon and use the first one available. One the client we no longer provide the icon of the same size that is requested, instead we provide the only one we have which will typically be larger than needed. This is a good thing because

1. flipper is a local application and we do not need to worry about icons take up broadband and downloading
2. People have high density displayed

I also stopped using density(rest of related code removed in the next diff) for icons as it the icons themselves did not support it.

Reviewed By: lblasa

Differential Revision: D50495194

fbshipit-source-id: f569c2f3b8ee424a67c6d21136e7e113868b8f6a
2023-10-20 07:23:34 -07:00
generatedunixname89002005306973
b507f7743e Flipper Snapshot Bump: v0.230.1-SNAPSHOT
Summary: Releasing snapshot version 0.230.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D50495655

fbshipit-source-id: 79952d387c0b1f981c2ce383c045157630f7d02f
2023-10-20 06:53:48 -07:00
generatedunixname89002005306973
edc69ac8ee Flipper Release: v0.230.0
Summary: Releasing version 0.230.0

Reviewed By: lblasa

Differential Revision: D50495656

fbshipit-source-id: 1c60110c1fe198a317217b8f2be667fa5f77e893
2023-10-20 06:53:48 -07:00
Andrey Goncharov
aea77cc4da Hide PWA app from Spotlight
Reviewed By: LukeDefeo

Differential Revision: D50411182

fbshipit-source-id: 46c089c69aefb58f85a861c7898ee355f094e03c
2023-10-20 05:13:20 -07:00
Lorenzo Blasa
a8be443670 Fixes an issue whereas token was only obtained if one exists
Summary: The token will be generated if one doesn't exist, so always call get token.

Reviewed By: antonk52

Differential Revision: D50494884

fbshipit-source-id: b93ba8ab5ba0c8b48766af3b06e8de94944d08e7
2023-10-20 04:59:41 -07:00
Lorenzo Blasa
450e6f2d7c Fixes an issue whereas server configuration is not yet set
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50470060

fbshipit-source-id: cc59ac7cace092addbf48dfa16219983bd129cb0
2023-10-19 13:57:36 -07:00
Anton Kastritskiy
64d97998fd fix prod icons
Summary:
Previously we had requested non existing icons. This fixes missing icons on pixel dense screens (macbook pro, 4k screens).

I could add x4, x5 icons as well. Though they are no better than x3. Even x3 is pretty raterized. Ideally we should be serving icons with higher resolution and scaling them down instead of doing this. Even better use SVG icons which we do not have.

Reviewed By: LukeDefeo

Differential Revision: D50454271

fbshipit-source-id: cda90972abb56069e160ddefdc6de460c49d06c0
2023-10-19 07:25:40 -07:00
Luke De Feo
ee7f12ef85 Add message when traversal has error
Summary: By sending a message to the desktop we can report to log view and inform the user what happened

Reviewed By: lblasa

Differential Revision: D50369853

fbshipit-source-id: b4852d736232477261bfdf6f94c9395ce29cceaf
2023-10-19 03:33:42 -07:00
generatedunixname89002005306973
da903b8bc5 Flipper Snapshot Bump: v0.229.1-SNAPSHOT
Summary: Releasing snapshot version 0.229.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D50444272

fbshipit-source-id: 5913d464a68c5c9b1bbffc9b8bd4f51c6e09d7f9
2023-10-19 03:12:05 -07:00
generatedunixname89002005306973
a0ffacb6b6 Flipper Release: v0.229.0
Summary: Releasing version 0.229.0

Reviewed By: lblasa

Differential Revision: D50444276

fbshipit-source-id: cb7a962db5bf891787c07626d1eb3dbe5a6c0817
2023-10-19 03:12:05 -07:00
Lorenzo Blasa
f6de499171 Export to manifest on get
Summary:
Every time the token is returned, export it to the manifest.

This covers the case in which the token found in the manifest has already expired.

Reviewed By: antonk52

Differential Revision: D50419458

fbshipit-source-id: 8eefa0e97e234985b34f824190b208bf74e2d8ec
2023-10-18 12:28:06 -07:00
Lorenzo Blasa
82f0c0eb9e Remove Specs directory (#5222)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/5222

No longer used and hasn't been updated in 2+ years.

Reviewed By: LukeDefeo

Differential Revision: D50409395

fbshipit-source-id: 4d64f31cce457737c6954834107a73dd6d1103bd
2023-10-18 12:12:59 -07:00
Anton Kastritskiy
53e44da116 automatic update for docusaurus-plugin-internaldocs-fb@1.16.2
Reviewed By: lblasa

Differential Revision: D50408568

fbshipit-source-id: 068675c51049cb24fd69417e3bd0f7820d558b5e
2023-10-18 09:57:42 -07:00
Anton Kastritskiy
30100989f4 fix tabs + localStorage
Summary:
Key fix is
```diff
-    'Tabs:' + localStorageKeyOverride ?? keys.join(','),
+    'Tabs:' + (localStorageKeyOverride ?? keys.join(',')),
```

Previously it worked like `('Tabs:' + localStorageKeyOverride) ?? keys.join(','),` which always evaluated to `"Tabs:undefined"`. This means that all tabs that were not using localStorageKeyOverride were reusing the same localstorage key. If you open some tabs with A, B, and C tabs. And open tab B. Then open other tabs with D, E, and F. No tab would be selected as the default value would be B.

The second part it extracing keys from `items` prop instead of children.

Reviewed By: lblasa

Differential Revision: D50411422

fbshipit-source-id: 30f70c4347649f29e8c8ff1f2f38fdca7e826198
2023-10-18 09:33:48 -07:00
Lorenzo Blasa
8b24560bc0 Verify token before return
Summary: If the token has already expired, generate another one.

Reviewed By: aigoncharov

Differential Revision: D50410431

fbshipit-source-id: 108a3b344a1bcafd93a8d9bc94cba5c133d099d7
2023-10-18 08:53:46 -07:00
generatedunixname89002005306973
f10ea61ffc Flipper Snapshot Bump: v0.228.1-SNAPSHOT
Summary: Releasing snapshot version 0.228.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D50407781

fbshipit-source-id: cd2eb1084e2a7899b57267ad5a7364103f3c0678
2023-10-18 06:50:02 -07:00
generatedunixname89002005306973
f12fc5c983 Flipper Release: v0.228.0
Summary: Releasing version 0.228.0

Reviewed By: lblasa

Differential Revision: D50407780

fbshipit-source-id: b015e08f21fc4f0182e8a6589785e772505163f1
2023-10-18 06:50:02 -07:00
Anton Kastritskiy
b9952410b3 xcode-select copiable command
Reviewed By: ivanmisuno

Differential Revision: D50383695

fbshipit-source-id: 094c0477e44180591b479468fd365959e485da8a
2023-10-18 05:55:23 -07:00
Anton Kastritskiy
683fbfd6fb doctor result can display copiable CLI commands
Reviewed By: lblasa, ivanmisuno

Differential Revision: D50383150

fbshipit-source-id: 201f239cc7d69bd03011ec817156163f9f6ed653
2023-10-18 05:55:23 -07:00
Andrey Goncharov
a0a9465c0b Fix dark theme support
Reviewed By: lblasa

Differential Revision: D50406262

fbshipit-source-id: eda5c73efcd50dbe572cab078d3c04a4cd845601
2023-10-18 04:15:05 -07:00
Andrey Goncharov
3d4b36f14e Hide emulator loading page for disabkled platforms
Reviewed By: lblasa

Differential Revision: D50405264

fbshipit-source-id: c051414ad3b269cf2bc145aa4da13c20517edb36
2023-10-18 04:12:21 -07:00
Lorenzo Blasa
65fef5fbc3 Remove token from URL query string
Summary: This can be provided as an override, but is not needed for regular usage.

Reviewed By: antonk52

Differential Revision: D50405097

fbshipit-source-id: 7238f99ef08bfdf5c7adda0e8c3294341ae86e89
2023-10-18 03:40:59 -07:00
Anton Kastritskiy
b6560e1c74 check xcode-select is using the latest major version available
Reviewed By: mweststrate

Differential Revision: D50369254

fbshipit-source-id: 140a044ca55ec1f445b38e02c7df13cb667d89c6
2023-10-17 16:01:08 -07:00
Anton Kastritskiy
73862c9408 refine typescript type of tryExecuteComand
Summary: You can now descriminate based on `hasProblem`. Thus removing asserting operator

Reviewed By: LukeDefeo

Differential Revision: D50366398

fbshipit-source-id: a16a5419ce946831bd2d1624b1baa75c89a47aa3
2023-10-17 16:01:08 -07:00
Vitalii Ganzha
1a6e0ef42e Update FlipperPlugin C++ code so it can be compiled for Windows
Summary:
I am working in Horizon Worlds and I would like to integrate Flipper with HzW app.
Currently FlipperPlugin C++ code won't compile on Windows since it uses Linux-only headers like `netdb.h` and `sys/fcntl.h`, I posted here and looks like it is not currently supported: https://fb.workplace.com/groups/flippersupport/posts/1704837183330266

The problem seem to be in only in `FlipperConnectionEndpointVerifier.cpp`, and I'm updating it to make it compatible with Windows.

Also apparently there's some issue with `#include` of few files and namespaces, leading to "struct redefinition" errors where `#pragma once` does not help https://fb.workplace.com/groups/474291069286180/posts/25313067014981908/

Solving it with manual #define

Reviewed By: lblasa

Differential Revision: D50337573

fbshipit-source-id: affdf1aee2b9dfe615227827fedf324a5f17d8b0
2023-10-17 09:49:11 -07:00
Andrey Goncharov
7040e56185 Add loader while waiting for an emulator to start
Reviewed By: lblasa

Differential Revision: D50367884

fbshipit-source-id: cdc7c408bf2eb4ea3f7f4f03c27ca72e8bbe2947
2023-10-17 09:27:30 -07:00
Andrey Goncharov
cc76a21d80 Add more tracking data for UI startup
Reviewed By: lblasa

Differential Revision: D50365803

fbshipit-source-id: b6a601e7bf987738400a86be6814de7cafd50d3d
2023-10-17 08:28:02 -07:00
Lorenzo Blasa
17103ce1fa If failure, track client type
Summary: Add client type information to client errors

Reviewed By: aigoncharov

Differential Revision: D50365929

fbshipit-source-id: f1544b3974c5dfa4fc9b3b6229d6ebb6334dc0d9
2023-10-17 08:05:53 -07:00
generatedunixname89002005306973
51c8881fc7 Flipper Snapshot Bump: v0.227.1-SNAPSHOT
Summary: Releasing snapshot version 0.227.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D50327904

fbshipit-source-id: 183239129828174249eda9782995e5e1aec3538e
2023-10-16 11:31:18 -07:00
246 changed files with 4195 additions and 9082 deletions

View File

@@ -3,7 +3,7 @@
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.222.0'
flipperkit_version = '0.233.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.cocoapods_version = '>= 1.10'

View File

@@ -4,7 +4,7 @@
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DDEBUG=1 -DFLIPPER_OSS=1 -DFB_SONARKIT_ENABLED=1 -DFOLLY_HAVE_BACKTRACE=1 -DFOLLY_HAVE_CLOCK_GETTIME=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'
flipperkit_version = '0.222.0'
flipperkit_version = '0.233.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.10.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.11.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.11.1'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.12.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.13.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.14.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.14.1'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.14.2'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.2'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.15.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.2'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.16.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.2'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.16.1'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.2'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.16.2'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.2'
spec.dependency 'RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.17.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Flipper-Folly', '~>1.2'
spec.dependency 'Flipper-RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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)/Flipper-RSocket\" \"$(PODS_ROOT)/DoubleConversion\"" }
end

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.17.1'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Flipper-Folly', '~>1.2'
spec.dependency 'Flipper-RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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)/Flipper-RSocket\" \"$(PODS_ROOT)/DoubleConversion\"" }
end

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.18.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Flipper-Folly', '~>1.2'
spec.dependency 'Flipper-RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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)/Flipper-RSocket\" \"$(PODS_ROOT)/DoubleConversion\"" }
end

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.19.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Flipper-Folly', '~>1.2'
spec.dependency 'Flipper-RSocket', '~>0.10'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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)/Flipper-RSocket\" \"$(PODS_ROOT)/DoubleConversion\"" }
end

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.20.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h','xplat/utils/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}','xplat/Flipper/utils/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Flipper-Folly', '1.3.0'
spec.dependency 'Flipper-RSocket', '0.10.4'
spec.compiler_flags = '-DFLIPPER_OSS=1 -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)/Flipper-RSocket\" \"$(PODS_ROOT)/DoubleConversion\"" }
end

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.8.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.8.1'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
flipperkit_version = '0.9.0'
Pod::Spec.new do |spec|
spec.name = 'Flipper'
spec.version = flipperkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+flipperkit_version }
spec.module_name = 'Flipper'
spec.public_header_files = 'xplat/Flipper/*.h'
spec.source_files = 'xplat/Flipper/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,149 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
flipperkit_version = '0.10.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/FlipperKit/**/{FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,161 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.11.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/FBDefines/FBMacros.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,163 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.11.1'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,164 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.12.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,183 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.13.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitCrashReporterPlugin" do |ss|
ss.header_dir = "FlipperKitCrashReporterPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitCrashReporterPlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.14.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.14.1'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.14.2'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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'
flipperkit_version = '0.15.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBMacros.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.16.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.16.1'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.16.2'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.17.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Flipper-Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.17.1'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Flipper-Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.18.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Flipper-Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.10'
flipperkit_version = '0.19.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Flipper-Folly', '~>1.2'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,174 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
folly_compiler_flags = '-DFLIPPER_OSS=1 -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.12.0-pre.1'
yogakit_version = '~> 1.12.0-pre.1'
flipperkit_version = '0.20.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBDefines.h is imported as <FBDefines/FBDefines.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBDefines.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other FlipperKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "FKPortForwarding" do |ss|
ss.header_dir = "FKPortForwarding"
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'Flipper-PeerTalk', '~>0.0.4'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.{h,m}'
ss.private_header_files = 'iOS/FlipperKit/FKPortForwarding/FKPortForwarding{Server,Common}.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'FlipperKit/FKPortForwarding'
ss.dependency 'Flipper-Folly', '1.3.0'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h',
'iOS/FBDefines/FBDefines.h',
'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h',
'iOS/Plugins/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin/FlipperKitCrashReporterPlugin.h',
'iOS/FlipperKit/**/{FlipperDiagnosticsViewController,FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit', '~> 0.25'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitExamplePlugin" do |ss|
ss.header_dir = "FlipperKitExamplePlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,139 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
flipperkit_version = '0.8.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/FlipperKit/**/{FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,139 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
flipperkit_version = '0.8.1'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/FlipperKit/**/{FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,149 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
flipperkit_version = '0.9.0'
Pod::Spec.new do |spec|
spec.name = 'FlipperKit'
spec.version = flipperkit_version
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',
:tag=> "v"+flipperkit_version }
spec.module_name = 'FlipperKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <FlipperKit/t/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/CppBridge/**/*.h'
ss.preserve_path = 'FlipperKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/FlipperKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'FlipperKit/FBDefines'
ss.dependency 'FlipperKit/FBCxxUtils'
ss.dependency 'FlipperKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Flipper', '~>'+flipperkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FlipperKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/FlipperKit/CppBridge/*.{h,mm}', 'iOS/FlipperKit/FBCxxUtils/*.{h,mm}', 'iOS/FlipperKit/Utilities/**/*.{h,m}', 'iOS/FlipperKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h',
'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/FlipperKit/**/{FlipperStateUpdateListener,FlipperClient,FlipperPlugin,FlipperConnection,FlipperResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/FlipperKit/iOS/FlipperKit\" \"$(PODS_ROOT)\"/Headers/Private/FlipperKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKHighlightOverlay.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
end
spec.subspec "FlipperKitLayoutComponentKitSupport" do |ss|
ss.header_dir = "FlipperKitLayoutComponentKitSupport"
ss.dependency 'FlipperKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutWrapper.h'
ss.source_files = "iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitNetworkPlugin" do |ss|
ss.header_dir = "FlipperKitNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/FlipperKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitNetworkPlugin'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
spec.subspec "FlipperKitUserDefaultsPlugin" do |ss|
ss.header_dir = "FlipperKitUserDefaultsPlugin"
ss.dependency 'FlipperKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h'
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
end
end

View File

@@ -1,175 +0,0 @@
{
"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"
}
}

View File

@@ -1,176 +0,0 @@
{
"name": "Folly",
"version": "1.1.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",
"tag": "v2018.08.06.00"
},
"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",
"folly/container/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"
}
}

View File

@@ -1,177 +0,0 @@
{
"name": "Folly",
"version": "1.2.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",
"tag": "v2019.01.14.00"
},
"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/net/*.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/container/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"
}
}

View File

@@ -1,21 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
Pod::Spec.new do |spec|
spec.name = 'PeerTalk'
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" }
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"
end

View File

@@ -1,4 +0,0 @@
# 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.

View File

@@ -1,59 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
Pod::Spec.new do |spec|
spec.name = 'RSocket'
spec.version = '0.10.0'
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/rsocket/rsocket-cpp'
spec.summary = 'C++ implementation of RSocket'
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/*.{h,cpp,m,mm}',
'rsocket/framing/*.{h,cpp,m,mm}',
'rsocket/internal/*.{h,cpp,m,mm}',
'rsocket/statemachine/*.{h,cpp,m,mm}',
'rsocket/transports/*.{h,cpp,m,mm}',
'rsocket/transports/**/*.{h,cpp,m,mm}',
'yarpl/observable/*.{h,cpp,m,mm}',
'yarpl/flowable/*.{h,cpp,m,mm}',
'rsocket/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.compiler_flags = '-std=c++1y'
spec.dependency 'Folly'
spec.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 -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.preserve_paths = 'rsocket/benchmarks/*.h',
'rsocket/framing/*.h',
'rsocket/internal/*.h',
'rsocket/statemachine/*.h',
'rsocket/transports/*.h',
'rsocket/*.h',
'yarpl/flowable/*.h',
'yarpl/observable/*.h',
'yarpl/perf/*.h',
'yarpl/single/*.h',
'yarpl/utils/*.h',
'yarpl/*.h',
'**/*.h'
spec.header_mappings_dir = 'rsocket'
spec.header_dir = 'rsocket'
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)/glog\" \"$(PODS_ROOT)/DoubleConversion\"/**" }
spec.platforms = { :ios => "8.0" }
end

View File

@@ -1,31 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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

View File

@@ -1,28 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = '0.6.12'
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v0.6.12' }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.0'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.6.13'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.0'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.6.14'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.0'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.6.15'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.0'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.6.16'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.7.0'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.7.1'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,29 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
sonarkit_version = '0.7.2'
Pod::Spec.new do |spec|
spec.name = 'Sonar'
spec.version = sonarkit_version
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/facebook/sonar'
spec.summary = 'SonarKit core cpp code with network implementation'
spec.authors = 'Facebook'
spec.source = { :git => 'https://github.com/facebook/Sonar.git',
:tag => 'v'+sonarkit_version }
spec.module_name = 'Sonar'
spec.public_header_files = 'xplat/Sonar/*.h'
spec.source_files = 'xplat/Sonar/*.{h,cpp,m,mm}'
spec.libraries = "stdc++"
spec.dependency 'Folly', '~>1.1'
spec.dependency 'RSocket', '~>0.10'
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

View File

@@ -1,99 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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

View File

@@ -1,99 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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.6.12'
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',
:tag=> "v0.6.12" }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.subspec "Core" do |ss|
ss.dependency 'Folly', '~>1.0'
ss.dependency 'Sonar', '~>0.6'
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

View File

@@ -1,131 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.6.13'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
ss.public_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.0'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/SonarKit/**/{SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -1,133 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.6.14'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.0'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/SonarKit/**/{SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -1,133 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.6.15'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.0'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/FBDefines/FBMacros.h', 'iOS/SonarKit/**/{SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -1,139 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.6.16'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/SonarKit/**/{SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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 = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -1,139 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.7.0'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/SonarKit/**/{FlipperStateUpdateListener,SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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 = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -1,139 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.7.1'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/SonarKit/**/{FlipperStateUpdateListener,SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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 = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -1,139 +0,0 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
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'
sonarkit_version = '0.7.2'
Pod::Spec.new do |spec|
spec.name = 'SonarKit'
spec.version = sonarkit_version
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',
:tag=> "v"+sonarkit_version }
spec.module_name = 'SonarKit'
spec.platforms = { :ios => "8.4" }
spec.default_subspecs = "Core"
# This subspec is necessary since FBMacros.h is imported as <FBDefines/FBMacros.h>
# inside SKMacros.h, which is a public header file. Defining this directory as a
# subspec with header_dir = 'FBDefines' allows this to work, even though it wouldn't
# generally (you would need to import <SonarKit/FBDefines/FBMacros.h>)
spec.subspec 'FBDefines' do |ss|
ss.header_dir = 'FBDefines'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/FBDefines/**/*.h'
ss.public_header_files = 'iOS/FBDefines/**/*.h'
end
spec.subspec 'CppBridge' do |ss|
ss.header_dir = 'CppBridge'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/CppBridge/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/CppBridge/**/*.h'
ss.preserve_path = 'SonarKit/CppBridge/**/*.h'
end
spec.subspec 'FBCxxUtils' do |ss|
ss.header_dir = 'FBCxxUtils'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBCxxUtils/**/*.{h,mm}'
# We set these files as private headers since they only need to be accessed
# by other SonarKit source files
ss.private_header_files = 'iOS/SonarKit/FBCxxUtils/**/*.h'
end
spec.subspec "Core" do |ss|
ss.dependency 'SonarKit/FBDefines'
ss.dependency 'SonarKit/FBCxxUtils'
ss.dependency 'SonarKit/CppBridge'
ss.dependency 'Folly', '~>1.1'
ss.dependency 'Sonar', '~>'+sonarkit_version
ss.dependency 'CocoaAsyncSocket', '~> 7.6'
ss.dependency 'PeerTalk', '~>0.0.2'
ss.dependency 'OpenSSL-Static', '1.0.2.c1'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/SonarKit/FBDefines/*.{h,cpp,m,mm}', 'iOS/SonarKit/CppBridge/*.{h,mm}', 'iOS/SonarKit/FBCxxUtils/*.{h,mm}', 'iOS/SonarKit/Utilities/**/*.{h,m}', 'iOS/SonarKit/*.{h,m,mm}'
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/FBDefines/FBMacros.h',
'iOS/SonarKit/**/{FlipperStateUpdateListener,SonarClient,SonarPlugin,SonarConnection,SonarResponder,SKMacros}.h'
header_search_paths = "\"$(PODS_ROOT)/SonarKit/iOS/SonarKit\" \"$(PODS_ROOT)\"/Headers/Private/SonarKit/** \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/PeerTalkSonar\""
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"DEFINES_MODULE" => "YES",
"HEADER_SEARCH_PATHS" => header_search_paths }
end
spec.subspec "SonarKitLayoutPlugin" do |ss|
ss.header_dir = "SonarKitLayoutPlugin"
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.header_dir = "SonarKitLayoutComponentKitSupport"
ss.dependency 'SonarKit/Core'
ss.dependency 'Yoga', yoga_version
ss.dependency 'ComponentKit'
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
ss.compiler_flags = folly_compiler_flags
ss.dependency 'SonarKit/SonarKitLayoutPlugin'
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_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SonarKitNetworkPlugin" do |ss|
ss.header_dir = "SonarKitNetworkPlugin"
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
ss.header_dir = "SKIOSNetworkPlugin"
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 = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.jetpackcompose.descriptors
import android.graphics.Bitmap
import android.view.ViewGroup
import com.facebook.flipper.plugins.jetpackcompose.model.ComposeInnerViewNode
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
@@ -49,13 +48,6 @@ object ComposeInnerViewDescriptor : NodeDescriptor<ComposeInnerViewNode> {
return ViewDescriptor.getChildren(node.view)
}
override fun getSnapshot(node: ComposeInnerViewNode, bitmap: Bitmap?): Bitmap? {
if (node.view is ViewGroup) {
return ViewGroupDescriptor.getSnapshot(node.view, bitmap)
}
return ViewDescriptor.getSnapshot(node.view, bitmap)
}
override fun getActiveChild(node: ComposeInnerViewNode): Any? {
if (node.view is ViewGroup) {
return ViewGroupDescriptor.getActiveChild(node.view)

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.jetpackcompose.descriptors
import android.graphics.Bitmap
import com.facebook.flipper.plugins.jetpackcompose.model.ComposeNode
import com.facebook.flipper.plugins.uidebugger.descriptors.BaseTags
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
@@ -130,8 +129,6 @@ object ComposeNodeDescriptor : NodeDescriptor<ComposeNode> {
override fun getQualifiedName(node: ComposeNode): String = node.inspectorNode.name
override fun getSnapshot(node: ComposeNode, bitmap: Bitmap?): Bitmap? = null
override fun getActiveChild(node: ComposeNode): Any? = null
override fun getTags(node: ComposeNode): Set<String> = setOf(BaseTags.Android, "Compose")

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.uidebugger.litho.descriptors
import android.graphics.Bitmap
import com.facebook.flipper.plugins.uidebugger.descriptors.DescriptorRegister
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
import com.facebook.flipper.plugins.uidebugger.descriptors.MetadataRegister
@@ -102,10 +101,13 @@ class DebugComponentDescriptor(val register: DescriptorRegister) : NodeDescripto
override fun getAttributes(
node: DebugComponent
): MaybeDeferred<Map<MetadataId, InspectableObject>> {
// this accesses the litho view so do this on the main thread
val mountingData = getMountingData(node)
return Deferred {
val attributeSections = mutableMapOf<MetadataId, InspectableObject>()
val mountingData = getMountingData(node)
attributeSections[MountingDataId] = InspectableObject(mountingData)
val layoutProps = LayoutPropExtractor.getProps(node)
@@ -139,8 +141,6 @@ class DebugComponentDescriptor(val register: DescriptorRegister) : NodeDescripto
return tags
}
override fun getSnapshot(node: DebugComponent, bitmap: Bitmap?): Bitmap? = null
override fun getInlineAttributes(node: DebugComponent): Map<String, String> {
val attributes = mutableMapOf<String, String>()
val key = node.key

View File

@@ -31,7 +31,8 @@ object TextDrawableDescriptor : ChainedDescriptor<TextDrawable>() {
attributeSections: MutableMap<MetadataId, InspectableObject>
) {
val props =
mapOf<Int, Inspectable>(TextAttributeId to InspectableValue.Text(node.text.toString()))
mapOf<Int, Inspectable>(
TextAttributeId to InspectableValue.Text(node.text?.toString() ?: "null"))
attributeSections[SectionId] = InspectableObject(props)
}

View File

@@ -99,7 +99,19 @@ object ComponentDataExtractor {
val id = getMetadataId(componentName, field.name)
val editorValue: EditorValue? = EditorRegistry.read(field.type, field, stateContainer)
if (editorValue != null) {
stateFields[id] = toInspectable(field.name, editorValue)
val inspectable = toInspectable(field.name, editorValue)
if (inspectable is InspectableArray) {
inspectable.items.forEachIndexed { idx, item ->
val metadataId =
MetadataRegister.register(
MetadataRegister.TYPE_ATTRIBUTE, "kstate", idx.toString())
stateFields[metadataId] = item
}
} else {
stateFields[id] = toInspectable(field.name, editorValue)
}
}
}
}

View File

@@ -9,9 +9,9 @@ package com.facebook.flipper.plugins.uidebugger.litho.descriptors.props
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
import com.facebook.flipper.plugins.uidebugger.common.enumToInspectableSet
import com.facebook.flipper.plugins.uidebugger.descriptors.MetadataRegister
import com.facebook.flipper.plugins.uidebugger.model.*
import com.facebook.flipper.plugins.uidebugger.util.enumToInspectableSet
import com.facebook.litho.DebugComponent
import com.facebook.yoga.*
@@ -127,202 +127,70 @@ object LayoutPropExtractor {
private val RotationId =
MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, "rotation")
private val EmptyId = MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, "")
private val ResolvedId =
MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, "resolved")
private val NoneId = MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, "none")
private val SizeId = MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, "size")
private val ViewOutputId =
MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, "viewOutput")
fun getInspectableBox(
left: YogaValue?,
top: YogaValue?,
right: YogaValue?,
bottom: YogaValue?,
horizontal: YogaValue?,
vertical: YogaValue?,
all: YogaValue?,
start: YogaValue?,
end: YogaValue?
/** constructs an object type containing any inputs that were provided and the resolved values */
private fun getInspectableBox(
leftInput: Inspectable?,
topInput: Inspectable?,
rightInput: Inspectable?,
bottomInput: Inspectable?,
horizontalInput: Inspectable?,
verticalInput: Inspectable?,
allInput: Inspectable?,
startInput: Inspectable?,
endInput: Inspectable?,
leftResolved: Float?,
topResolved: Float?,
rightResolved: Float?,
bottomResolved: Float?,
): InspectableObject {
val props = mutableMapOf<MetadataId, Inspectable>()
var actualLeft = 0
var actualTop = 0
var actualRight = 0
var actualBottom = 0
allInput?.let { props[AllId] = it }
horizontalInput?.let { props[HorizontalId] = it }
verticalInput?.let { props[VerticalId] = it }
leftInput?.let { props[LeftId] = it }
rightInput?.let { props[RightId] = it }
topInput?.let { props[TopId] = it }
bottomInput?.let { props[BottomId] = it }
startInput?.let { props[StartId] = it }
endInput?.let { props[EndId] = it }
all?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualLeft = intValue
actualTop = intValue
actualRight = intValue
actualBottom = intValue
}
props[AllId] = InspectableValue.Text(yogaValue.toString())
}
if (leftResolved != null &&
rightResolved != null &&
topResolved != null &&
bottomResolved != null) {
props[ResolvedId] =
InspectableValue.SpaceBox(
SpaceBox(
left = leftResolved.toInt(),
right = rightResolved.toInt(),
bottom = bottomResolved.toInt(),
top = topResolved.toInt()))
}
horizontal?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualLeft = intValue
actualRight = intValue
}
props[HorizontalId] = InspectableValue.Text(yogaValue.toString())
}
}
vertical?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualTop = intValue
actualBottom = intValue
}
props[VerticalId] = InspectableValue.Text(yogaValue.toString())
}
}
left?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualLeft = intValue
}
props[LeftId] = InspectableValue.Text(yogaValue.toString())
}
}
right?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualRight = intValue
}
props[RightId] = InspectableValue.Text(yogaValue.toString())
}
}
top?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualTop = intValue
}
props[TopId] = InspectableValue.Text(yogaValue.toString())
}
}
bottom?.let { yogaValue ->
if (yogaValue.unit != YogaUnit.UNDEFINED) {
if (yogaValue.unit == YogaUnit.POINT || yogaValue.unit == YogaUnit.PERCENT) {
val intValue = yogaValue.value.toInt()
actualBottom = intValue
}
props[BottomId] = InspectableValue.Text(yogaValue.toString())
}
}
props[EmptyId] =
InspectableValue.SpaceBox(SpaceBox(actualTop, actualRight, actualBottom, actualLeft))
return InspectableObject(props)
}
fun getInspectableBoxRaw(
left: Float?,
top: Float?,
right: Float?,
bottom: Float?,
horizontal: Float?,
vertical: Float?,
all: Float?,
start: Float?,
end: Float?
): InspectableObject {
val props = mutableMapOf<MetadataId, Inspectable>()
var actualLeft = 0
var actualTop = 0
var actualRight = 0
var actualBottom = 0
all?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualLeft = intValue
actualTop = intValue
actualRight = intValue
actualBottom = intValue
props[AllId] = InspectableValue.Number(value)
private fun toInspectable(yogaValue: YogaValue) =
if (yogaValue.unit != YogaUnit.UNDEFINED) {
InspectableValue.Text(yogaValue.toString())
} else {
null
}
}
horizontal?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualLeft = intValue
actualRight = intValue
props[HorizontalId] = InspectableValue.Number(value)
private fun toInspectable(value: Float) =
if (value.isNaN()) {
null
} else {
InspectableValue.Number(value)
}
}
vertical?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualTop = intValue
actualBottom = intValue
props[VerticalId] = InspectableValue.Number(value)
}
}
left?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualLeft = intValue
props[LeftId] = InspectableValue.Number(value)
}
}
right?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualRight = intValue
props[RightId] = InspectableValue.Number(value)
}
}
top?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualTop = intValue
props[TopId] = InspectableValue.Number(value)
}
}
bottom?.let { value ->
if (!value.isNaN()) {
val intValue = value.toInt()
actualBottom = intValue
props[BottomId] = InspectableValue.Number(value)
}
}
props[EmptyId] =
InspectableValue.SpaceBox(SpaceBox(actualTop, actualRight, actualBottom, actualLeft))
return InspectableObject(props)
}
fun getProps(component: DebugComponent): Map<MetadataId, Inspectable> {
val props = mutableMapOf<MetadataId, Inspectable>()
@@ -366,51 +234,68 @@ object LayoutPropExtractor {
props[MarginId] =
getInspectableBox(
layout.getMargin(YogaEdge.LEFT),
layout.getMargin(YogaEdge.TOP),
layout.getMargin(YogaEdge.RIGHT),
layout.getMargin(YogaEdge.BOTTOM),
layout.getMargin(YogaEdge.HORIZONTAL),
layout.getMargin(YogaEdge.VERTICAL),
layout.getMargin(YogaEdge.ALL),
layout.getMargin(YogaEdge.START),
layout.getMargin(YogaEdge.END))
leftInput = toInspectable(layout.getMargin(YogaEdge.LEFT)),
topInput = toInspectable(layout.getMargin(YogaEdge.TOP)),
rightInput = toInspectable(layout.getMargin(YogaEdge.RIGHT)),
bottomInput = toInspectable(layout.getMargin(YogaEdge.BOTTOM)),
horizontalInput = toInspectable(layout.getMargin(YogaEdge.HORIZONTAL)),
verticalInput = toInspectable(layout.getMargin(YogaEdge.VERTICAL)),
allInput = toInspectable(layout.getMargin(YogaEdge.ALL)),
startInput = toInspectable(layout.getMargin(YogaEdge.START)),
endInput = toInspectable(layout.getMargin(YogaEdge.END)),
leftResolved = layout.getLayoutMargin(YogaEdge.LEFT),
rightResolved = layout.getLayoutMargin(YogaEdge.RIGHT),
topResolved = layout.getLayoutMargin(YogaEdge.TOP),
bottomResolved = layout.getLayoutMargin(YogaEdge.BOTTOM),
)
props[PaddingId] =
getInspectableBox(
layout.getPadding(YogaEdge.LEFT),
layout.getPadding(YogaEdge.TOP),
layout.getPadding(YogaEdge.RIGHT),
layout.getPadding(YogaEdge.BOTTOM),
layout.getPadding(YogaEdge.HORIZONTAL),
layout.getPadding(YogaEdge.VERTICAL),
layout.getPadding(YogaEdge.ALL),
layout.getPadding(YogaEdge.START),
layout.getPadding(YogaEdge.END))
leftInput = toInspectable(layout.getPadding(YogaEdge.LEFT)),
topInput = toInspectable(layout.getPadding(YogaEdge.TOP)),
rightInput = toInspectable(layout.getPadding(YogaEdge.RIGHT)),
bottomInput = toInspectable(layout.getPadding(YogaEdge.BOTTOM)),
horizontalInput = toInspectable(layout.getPadding(YogaEdge.HORIZONTAL)),
verticalInput = toInspectable(layout.getPadding(YogaEdge.VERTICAL)),
allInput = toInspectable(layout.getPadding(YogaEdge.ALL)),
startInput = toInspectable(layout.getPadding(YogaEdge.START)),
endInput = toInspectable(layout.getPadding(YogaEdge.END)),
leftResolved = layout.getLayoutPadding(YogaEdge.LEFT),
rightResolved = layout.getLayoutPadding(YogaEdge.RIGHT),
topResolved = layout.getLayoutPadding(YogaEdge.TOP),
bottomResolved = layout.getLayoutPadding(YogaEdge.BOTTOM))
props[BorderId] =
getInspectableBoxRaw(
layout.getBorderWidth(YogaEdge.LEFT),
layout.getBorderWidth(YogaEdge.TOP),
layout.getBorderWidth(YogaEdge.RIGHT),
layout.getBorderWidth(YogaEdge.BOTTOM),
layout.getBorderWidth(YogaEdge.HORIZONTAL),
layout.getBorderWidth(YogaEdge.VERTICAL),
layout.getBorderWidth(YogaEdge.ALL),
layout.getBorderWidth(YogaEdge.START),
layout.getBorderWidth(YogaEdge.END))
getInspectableBox(
toInspectable(layout.getBorderWidth(YogaEdge.LEFT)),
toInspectable(layout.getBorderWidth(YogaEdge.TOP)),
toInspectable(layout.getBorderWidth(YogaEdge.RIGHT)),
toInspectable(layout.getBorderWidth(YogaEdge.BOTTOM)),
toInspectable(layout.getBorderWidth(YogaEdge.HORIZONTAL)),
toInspectable(layout.getBorderWidth(YogaEdge.VERTICAL)),
toInspectable(layout.getBorderWidth(YogaEdge.ALL)),
toInspectable(layout.getBorderWidth(YogaEdge.START)),
toInspectable(layout.getBorderWidth(YogaEdge.END)),
null, // todo expose layout border from litho
null,
null,
null)
props[PositionId] =
getInspectableBox(
layout.getPosition(YogaEdge.LEFT),
layout.getPosition(YogaEdge.TOP),
layout.getPosition(YogaEdge.RIGHT),
layout.getPosition(YogaEdge.BOTTOM),
layout.getPosition(YogaEdge.HORIZONTAL),
layout.getPosition(YogaEdge.VERTICAL),
layout.getPosition(YogaEdge.ALL),
layout.getPosition(YogaEdge.START),
layout.getPosition(YogaEdge.END))
toInspectable(layout.getPosition(YogaEdge.LEFT)),
toInspectable(layout.getPosition(YogaEdge.TOP)),
toInspectable(layout.getPosition(YogaEdge.RIGHT)),
toInspectable(layout.getPosition(YogaEdge.BOTTOM)),
toInspectable(layout.getPosition(YogaEdge.HORIZONTAL)),
toInspectable(layout.getPosition(YogaEdge.VERTICAL)),
toInspectable(layout.getPosition(YogaEdge.ALL)),
toInspectable(layout.getPosition(YogaEdge.START)),
toInspectable(layout.getPosition(YogaEdge.END)),
null,
null,
null,
null)
val viewOutput: MutableMap<MetadataId, Inspectable> = mutableMapOf()
viewOutput[HasViewOutputId] = InspectableValue.Boolean(layout.hasViewOutput())

View File

@@ -5,8 +5,8 @@
* LICENSE file in the root directory of this source tree.
*/
import com.facebook.flipper.plugins.uidebugger.descriptors.MetadataRegister
import com.facebook.flipper.plugins.uidebugger.litho.descriptors.props.ComponentDataExtractor
import com.facebook.flipper.plugins.uidebugger.model.InspectableArray
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.InspectableValue
import com.facebook.litho.KStateContainer
@@ -16,16 +16,22 @@ import org.junit.Test
class KStateContainerExtractionTest {
@Test
@Throws(Exception::class)
fun testCanExtractKState() {
fun testCanExtractKStateIntoSeparateAttributesByIndex() {
// this test ensures that our reflection based extraction doesn't break if the KState class
// structure changes
val stateContainer = KStateContainer.withNewState(null, "foo")
MetadataRegister.reset()
val stateContainer =
KStateContainer.withNewState(KStateContainer.withNewState(null, "foo"), true)
val result = ComponentDataExtractor.getState(stateContainer, "Comp1")
val first = MetadataRegister.get("kstate", "0")?.id ?: -1
val second = MetadataRegister.get("kstate", "1")?.id ?: -2
assertEquals(
InspectableObject(
mapOf(first to InspectableValue.Text("foo"), second to InspectableValue.Boolean(true))),
result,
InspectableObject(mapOf(1 to InspectableArray(listOf(InspectableValue.Text("foo"))))))
)
}
}

View File

@@ -75,13 +75,13 @@ dependencies {
// Compose
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.activity:activity-ktx:1.7.2'
implementation 'androidx.compose.runtime:runtime:1.4.3'
implementation 'androidx.activity:activity-compose:1.7.2'
implementation 'androidx.compose.ui:ui:1.4.3'
implementation 'androidx.compose.material3:material3:1.1.1'
implementation 'androidx.compose.ui:ui-tooling:1.4.3'
implementation 'androidx.compose.ui:ui-tooling-preview:1.4.3'
implementation 'androidx.activity:activity-ktx:1.8.0'
implementation 'androidx.compose.runtime:runtime:1.5.4'
implementation 'androidx.activity:activity-compose:1.8.0'
implementation 'androidx.compose.ui:ui:1.5.4'
implementation 'androidx.compose.material3:material3:1.1.2'
implementation 'androidx.compose.ui:ui-tooling:1.5.4'
implementation 'androidx.compose.ui:ui-tooling-preview:1.5.4'
// Third-party
implementation deps.soloader

View File

@@ -26,7 +26,6 @@ import com.facebook.flipper.plugins.uidebugger.UIDebuggerFlipperPlugin;
import com.facebook.flipper.plugins.uidebugger.core.UIDContext;
import com.facebook.flipper.plugins.uidebugger.descriptors.DescriptorRegister;
import com.facebook.flipper.plugins.uidebugger.litho.UIDebuggerLithoSupport;
import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory;
import com.facebook.litho.config.ComponentsConfiguration;
import com.facebook.litho.editor.flipper.LithoFlipperDescriptors;
import java.util.Arrays;
@@ -63,7 +62,6 @@ public final class FlipperInitializer {
client.addPlugin(NavigationFlipperPlugin.getInstance());
DescriptorRegister descriptorRegister = DescriptorRegister.Companion.withDefaults();
TreeObserverFactory treeObserverFactory = TreeObserverFactory.Companion.withDefaults();
UIDContext uidContext = UIDContext.Companion.create((Application) context);
UIDebuggerLithoSupport.INSTANCE.enable(uidContext);
UIDebuggerComposeSupport.INSTANCE.enable(uidContext);

View File

@@ -34,7 +34,7 @@ public class AccessibilityRoleUtil {
* <p>https://github.com/google/talkback/blob/master/compositor/src/main/res/raw/compositor.json
*/
public enum AccessibilityRole {
NONE(null, ""),
NONE("android.view.View", ""),
BUTTON("android.widget.Button", "Button"),
CHECK_BOX("android.widget.CompoundButton", "Check box"),
DROP_DOWN_LIST("android.widget.Spinner", "Drop down list"),

View File

@@ -48,7 +48,8 @@ class UIDebuggerFlipperPlugin(val context: UIDContext) : FlipperPlugin {
MetadataUpdateEvent.serializer(),
MetadataUpdateEvent(MetadataRegister.extractPendingMetadata())))
context.treeObserverManager.start()
context.updateQueue.start()
context.decorViewTracker.start()
context.connectionListeners.forEach { it.onConnect() }
}
@@ -59,7 +60,9 @@ class UIDebuggerFlipperPlugin(val context: UIDContext) : FlipperPlugin {
MetadataRegister.reset()
context.treeObserverManager.stop()
context.decorViewTracker.stop()
context.updateQueue.stop()
context.bitmapPool.recycleAll()
context.connectionListeners.forEach { it.onDisconnect() }
context.clearFrameworkEvents()

View File

@@ -12,6 +12,7 @@ import android.app.Activity
import android.app.Application
import android.os.Build
import android.os.Bundle
import android.view.View
import java.lang.ref.WeakReference
import java.lang.reflect.Field
import java.lang.reflect.Method
@@ -103,6 +104,11 @@ object ActivityTracker : Application.ActivityLifecycleCallbacks {
return stack
}
val decorViewToActivityMap: Map<View, Activity>
get() {
return activitiesStack.toList().associateBy { it.window.decorView }
}
/**
* Activity tracker is used to track activities. However, it cannot track via life-cycle events
* all those activities that were created prior to initialisation via the `start(application:

View File

@@ -17,10 +17,11 @@ class ApplicationRef(val application: Application) {
// the root view resolver will contain all root views 100% It is needed for 2 cases:
// 1. In some cases an activity will not be picked up by the activity tracker,
// the root view resolver will at least find the decor view
// the root view resolver will at least find the decor view, this is the case for various
// kinds of custom overlays
// 2. Dialog fragments
val rootsResolver: RootViewResolver = RootViewResolver()
val windowManagerUtility = WindowManagerUtility()
val activitiesStack: List<Activity>
get() {
return ActivityTracker.activitiesStack

View File

@@ -5,18 +5,17 @@
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.flipper.plugins.uidebugger.common
package com.facebook.flipper.plugins.uidebugger.core
import android.graphics.Bitmap
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
/** BitmapPool is intended to be used on the main thread. In other words, it is not thread-safe. */
class BitmapPool(private val config: Bitmap.Config = Bitmap.Config.RGB_565) {
interface ReusableBitmap {
val bitmap: Bitmap?
val bitmap: Bitmap
fun readyForReuse()
}
@@ -57,7 +56,7 @@ class BitmapPool(private val config: Bitmap.Config = Bitmap.Config.RGB_565) {
override fun readyForReuse() {
val key = generateKey(bitmap.width, bitmap.height)
mainScope.launch {
synchronized(this@BitmapPool) {
if (isRecycled) {
bitmap.recycle()
} else {

View File

@@ -0,0 +1,127 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.flipper.plugins.uidebugger.core
import android.app.Activity
import android.util.Log
import android.view.View
import android.view.ViewTreeObserver
import com.facebook.flipper.plugins.uidebugger.LogTag
import com.facebook.flipper.plugins.uidebugger.descriptors.ApplicationRefDescriptor
import com.facebook.flipper.plugins.uidebugger.descriptors.ViewDescriptor
import com.facebook.flipper.plugins.uidebugger.util.StopWatch
import com.facebook.flipper.plugins.uidebugger.util.Throttler
import com.facebook.flipper.plugins.uidebugger.util.objectIdentity
/**
* The UIDebugger does 3 things:
* 1. Observe changes
* 2. Traverse UI hierarchy, gathering tree
* 3. Generate snapshot
*
* All 3 of these stages need to work on the same view else there will be major inconsistencies
*
* The first responsibility of this class is to track changes to root views, find the top most decor
* view and add a pre draw observer to it. There should only ever be one active predraw listener at
* once.
*
* This pre-draw observer triggers a full traversal of the UI, the traversal of the hierarchy might
* skip some branches (active child) so its essential that both the active child decision and top
* root decision match.
*
* The observer also triggers a snapshot, again its essential the same root view as we do for
* traversal and observation
*/
class DecorViewTracker(private val context: UIDContext, private val snapshotter: Snapshotter) {
private var currentDecorView: View? = null
private var preDrawListener: ViewTreeObserver.OnPreDrawListener? = null
private val mStopWatch = StopWatch()
fun start() {
val applicationRef = context.applicationRef
val rootViewListener =
object : RootViewResolver.Listener {
override fun onRootViewAdded(rootView: View) {}
override fun onRootViewRemoved(rootView: View) {}
override fun onRootViewsChanged(rootViews: List<View>) {
// remove predraw listen from current view as its going away or will be covered
Log.i(LogTag, "Removing pre draw listener from ${currentDecorView?.objectIdentity()}")
currentDecorView?.viewTreeObserver?.removeOnPreDrawListener(preDrawListener)
// setup new listener on top most view, that will be the active child in traversal
val decorViewToActivity: Map<View, Activity> = ActivityTracker.decorViewToActivityMap
val topView =
rootViews.lastOrNull { view ->
val activityOrView = decorViewToActivity[view] ?: view
ApplicationRefDescriptor.isUsefulRoot(activityOrView)
}
if (topView != null) {
val throttler =
Throttler(500) { currentDecorView?.let { traverseSnapshotAndSend(it) } }
preDrawListener =
ViewTreeObserver.OnPreDrawListener {
throttler.trigger()
true
}
topView.viewTreeObserver.addOnPreDrawListener(preDrawListener)
currentDecorView = topView
Log.i(LogTag, "Added pre draw listener to ${topView.objectIdentity()}")
// schedule traversal immediately when we detect a new decor view
throttler.trigger()
}
}
}
context.applicationRef.rootsResolver.attachListener(rootViewListener)
// On subscribe, trigger a traversal on whatever roots we have
rootViewListener.onRootViewsChanged(applicationRef.rootsResolver.rootViews())
Log.i(
LogTag,
"Starting tracking root views, currently ${context.applicationRef.rootsResolver.rootViews().size} root views")
}
fun stop() {
context.applicationRef.rootsResolver.attachListener(null)
currentDecorView?.viewTreeObserver?.removeOnPreDrawListener(preDrawListener)
currentDecorView = null
preDrawListener = null
}
private suspend fun traverseSnapshotAndSend(decorView: View) {
val startTimestamp = System.currentTimeMillis()
val (nodes, traversalTime) =
StopWatch.time { context.layoutTraversal.traverse(context.applicationRef) }
val (reusableBitmap, snapshotMs) = StopWatch.timeSuspend { snapshotter.takeSnapshot(decorView) }
context.updateQueue.enqueueUpdate(
Update(
ViewDescriptor.getId(decorView),
nodes,
startTimestamp,
traversalTime,
snapshotMs,
System.currentTimeMillis(),
reusableBitmap))
}
}

View File

@@ -5,15 +5,14 @@
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.flipper.plugins.uidebugger.traversal
package com.facebook.flipper.plugins.uidebugger.core
import android.util.Log
import com.facebook.flipper.plugins.uidebugger.LogTag
import com.facebook.flipper.plugins.uidebugger.descriptors.DescriptorRegister
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
import com.facebook.flipper.plugins.uidebugger.descriptors.NodeDescriptor
import com.facebook.flipper.plugins.uidebugger.model.Node
import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory
import com.facebook.flipper.plugins.uidebugger.model.TraversalError
import com.facebook.flipper.plugins.uidebugger.util.Immediate
import com.facebook.flipper.plugins.uidebugger.util.MaybeDeferred
@@ -23,22 +22,20 @@ import com.facebook.flipper.plugins.uidebugger.util.MaybeDeferred
* - The first item in the pair is the visited nodes.
* - The second item are any observable roots discovered.
*/
class PartialLayoutTraversal(
private val descriptorRegister: DescriptorRegister,
private val treeObserverFactory: TreeObserverFactory,
class LayoutTraversal(
private val context: UIDContext,
) {
@Suppress("unchecked_cast")
internal fun NodeDescriptor<*>.asAny(): NodeDescriptor<Any> = this as NodeDescriptor<Any>
private fun NodeDescriptor<*>.asAny(): NodeDescriptor<Any> = this as NodeDescriptor<Any>
fun traverse(root: Any, parentId: Id?): Pair<List<MaybeDeferred<Node>>, List<Pair<Any, Id?>>> {
fun traverse(root: Any): MutableList<MaybeDeferred<Node>> {
val visited = mutableListOf<MaybeDeferred<Node>>()
val observableRoots = mutableListOf<Pair<Any, Id?>>()
// cur and parent Id
val stack = mutableListOf<Pair<Any, Id?>>()
stack.add(Pair(root, parentId))
stack.add(Pair(root, null))
val shallow = mutableSetOf<Any>()
@@ -46,13 +43,9 @@ class PartialLayoutTraversal(
val (node, parentId) = stack.removeLast()
try {
// If we encounter a node that has it own observer, don't traverse
if (node != root && treeObserverFactory.hasObserverFor(node)) {
observableRoots.add((node to parentId))
continue
}
val descriptor = descriptorRegister.descriptorForClassUnsafe(node::class.java).asAny()
val descriptor =
context.descriptorRegister.descriptorForClassUnsafe(node::class.java).asAny()
val curId = descriptor.getId(node)
if (shallow.contains(node)) {
@@ -82,13 +75,13 @@ class PartialLayoutTraversal(
var activeChildId: Id? = null
if (activeChild != null) {
val activeChildDescriptor =
descriptorRegister.descriptorForClassUnsafe(activeChild.javaClass)
context.descriptorRegister.descriptorForClassUnsafe(activeChild.javaClass)
activeChildId = activeChildDescriptor.getId(activeChild)
}
val childrenIds = mutableListOf<Id>()
children.forEach { child ->
val childDescriptor = descriptorRegister.descriptorForClassUnsafe(child.javaClass)
val childDescriptor = context.descriptorRegister.descriptorForClassUnsafe(child.javaClass)
childrenIds.add(childDescriptor.getId(child))
stack.add(Pair(child, curId))
// If there is an active child then don't traverse it
@@ -117,9 +110,15 @@ class PartialLayoutTraversal(
})
} catch (exception: Exception) {
Log.e(LogTag, "Error while processing node ${node.javaClass.name} $node", exception)
context.onError(
TraversalError(
node.javaClass.simpleName,
exception.javaClass.simpleName,
exception.message ?: "",
exception.stackTraceToString()))
}
}
return Pair(visited, observableRoots)
return visited
}
}

View File

@@ -10,12 +10,14 @@ package com.facebook.flipper.plugins.uidebugger.core
import android.annotation.SuppressLint
import android.os.Build
import android.view.View
import com.facebook.flipper.plugins.uidebugger.util.WindowManagerCommon
import java.lang.reflect.Field
import java.lang.reflect.InvocationTargetException
import java.lang.reflect.Modifier
/**
* Provides access to all root views in an application.
* Provides access to all root views in an application, as well as the ability to listen to changes
* in root views
*
* 95% of the time this is unnecessary and we can operate solely on current Activity's root view as
* indicated by getWindow().getDecorView(). However in the case of popup windows, menus, and dialogs
@@ -67,15 +69,13 @@ class RootViewResolver {
private fun initialize() {
initialized = true
val accessClass =
if (Build.VERSION.SDK_INT > 16) WINDOW_MANAGER_GLOBAL_CLAZZ else WINDOW_MANAGER_IMPL_CLAZZ
val instanceMethod = if (Build.VERSION.SDK_INT > 16) GET_GLOBAL_INSTANCE else GET_DEFAULT_IMPL
try {
val clazz = Class.forName(accessClass)
val getMethod = clazz.getMethod(instanceMethod)
windowManagerObj = getMethod.invoke(null)
val viewsField: Field = clazz.getDeclaredField(VIEWS_FIELD)
val (windowManager, windowManagerClas) =
WindowManagerCommon.getGlobalWindowManager() ?: return
windowManagerObj = windowManager
val viewsField: Field = windowManagerClas.getDeclaredField(VIEWS_FIELD)
viewsField.let { vf ->
vf.isAccessible = true
@@ -98,11 +98,7 @@ class RootViewResolver {
}
companion object {
private const val WINDOW_MANAGER_IMPL_CLAZZ = "android.view.WindowManagerImpl"
private const val WINDOW_MANAGER_GLOBAL_CLAZZ = "android.view.WindowManagerGlobal"
private const val VIEWS_FIELD = "mViews"
private const val GET_DEFAULT_IMPL = "getDefault"
private const val GET_GLOBAL_INSTANCE = "getInstance"
}
class ObservableViewArrayList : ArrayList<View>() {

View File

@@ -0,0 +1,168 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.flipper.plugins.uidebugger.core
import android.app.Activity
import android.graphics.Canvas
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.view.PixelCopy
import android.view.View
import androidx.annotation.RequiresApi
import com.facebook.flipper.plugins.uidebugger.LogTag
import kotlin.coroutines.Continuation
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
interface Snapshotter {
suspend fun takeSnapshot(view: View): BitmapPool.ReusableBitmap?
}
/**
* Takes a snapshot by redrawing the view into a bitmap backed canvas, Since this is software
* rendering there can be discrepancies between the real image and the snapshot:
* 1. It can be unreliable when snapshotting views that are added directly to window manager
* 2. It doesn't include certain types of content (video / images)
*/
class CanvasSnapshotter(private val bitmapPool: BitmapPool) : Snapshotter {
override suspend fun takeSnapshot(view: View): BitmapPool.ReusableBitmap? {
return SnapshotCommon.doSnapshotWithErrorHandling(bitmapPool, view, fallback = null) { bitmap ->
val canvas = Canvas(bitmap.bitmap)
view.draw(canvas)
true
}
}
}
/**
* Uses the new api to snapshot any view regardless whether its attached to a activity or not,
* requires no hacks
*/
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
class ModernPixelCopySnapshotter(
private val bitmapPool: BitmapPool,
private val fallback: Snapshotter
) : Snapshotter {
private var handler = Handler(Looper.getMainLooper())
override suspend fun takeSnapshot(view: View): BitmapPool.ReusableBitmap? {
return if (view.isHardwareAccelerated) {
SnapshotCommon.doSnapshotWithErrorHandling(bitmapPool, view, fallback) { reusableBitmap ->
suspendCoroutine { continuation ->
// Since android U this api is actually async
val request =
PixelCopy.Request.Builder.ofWindow(view)
.setDestinationBitmap(reusableBitmap.bitmap)
.build()
PixelCopy.request(
request,
{ handler.post(it) },
{ continuation.resume(it.status == PixelCopy.SUCCESS) })
}
}
} else {
fallback.takeSnapshot(view)
}
}
}
/**
* Uses pixel copy api to do a snapshot, this is accurate but prior to android U we have to use a
* bit of hack to get the surface for root views not associated to an activity (added directly to
* the window manager)
*/
@RequiresApi(Build.VERSION_CODES.O)
class PixelCopySnapshotter(
private val bitmapPool: BitmapPool,
private val applicationRef: ApplicationRef,
private val fallback: Snapshotter
) : Snapshotter {
private var handler = Handler(Looper.getMainLooper())
override suspend fun takeSnapshot(view: View): BitmapPool.ReusableBitmap? {
return if (view.isHardwareAccelerated) {
SnapshotCommon.doSnapshotWithErrorHandling(bitmapPool, view, fallback) {
tryCopyViaActivityWindow(view, it) || tryCopyViaInternalSurface(view, it)
}
} else {
fallback.takeSnapshot(view)
}
}
private suspend fun tryCopyViaActivityWindow(
view: View,
bitmap: BitmapPool.ReusableBitmap
): Boolean {
val decorViewToActivity: Map<View, Activity> = ActivityTracker.decorViewToActivityMap
val activityForDecorView = decorViewToActivity[view] ?: return false
return suspendCoroutine { continuation ->
PixelCopy.request(
activityForDecorView.window, bitmap.bitmap, pixelCopyCallback(continuation), handler)
}
}
private suspend fun tryCopyViaInternalSurface(
view: View,
bitmap: BitmapPool.ReusableBitmap
): Boolean {
val surface = applicationRef.windowManagerUtility.surfaceForRootView(view) ?: return false
return suspendCoroutine { continuation ->
PixelCopy.request(surface, bitmap.bitmap, pixelCopyCallback(continuation), handler)
}
}
private fun pixelCopyCallback(continuation: Continuation<Boolean>): (Int) -> Unit =
{ result: Int ->
if (result == PixelCopy.SUCCESS) {
continuation.resume(true)
} else {
Log.w(LogTag, "Pixel copy failed, code $result")
continuation.resume(false)
}
}
}
internal object SnapshotCommon {
internal suspend fun doSnapshotWithErrorHandling(
bitmapPool: BitmapPool,
view: View,
fallback: Snapshotter?,
snapshotStrategy: suspend (reuseableBitmap: BitmapPool.ReusableBitmap) -> Boolean
): BitmapPool.ReusableBitmap? {
if (view.width <= 0 || view.height <= 0) {
return null
}
var reusableBitmap: BitmapPool.ReusableBitmap? = null
try {
reusableBitmap = bitmapPool.getBitmap(view.width, view.height)
if (snapshotStrategy(reusableBitmap)) {
return reusableBitmap
}
} catch (e: OutOfMemoryError) {
Log.e(LogTag, "OOM when taking snapshot")
} catch (e: Exception) {
// there was some problem with the pixel copy, fall back to canvas impl
Log.e(LogTag, "Exception when taking snapshot", e)
}
// something went wrong, use fallback, make sure to give bitmap back to pool first
Log.i(LogTag, "Using fallback snapshot method")
reusableBitmap?.readyForReuse()
return fallback?.takeSnapshot(view)
}
}

View File

@@ -8,15 +8,15 @@
package com.facebook.flipper.plugins.uidebugger.core
import android.app.Application
import android.os.Build
import android.util.Log
import com.facebook.flipper.core.FlipperConnection
import com.facebook.flipper.plugins.uidebugger.common.BitmapPool
import com.facebook.flipper.plugins.uidebugger.LogTag
import com.facebook.flipper.plugins.uidebugger.descriptors.DescriptorRegister
import com.facebook.flipper.plugins.uidebugger.model.FrameworkEvent
import com.facebook.flipper.plugins.uidebugger.model.FrameworkEventMetadata
import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory
import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverManager
import com.facebook.flipper.plugins.uidebugger.scheduler.SharedThrottle
import com.facebook.flipper.plugins.uidebugger.traversal.PartialLayoutTraversal
import com.facebook.flipper.plugins.uidebugger.model.TraversalError
import kotlinx.serialization.json.Json
interface ConnectionListener {
fun onConnect()
@@ -28,23 +28,39 @@ class UIDContext(
val applicationRef: ApplicationRef,
val connectionRef: ConnectionRef,
val descriptorRegister: DescriptorRegister,
val observerFactory: TreeObserverFactory,
val frameworkEventMetadata: MutableList<FrameworkEventMetadata>,
val connectionListeners: MutableList<ConnectionListener>,
private val pendingFrameworkEvents: MutableList<FrameworkEvent>
) {
val layoutTraversal: PartialLayoutTraversal =
PartialLayoutTraversal(descriptorRegister, observerFactory)
val treeObserverManager = TreeObserverManager(this)
val sharedThrottle: SharedThrottle = SharedThrottle()
val bitmapPool = BitmapPool()
private val canvasSnapshotter = CanvasSnapshotter(bitmapPool)
private val snapshotter =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
ModernPixelCopySnapshotter(bitmapPool, canvasSnapshotter)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
PixelCopySnapshotter(bitmapPool, applicationRef, canvasSnapshotter)
} else {
Log.w(
LogTag,
"Using legacy snapshot mode, use device with API level >=26 to for pixel copy snapshot ")
canvasSnapshotter
}
val decorViewTracker: DecorViewTracker = DecorViewTracker(this, snapshotter)
val updateQueue: UpdateQueue = UpdateQueue(this)
val layoutTraversal: LayoutTraversal = LayoutTraversal(this)
fun addFrameworkEvent(frameworkEvent: FrameworkEvent) {
synchronized(pendingFrameworkEvents) { pendingFrameworkEvents.add(frameworkEvent) }
}
fun onError(traversalError: TraversalError) {
connectionRef.connection?.send(
TraversalError.name, Json.encodeToString(TraversalError.serializer(), traversalError))
}
fun extractPendingFrameworkEvents(): List<FrameworkEvent> {
synchronized(pendingFrameworkEvents) {
val copy = pendingFrameworkEvents.toList()
@@ -63,7 +79,6 @@ class UIDContext(
ApplicationRef(application),
ConnectionRef(null),
descriptorRegister = DescriptorRegister.withDefaults(),
observerFactory = TreeObserverFactory.withDefaults(),
frameworkEventMetadata = mutableListOf(),
connectionListeners = mutableListOf(),
pendingFrameworkEvents = mutableListOf())

View File

@@ -0,0 +1,163 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.flipper.plugins.uidebugger.core
import android.annotation.SuppressLint
import android.graphics.Bitmap
import android.util.Base64
import android.util.Base64OutputStream
import android.util.Log
import com.facebook.flipper.plugins.uidebugger.LogTag
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
import com.facebook.flipper.plugins.uidebugger.descriptors.MetadataRegister
import com.facebook.flipper.plugins.uidebugger.model.FrameScanEvent
import com.facebook.flipper.plugins.uidebugger.model.MetadataUpdateEvent
import com.facebook.flipper.plugins.uidebugger.model.Node
import com.facebook.flipper.plugins.uidebugger.model.PerfStatsEvent
import com.facebook.flipper.plugins.uidebugger.model.Snapshot
import com.facebook.flipper.plugins.uidebugger.model.TraversalError
import com.facebook.flipper.plugins.uidebugger.util.MaybeDeferred
import com.facebook.flipper.plugins.uidebugger.util.StopWatch
import java.io.ByteArrayOutputStream
import kotlinx.coroutines.*
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.Channel.Factory.CONFLATED
import kotlinx.serialization.json.Json
data class Update(
val snapshotNode: Id,
val deferredNodes: List<MaybeDeferred<Node>>,
val startTimestamp: Long,
val traversalMS: Long,
val snapshotMS: Long,
val queuedTimestamp: Long,
val snapshotBitmap: BitmapPool.ReusableBitmap?
)
/**
* Holds an update and manages a coroutine which serially reads from queue and sends to flipper
* desktop
*/
class UpdateQueue(val context: UIDContext) {
// conflated channel means we only hold 1 item and newer values override older ones,
// there is no point processing frames that the desktop cant keep up with since we only display
// the latest
private val frameChannel = Channel<Update>(CONFLATED)
private var job: Job? = null
private val workerScope = CoroutineScope(Dispatchers.IO)
private val stopWatch = StopWatch()
fun enqueueUpdate(update: Update) {
frameChannel.trySend(update)
}
/**
* 1. Sets up the root observer
* 2. Starts worker to listen to channel, which serializers and sends data over connection
*/
@SuppressLint("NewApi")
fun start() {
job =
workerScope.launch {
while (isActive) {
try {
val update = frameChannel.receive()
sendUpdate(update)
} catch (e: CancellationException) {} catch (e: java.lang.Exception) {
Log.e(LogTag, "Unexpected Error in channel ", e)
}
}
Log.i(LogTag, "Shutting down worker")
}
}
fun stop() {
job?.cancel()
job = null
// drain channel
frameChannel.tryReceive()
}
private fun sendUpdate(update: Update) {
val queuingTimeMs = System.currentTimeMillis() - update.queuedTimestamp
stopWatch.start()
val nodes =
try {
update.deferredNodes.map { it.value() }
} catch (exception: Exception) {
context.onError(
TraversalError(
"DeferredProcessing",
exception.javaClass.simpleName,
exception.message ?: "",
exception.stackTraceToString()))
return
}
val deferredComputationEndTimestamp = stopWatch.stop()
val frameworkEvents = context.extractPendingFrameworkEvents()
var snapshot: Snapshot? = null
if (update.snapshotBitmap != null) {
val stream = ByteArrayOutputStream()
val base64Stream = Base64OutputStream(stream, Base64.DEFAULT)
update.snapshotBitmap.bitmap.compress(Bitmap.CompressFormat.PNG, 100, base64Stream)
snapshot = Snapshot(update.snapshotNode, stream.toString())
update.snapshotBitmap.readyForReuse()
}
// it is important this comes after deferred processing since the deferred processing can create
// metadata
sendMetadata()
val (serialized, serializationTimeMs) =
StopWatch.time {
Json.encodeToString(
FrameScanEvent.serializer(),
FrameScanEvent(update.startTimestamp, nodes, snapshot, frameworkEvents))
}
val (_, sendTimeMs) =
StopWatch.time { context.connectionRef.connection?.send(FrameScanEvent.name, serialized) }
// Note about payload size:
// Payload size is an approximation as it assumes all characters
// are ASCII encodable, this should be true for most of the payload content.
// So, assume each character will at most occupy one byte.
val perfStats =
PerfStatsEvent(
txId = update.startTimestamp,
nodesCount = nodes.size,
start = update.startTimestamp,
traversalMS = update.traversalMS,
snapshotMS = update.snapshotMS,
queuingMS = queuingTimeMs,
deferredComputationMS = deferredComputationEndTimestamp,
serializationMS = serializationTimeMs,
socketMS = sendTimeMs,
payloadSize = serialized.length)
context.connectionRef.connection?.send(
PerfStatsEvent.name, Json.encodeToString(PerfStatsEvent.serializer(), perfStats))
}
private fun sendMetadata() {
val metadata = MetadataRegister.extractPendingMetadata()
if (metadata.isNotEmpty()) {
context.connectionRef.connection?.send(
MetadataUpdateEvent.name,
Json.encodeToString(MetadataUpdateEvent.serializer(), MetadataUpdateEvent(metadata)))
}
}
}

View File

@@ -0,0 +1,93 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.flipper.plugins.uidebugger.core
import android.annotation.SuppressLint
import android.util.Log
import android.view.Surface
import android.view.View
import com.facebook.flipper.plugins.uidebugger.LogTag
import com.facebook.flipper.plugins.uidebugger.util.WindowManagerCommon
import java.lang.reflect.Field
/**
* This class is related to root view resolver, it also accesses parts of the global window manager
*/
class WindowManagerUtility {
private var initialized = false
// type is RootViewImpl
private var rootsImpls: ArrayList<*>? = null
private var mSurfaceField: Field? = null
private var mViewField: Field? = null
/**
* Find the surface for a given root view to allow snapshotting with pixelcopy. In the window
* manager there exists 2 arrays that contain similar data
* 1. mViews (this is what we track in the observable array in the root view resolver), these are
* the root decor views
* 2. mRoots - this is an internal class that holds a reference to the decor view as well as other
* internal bits (including the surface).
*
* Therefore we go through the roots and check for a view that matches the target, if it
* matches we return the surface. It is possible for us to observe these 2 arrays slightly out
* of sync with each other which is why we do this equality matching on the view field
*
* The reason we do this and not just grab the last view is because sometimes there is a
* 'empty' root view at the top we need to ignore. The decision to decide which view to
* snapshot is done else where as it needs to be synced with the observation and traversal
*/
fun surfaceForRootView(rootView: View): Surface? {
if (!initialized) {
initialize()
}
val roots = rootsImpls ?: return null
for (i in roots.size - 1 downTo 0) {
val rootViewImpl = roots[i]
val view = mViewField?.get(rootViewImpl)
if (view == rootView) {
return mSurfaceField?.get(rootViewImpl) as? Surface
}
}
return null
}
@SuppressLint("PrivateApi")
private fun initialize() {
try {
val (windowManager, windowManagerClass) =
WindowManagerCommon.getGlobalWindowManager() ?: return
val rootsField: Field = windowManagerClass.getDeclaredField(ROOTS_FIELD)
rootsField.isAccessible = true
rootsImpls = rootsField.get(windowManager) as ArrayList<*>?
val rootViewImplClass = Class.forName(VIEW_ROOT_IMPL_CLAZZ)
mSurfaceField = rootViewImplClass.getDeclaredField(SURFACE_FIELD)
mSurfaceField?.isAccessible = true
mViewField = rootViewImplClass.getDeclaredField(VIEW_FIELD)
mViewField?.isAccessible = true
initialized = true
} catch (exception: Exception) {
Log.e(LogTag, "Failed to initialize WindowManagerUtility", exception)
}
}
companion object {
private const val VIEW_ROOT_IMPL_CLAZZ = "android.view.ViewRootImpl"
private const val SURFACE_FIELD = "mSurface"
private const val VIEW_FIELD = "mView"
private const val ROOTS_FIELD = "mRoots"
}
}

View File

@@ -10,6 +10,7 @@ package com.facebook.flipper.plugins.uidebugger.descriptors
import android.app.Activity
import android.view.View
import android.view.ViewGroup
import com.facebook.flipper.plugins.uidebugger.core.ActivityTracker
import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.util.DisplayMetrics
@@ -18,15 +19,7 @@ object ApplicationRefDescriptor : ChainedDescriptor<ApplicationRef>() {
override fun onGetActiveChild(node: ApplicationRef): Any? {
val children = onGetChildren(node)
if (children.isNotEmpty()) {
val last = children.last()
if (last.javaClass.simpleName.contains("OverlayHandlerView")) {
return children.getOrNull(children.size - 2)
}
return last
}
return null
return children.lastOrNull(ApplicationRefDescriptor::isUsefulRoot)
}
override fun onGetBounds(node: ApplicationRef): Bounds = DisplayMetrics.getDisplayBounds()
@@ -41,26 +34,51 @@ object ApplicationRefDescriptor : ChainedDescriptor<ApplicationRef>() {
override fun onGetChildren(node: ApplicationRef): List<Any> {
val children = mutableListOf<Any>()
val activeRoots = node.rootsResolver.rootViews()
val rootViews = node.rootsResolver.rootViews()
val decorViewToActivity: Map<View, Activity> =
node.activitiesStack.toList().map { it.window.decorView to it }.toMap()
val decorViewToActivity: Map<View, Activity> = ActivityTracker.decorViewToActivityMap
for (root in activeRoots) {
for (root in rootViews) {
// if there is an activity for this root view use that,
// if not just return the mystery floating decor view
// if not just return the root view that was added directly to the window manager
val activity = decorViewToActivity[root]
if (activity != null) {
children.add(activity)
} else {
if (root is ViewGroup && root.childCount > 0) {
// sometimes there is a root view on top that has no children and we dont want to add
// these as they will become active
children.add(root)
}
children.add(root)
}
}
return children
}
/**
* arg is either an acitivity if the root view has one other views the root view attached to the
* window manager returns boolean indicating whether we are interested in it and whether we should
* track, traverse and snapshot it
*/
fun isUsefulRoot(rootViewOrActivity: Any): Boolean {
val className = rootViewOrActivity.javaClass.name
if (className.contains("mediagallery.ui.MediaGalleryActivity")) {
// this activity doesn't contain the content and its actually in the decor view behind it, so
// skip it :/
return false
}
if (rootViewOrActivity is Activity) {
// in general we want views attached to activities
return true
}
val isFoldableOverlayInfraView = className.contains("OverlayHandlerView")
return if (isFoldableOverlayInfraView) {
false
} else if (rootViewOrActivity is ViewGroup) {
// sometimes there is a root view on top that has no children that isn't useful to inspect
rootViewOrActivity.childCount > 0
} else {
false
}
}
}

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import android.graphics.Bitmap
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
@@ -133,15 +132,6 @@ abstract class ChainedDescriptor<T> : NodeDescriptor<T> {
*/
open fun onGetAttributes(node: T, attributeSections: MutableMap<MetadataId, InspectableObject>) {}
/** Get a snapshot of the node. */
final override fun getSnapshot(node: T, bitmap: Bitmap?): Bitmap? {
return onGetSnapshot(node, bitmap) ?: mSuper?.onGetSnapshot(node, bitmap)
}
open fun onGetSnapshot(node: T, bitmap: Bitmap?): Bitmap? {
return null
}
final override fun getInlineAttributes(node: T): Map<String, String> {
val builder = mutableMapOf<String, String>()

View File

@@ -16,8 +16,8 @@ import android.view.Window
import android.widget.ImageView
import android.widget.TextView
import androidx.viewpager.widget.ViewPager
import com.facebook.flipper.plugins.uidebugger.common.UIDebuggerException
import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef
import com.facebook.flipper.plugins.uidebugger.util.UIDebuggerException
class DescriptorRegister {
private val register: MutableMap<Class<*>, NodeDescriptor<*>> = HashMap()

View File

@@ -9,12 +9,12 @@ package com.facebook.flipper.plugins.uidebugger.descriptors
import android.widget.ImageView
import android.widget.ImageView.ScaleType
import com.facebook.flipper.plugins.uidebugger.common.EnumMapping
import com.facebook.flipper.plugins.uidebugger.common.enumMapping
import com.facebook.flipper.plugins.uidebugger.common.enumToInspectableSet
import com.facebook.flipper.plugins.uidebugger.model.Inspectable
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
import com.facebook.flipper.plugins.uidebugger.util.EnumMapping
import com.facebook.flipper.plugins.uidebugger.util.enumMapping
import com.facebook.flipper.plugins.uidebugger.util.enumToInspectableSet
object ImageViewDescriptor : ChainedDescriptor<ImageView>() {

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import android.graphics.Bitmap
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
@@ -58,13 +57,6 @@ interface NodeDescriptor<T> {
/** The children this node exposes in the inspector. */
fun getChildren(node: T): List<Any>
/**
* Get a snapshot of the node. Bitmaps are not cheap to create, so accept one as an optional
* parameter. If a bitmap is provided, it will be used by the canvas to draw on it. Otherwise, a
* bitmap will be created.
*/
fun getSnapshot(node: T, bitmap: Bitmap?): Bitmap? = null
/**
* If you have overlapping children this indicates which child is active / on top, we will only
* listen to / traverse this child. If return null we assume all children are 'active'

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import android.graphics.Bitmap
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
@@ -34,6 +33,4 @@ object ObjectDescriptor : NodeDescriptor<Any> {
override fun getBounds(node: Any): Bounds = Bounds(0, 0, 0, 0)
override fun getTags(node: Any): Set<String> = setOf(BaseTags.Unknown)
override fun getSnapshot(node: Any, bitmap: Bitmap?): Bitmap? = null
}

View File

@@ -7,7 +7,6 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import android.graphics.Bitmap
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
@@ -42,7 +41,4 @@ object OffsetChildDescriptor : NodeDescriptor<OffsetChild> {
node.descriptor.getAttributes(node.child)
override fun getTags(node: OffsetChild): Set<String> = node.descriptor.getTags(node.child)
override fun getSnapshot(node: OffsetChild, bitmap: Bitmap?): Bitmap? =
node.descriptor.getSnapshot(node.child, bitmap)
}

View File

@@ -8,8 +8,6 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import android.annotation.SuppressLint
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.Rect
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
@@ -21,8 +19,8 @@ import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.LinearLayout
import androidx.viewpager.widget.ViewPager
import com.facebook.flipper.plugins.uidebugger.common.*
import com.facebook.flipper.plugins.uidebugger.model.*
import com.facebook.flipper.plugins.uidebugger.util.EnumMapping
import com.facebook.flipper.plugins.uidebugger.util.ResourcesUtil
import java.lang.reflect.Field
import kotlinx.serialization.json.JsonElement
@@ -380,30 +378,6 @@ object ViewDescriptor : ChainedDescriptor<View>() {
attributes["id"] = value
}
override fun onGetSnapshot(node: View, bitmap: Bitmap?): Bitmap? {
if (node.width <= 0 || node.height <= 0) {
return null
}
var workingBitmap = bitmap
try {
val differentSize =
if (bitmap != null) (node.width != bitmap.width || node.height != bitmap.height)
else false
if (workingBitmap == null || differentSize) {
val viewWidth: Int = node.width
val viewHeight: Int = node.height
workingBitmap = BitmapPool.createBitmapWithDefaultConfig(viewWidth, viewHeight)
}
val canvas = Canvas(workingBitmap)
node.draw(canvas)
} catch (e: OutOfMemoryError) {}
return workingBitmap
}
private fun fromDrawable(d: Drawable?): Inspectable? {
return if (d is ColorDrawable) {
InspectableValue.Color(Color.fromColor(d.color))

View File

@@ -11,9 +11,9 @@ import android.os.Build
import android.view.View
import android.view.ViewGroup
import androidx.core.view.ViewGroupCompat
import com.facebook.flipper.plugins.uidebugger.common.EnumMapping
import com.facebook.flipper.plugins.uidebugger.core.FragmentTracker
import com.facebook.flipper.plugins.uidebugger.model.*
import com.facebook.flipper.plugins.uidebugger.util.EnumMapping
object ViewGroupDescriptor : ChainedDescriptor<ViewGroup>() {

View File

@@ -23,6 +23,9 @@ object ViewPagerDescriptor : ChainedDescriptor<ViewPager>() {
override fun onGetActiveChild(node: ViewPager): Any? {
val child = node.getChildAt(node.currentItem)
if (child == null) {
return null
}
val fragment = FragmentTracker.getFragment(child)
if (fragment != null) {
return fragment

View File

@@ -10,21 +10,21 @@ package com.facebook.flipper.plugins.uidebugger.model
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
@kotlinx.serialization.Serializable
data class InitEvent(val rootId: Id, val frameworkEventMetadata: List<FrameworkEventMetadata>) {
class InitEvent(val rootId: Id, val frameworkEventMetadata: List<FrameworkEventMetadata>) {
companion object {
const val name = "init"
}
}
@kotlinx.serialization.Serializable
data class MetadataUpdateEvent(val attributeMetadata: Map<MetadataId, Metadata> = emptyMap()) {
class MetadataUpdateEvent(val attributeMetadata: Map<MetadataId, Metadata> = emptyMap()) {
companion object {
const val name = "metadataUpdate"
}
}
@kotlinx.serialization.Serializable
data class FrameScanEvent(
class FrameScanEvent(
val frameTime: Long,
val nodes: List<Node>,
val snapshot: Snapshot?,
@@ -35,13 +35,24 @@ data class FrameScanEvent(
}
}
@kotlinx.serialization.Serializable data class Snapshot(val nodeId: Id, val data: String)
@kotlinx.serialization.Serializable
class TraversalError(
val nodeName: String,
val errorType: String,
val errorMessage: String,
val stack: String
) {
companion object {
const val name = "traversalError"
}
}
@kotlinx.serialization.Serializable class Snapshot(val nodeId: Id, val data: String)
/** Separate optional performance statistics event */
@kotlinx.serialization.Serializable
data class PerfStatsEvent(
class PerfStatsEvent(
val txId: Long,
val observerType: String,
val nodesCount: Int,
val start: Long,
val traversalMS: Long,

View File

@@ -10,13 +10,13 @@ package com.facebook.flipper.plugins.uidebugger.model
import com.facebook.flipper.plugins.uidebugger.descriptors.Id
@kotlinx.serialization.Serializable
data class FrameworkEventMetadata(
class FrameworkEventMetadata(
val type: String,
val documentation: String,
)
@kotlinx.serialization.Serializable
data class FrameworkEvent(
class FrameworkEvent(
val treeId: Id,
val nodeId: Id,
val type: String,

View File

@@ -17,7 +17,7 @@ typealias MetadataId = Int
* identity, attributes, layout, documentation, or a custom type.
*/
@kotlinx.serialization.Serializable
data class Metadata(
class Metadata(
val id: MetadataId,
val type: String,
val namespace: String,

Some files were not shown because too many files have changed in this diff Show More