Compare commits

..

255 Commits

Author SHA1 Message Date
0c4d607788 Merge branch 'main' of github.com:facebook/flipper into universalBuild 2023-11-29 09:19:25 +01:00
Lorenzo Blasa
57584a38fa Electron distribution announcement
Summary:
Update our README file with an announcement of our distribution change. I will pair the announcement with an update to our GitHub workflow as to not produce any more Electron builds for future releases.

Changelog: Flipper Electron distribution change announcement.

Reviewed By: aigoncharov

Differential Revision: D51616454

fbshipit-source-id: 5ff513b3d99c8100ed8241d1bdafebf1d6dcfa10
2023-11-28 09:03:54 -08:00
Andrey Goncharov
24fa44448e Use SESSION_ID
Reviewed By: lblasa

Differential Revision: D51585227

fbshipit-source-id: e5574a27b77311b699630a30f72a2d67187ed544
2023-11-28 06:51:03 -08:00
dependabot[bot]
272b96f1d4 Bump data-encoding from 2.4.0 to 2.5.0 in /packer (#5310)
Summary:
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.4.0 to 2.5.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/ia0/data-encoding/commits">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=data-encoding&package-manager=cargo&previous-version=2.4.0&new-version=2.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

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

Reviewed By: mweststrate

Differential Revision: D51588872

Pulled By: passy

fbshipit-source-id: bbce09141bf6adf384fad0ae2cc6d91f5b36af6e
2023-11-28 05:34:00 -08:00
Richard Zito
f24d7dbf6a CKComponentViewContext -> RCComponentViewContext
Summary: This lives in RenderCore, it should have an RC prefix.

Differential Revision: D51586116

fbshipit-source-id: 102c71f68d6505d34b5a4aac2bd97a49dcaf8408
2023-11-28 04:46:33 -08:00
Anton Kastritskiy
ba6133e38a Ask to restart flipper to pick up ios SDK
Summary: Running a check is run it only executes the `run` function. The `run` function for `ios.sdk` is a pure function that detects if ios SDK available from `EnvironmentInfo`. This info is picked up when flipper first started. Even if you installed ios SDK flipper won't pick it up while running. Restarting flipper will pick up the SDK and make it available. We should be clear about it.

Reviewed By: mweststrate

Differential Revision: D51614258

fbshipit-source-id: 8b2a8b5b94ec0038acf9f383e55e166c52b2ccab
2023-11-28 04:39:59 -08:00
dependabot[bot]
1a4c602fd8 Bump serde from 1.0.188 to 1.0.193 in /packer (#5311)
Summary:
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.188 to 1.0.193.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.193</h2>
<ul>
<li>Fix field names used for the deserialization of <code>RangeFrom</code> and <code>RangeTo</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2653">https://github.com/facebook/flipper/issues/2653</a>, <a href="https://redirect.github.com/serde-rs/serde/issues/2654">https://github.com/facebook/flipper/issues/2654</a>, <a href="https://redirect.github.com/serde-rs/serde/issues/2655">https://github.com/facebook/flipper/issues/2655</a>, thanks <a href="https://github.com/emilbonnek"><code>@​emilbonnek</code></a>)</li>
</ul>
<h2>v1.0.192</h2>
<ul>
<li>Allow internal tag field in untagged variant (<a href="https://redirect.github.com/serde-rs/serde/issues/2646">https://github.com/facebook/flipper/issues/2646</a>, thanks <a href="https://github.com/robsdedude"><code>@​robsdedude</code></a>)</li>
</ul>
<h2>v1.0.191</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>v1.0.190</h2>
<ul>
<li>Preserve NaN sign when deserializing f32 from f64 or vice versa (<a href="https://redirect.github.com/serde-rs/serde/issues/2637">https://github.com/facebook/flipper/issues/2637</a>)</li>
</ul>
<h2>v1.0.189</h2>
<ul>
<li>Fix &quot;cannot infer type&quot; error when internally tagged enum contains untagged variant (<a href="https://redirect.github.com/serde-rs/serde/issues/2613">https://github.com/facebook/flipper/issues/2613</a>, thanks <a href="https://github.com/ahl"><code>@​ahl</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="44613c7d01"><code>44613c7</code></a> Release 1.0.193</li>
<li><a href="c706281df3"><code>c706281</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2655">https://github.com/facebook/flipper/issues/2655</a> from dtolnay/rangestartend</li>
<li><a href="65d75b8fe3"><code>65d75b8</code></a> Add RangeFrom and RangeTo tests</li>
<li><a href="332b0cba40"><code>332b0cb</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2654">https://github.com/facebook/flipper/issues/2654</a> from dtolnay/rangestartend</li>
<li><a href="8c4af41296"><code>8c4af41</code></a> Fix more RangeFrom / RangeEnd mixups</li>
<li><a href="24a78f071b"><code>24a78f0</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2653">https://github.com/facebook/flipper/issues/2653</a> from emilbonnek/fix/range-to-from-de-mixup</li>
<li><a href="c91c33436d"><code>c91c334</code></a> Fix Range{From,To} deserialize mixup</li>
<li><a href="2083f43a28"><code>2083f43</code></a> Update ui test suite to nightly-2023-11-19</li>
<li><a href="4676abdc9e"><code>4676abd</code></a> Release 1.0.192</li>
<li><a href="35700eb23e"><code>35700eb</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2646">https://github.com/facebook/flipper/issues/2646</a> from robsdedude/fix/2643/allow-tag-field-in-untagged</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.188...v1.0.193">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.188&new-version=1.0.193)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

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

Reviewed By: mweststrate

Differential Revision: D51588875

Pulled By: passy

fbshipit-source-id: 14d7861ca16790b353f4a9d3bfd09750366080ea
2023-11-28 03:47:27 -08:00
Anton Kastritskiy
3b1763bd7d explicit instructions for idb
Summary: Add explicit instructions how to install idb internally

Reviewed By: LukeDefeo

Differential Revision: D51600754

fbshipit-source-id: c40d5d07c4cb570a7c51699ce0e4b8a67c506147
2023-11-28 03:40:23 -08:00
Anton Kastritskiy
4e10bb1b43 Back out "remove shortcuts"
Summary:
Original commit changeset: fbb59b416f92

Original Phabricator Diff: D51159922

Reviewed By: lblasa

Differential Revision: D51586735

fbshipit-source-id: 3317b590ec72e0040a67be41e74ddb5a72722598
2023-11-27 15:33:57 -08:00
Anton Kastritskiy
d8f507dba0 Back out "remove all mentions of metro from flipper-ui-core"
Summary:
Original commit changeset: edc33c2b989e

Original Phabricator Diff: D51200129

Reviewed By: lblasa

Differential Revision: D51586736

fbshipit-source-id: e81355f7a0f0533ebc47f4cfc6c40af4865dbad0
2023-11-27 15:33:57 -08:00
Anton Kastritskiy
244573abe3 Back out "remove metro button"
Summary:
Original commit changeset: ebd844a57b0b

Original Phabricator Diff: D51199560

Reviewed By: lblasa

Differential Revision: D51586734

fbshipit-source-id: dfb37d4a6f6bd03da96ab17cd4af8e43de2b0f07
2023-11-27 15:33:57 -08:00
Pascal Hartig
a9c5dd746a Store plugin ID
Summary:
We need the build ID from GraphQL to fetch the download VPN off-VPN.

Changelog: Plugin Marketplace now stores a unique ID per build

Reviewed By: LukeDefeo

Differential Revision: D51525419

fbshipit-source-id: d6740b3c4724d15cc996155b6e7581b0f16a9da6
2023-11-27 09:04:07 -08:00
Anton Kastritskiy
ce5527513e only simulators in "Virtual device"
Summary: Currently if you plug in a physical iOS device via USB, flipper will show it to you in "Virtual device menu". See "ak iphone mini" in the test plan. This diff ensures that we only show virtual device in this menu.

Reviewed By: lblasa

Differential Revision: D51588117

fbshipit-source-id: e2853a6b34ed3fe6d821a9c504b9ffd19e4074fa
2023-11-27 08:42:12 -08:00
Lorenzo Blasa
2318bffd07 Built artifact is already universal, no architecture is needed
Summary: ^

Reviewed By: antonk52

Differential Revision: D51568857

fbshipit-source-id: 124d77e4dd175a13f491f8242b3a28a898ff5670
2023-11-27 06:23:06 -08:00
Lorenzo Blasa
5e26d863f1 Packaging changes
Summary:
This change has a few changes in the way our MacOS app was built and packaged.

- Instead of placing the Node binary inside the MacOS folder, place it inside the Resources folder. This is more in compliance with how an app is bundled. Also, with the added benefit of making it a resource which makes it eligible for code signing.
- Both, Node binary and server bundle are placed in the right location before building the MacOS app. By doing this, we ensure the app is not modified after the built process which messes up with code signing, if in place.

Reviewed By: antonk52

Differential Revision: D51568778

fbshipit-source-id: 0b1b0ad9947550ddf0f6d4b04e5aff41f7edcdee
2023-11-27 04:55:05 -08:00
Lorenzo Blasa
d22d362c31 Codesign capabilities
Summary:
Add codesign capabilities to Flipper Server Cocoa app.

Also, push the version to the build step instead of overriding once built. Otherwise, the Info.plist will be marked as 'being tampered with'.

Note: we are still not using the signing, but the capability is there.

Reviewed By: antonk52

Differential Revision: D51547008

fbshipit-source-id: 33abcd2fce33a7daf2ae8941b54989dba82fc0e3
2023-11-27 04:55:05 -08:00
Andrey Goncharov
72a92e1380 Shutdown Flipper when new version is downloaded
Reviewed By: passy

Differential Revision: D51527986

fbshipit-source-id: d4cf1ec82070821afff5c9cdee5a85cb1421a7ef
2023-11-23 04:08:07 -08:00
Andrey Goncharov
685a0e53d7 Add command to fetch new Flipper version
Summary: It is a copy-paste of what we have in jest-e2e

Reviewed By: passy

Differential Revision: D51527040

fbshipit-source-id: 36b62edee006580023e9ce2cd309dddfd0dbce84
2023-11-23 04:08:07 -08:00
Anton Kastritskiy
4477f3b550 Update esbuild
Summary:
Update esbuild to the latest version that is backward compatible to the current version.

Specifically I was looking for a version that adds support for the typescript's `satisfies` feature [0.15.3](https://github.com/evanw/esbuild/releases/tag/v0.15.13)

Reviewed By: passy

Differential Revision: D51537364

fbshipit-source-id: 6fb8f01ee7b4d19db048d03277be6b6642124002
2023-11-23 02:56:07 -08:00
dependabot[bot]
b908ab50ac Bump com.google.protobuf:protobuf-java from 3.23.4 to 3.25.1 (#5300)
Summary:
Bumps [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) from 3.23.4 to 3.25.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7f94235e55"><code>7f94235</code></a> Updating version.json and repo version numbers to: 25.1</li>
<li><a href="e4b00c75ec"><code>e4b00c7</code></a> Add support for extensions in CRuby, JRuby, and FFI Ruby (<a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14703">#14703</a>) (<a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14756">#14756</a>)</li>
<li><a href="2495d4f96b"><code>2495d4f</code></a> Add support for options in CRuby, JRuby and FFI (<a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14594">#14594</a>) (<a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14739">#14739</a>)</li>
<li><a href="a29f47df0f"><code>a29f47d</code></a> Bump mac PHP version to 8.2 to fix non-hermetic breakages. (<a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14741">#14741</a>)</li>
<li><a href="f36432a6d1"><code>f36432a</code></a> Merge pull request <a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14674">#14674</a> from anandolee/25.x</li>
<li><a href="74f5cf4106"><code>74f5cf4</code></a> Raise warnings for python syntax usages</li>
<li><a href="edb1afd049"><code>edb1afd</code></a> Move python/BUILD to python/BUILD.bazel (<a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14658">#14658</a>)</li>
<li><a href="666689e0f7"><code>666689e</code></a> Merge pull request <a href="https://redirect.github.com/protocolbuffers/protobuf/issues/14620">#14620</a> from protocolbuffers/win2019-25.x</li>
<li><a href="1577c305cf"><code>1577c30</code></a> Error on staleness failure</li>
<li><a href="1155c804ef"><code>1155c80</code></a> Update <code>cc_file_list_aspect</code> to handle targets with missing <code>hdrs/textual_hdrs</code></li>
<li>Additional commits viewable in <a href="https://github.com/protocolbuffers/protobuf/compare/v3.23.4...v3.25.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.protobuf:protobuf-java&package-manager=gradle&previous-version=3.23.4&new-version=3.25.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

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

Reviewed By: antonk52

Differential Revision: D51525558

Pulled By: passy

fbshipit-source-id: df9f980c75af74e622cc3a899c5a53684ffd8b90
2023-11-22 07:05:56 -08:00
Andrey Goncharov
5693ac7205 Disconnect all mobile clients when all UI clients leave
Summary: Context https://fb.workplace.com/groups/flippersupport/permalink/1730762380737746/

Reviewed By: lblasa

Differential Revision: D51510348

fbshipit-source-id: afafcdd6b89bf1038fec65a7c3e8c2dd9cfd0768
2023-11-22 02:59:27 -08:00
Andrey Goncharov
1c706b52bc Add an empty line for a term finder only when it is absolutely necessary
Reviewed By: mweststrate

Differential Revision: D51507094

fbshipit-source-id: cb5e18ab702f60ebbf2e5573180fd21299371139
2023-11-21 12:48:27 -08:00
Andrey Goncharov
88d8567310 Align buttons to the top
Reviewed By: mweststrate

Differential Revision: D51506570

fbshipit-source-id: 5fc52b214eb61f5da0c3417016e87a79866d4506
2023-11-21 12:48:27 -08:00
Andrey Goncharov
0425dfd4e5 Add vertical spacing in multiline mode
Reviewed By: mweststrate

Differential Revision: D51505906

fbshipit-source-id: 6cbf94173d404077de1f8d7c764d91799e25404c
2023-11-21 12:48:27 -08:00
Andrey Goncharov
202e6b6148 Fix autocomplete for Logs plugin
Summary: It was a typo before

Reviewed By: passy

Differential Revision: D51502529

fbshipit-source-id: c4ed789b382301ba9e183e5dd7a491592efd22dd
2023-11-21 11:40:23 -08:00
Andrey Goncharov
294f39eceb Allow freeform entries for enum terms
Summary: Solves https://fb.workplace.com/groups/flippersupport/posts/1726178417862809/?comment_id=1726429847837666&reply_comment_id=1730206487460002

Reviewed By: passy

Differential Revision: D51497924

fbshipit-source-id: d0737b2b82f29ff8ae654e7cad2ef1daa8244756
2023-11-21 11:40:23 -08:00
Pascal Hartig
864e296f35 Recover from corrupted config.json
Summary: This has caused a few tasks to be raised. We do replace broken configs with a fresh template elsewhere, but we shouldn't throw in this place since we have a fallback.

Reviewed By: antonk52

Differential Revision: D51393314

fbshipit-source-id: 8c04946c5b0e74f5f0d42c9492aa381aa608fd35
2023-11-21 10:30:06 -08:00
Andrey Goncharov
877253191d Support multi-line wrapping for long queries / small screens
Reviewed By: antonk52

Differential Revision: D51497340

fbshipit-source-id: 23bcc9a69c3e59e17ee9505c954c955f2a1c9e5f
2023-11-21 07:56:19 -08:00
Andrey Goncharov
7e2508f045 Fix server dummy timeout value
Summary: It has to fit in 32 bit int

Reviewed By: lblasa

Differential Revision: D51478071

fbshipit-source-id: c4512e946c3e47bc235920b133d9f6c739c5ac76
2023-11-21 04:13:12 -08:00
Andrey Goncharov
fb37f27ff5 Suport device-open-app command
Summary: It is an escape hatch for testing iOS Sample app if `navigate('/')` cannot be made to work easily (D51394323)

Reviewed By: lblasa

Differential Revision: D51466697

fbshipit-source-id: fd6c2f37504807b4b634b85cb10e837523dadba8
2023-11-20 07:14:09 -08:00
Anton Kastritskiy
387d546e77 inconsistent right padding
Summary: There is too much padding on the right wether right sidebar open or not, this fixes it

Reviewed By: lblasa

Differential Revision: D51428892

fbshipit-source-id: 6fa9b0c06ddf32c32d162a7fd2bd765e8996c00a
2023-11-17 10:06:47 -08:00
Lorenzo Blasa
ec9bc8a29f Avoid template copy
Summary:
As mentioned on the previous diff, we no longer use a pre-built template when creating a release build.

This change moves the built binary directly into place instead of updating the existing template after which it was moved to its final destination.

Reviewed By: antonk52

Differential Revision: D51424944

fbshipit-source-id: 284fb53bb5f00f92b3ca9db3b28cfd1e4dacfa19
2023-11-17 05:51:47 -08:00
Lorenzo Blasa
e3038a3393 MacOS app to be built on each release build
Summary:
So far we have used a 'template' approach, in which the release build script will copy and use to create the final deliverable.

The template itself was updated locally by running:
    cd ~/fbsource/xplat/sonar/facebook/flipper-server
    yarn start

This would:
- Build the MacOS app for all supported architectures: x64 and arm64
- Update the template found on the static directory

After the update, we would just commit the changes to the repo.

## About this change
Instead, build the MacOS app when the release script is used. This is leaves way less margin for error as we have removed all the manual steps that had to be done as listed above.

Reviewed By: antonk52

Differential Revision: D51397661

fbshipit-source-id: 2234c9996fa98f32db244764acf3e35dc9a388c9
2023-11-17 05:51:47 -08:00
Andrey Goncharov
b9fa86e77f Fix filter from selection
Reviewed By: LukeDefeo

Differential Revision: D51425090

fbshipit-source-id: 53dda8f65d2e8d17468903c20e88d45038e65be1
2023-11-17 05:31:25 -08:00
Luke De Feo
bf67b19c4a Allow searching on inline attribute keys
Summary: useful for bloks debugging

Reviewed By: lblasa

Differential Revision: D51349211

fbshipit-source-id: a11eca19bdecf989ceb6a95e9a3cb504020c7467
2023-11-17 04:18:41 -08:00
Luke De Feo
288e8e2d48 Make search expand relevant nodes
Summary:
Previously we were searching the tree nodes which did not include all nodes since if a not was not expanded it isnt in the tree node list, so now we expand first then find the first tree node that matches

changelog: UIDebugger search now expands matching elements

Reviewed By: lblasa

Differential Revision: D51349213

fbshipit-source-id: 4eef436781ed6ec23187d1aec7633ee4b959d3fa
2023-11-17 04:18:41 -08:00
Luke De Feo
dd9279bf7a Bloks debugger state deeplink from UIDebugger
Summary:
This adds a deeplink into bloks debugger from uidebugger for state events

changelog: UIDebugger - show bloks state & deeplink to bloks debugger

Reviewed By: lblasa

Differential Revision: D51349212

fbshipit-source-id: 6f7ca826228ce11a01fe5eb197f6ce092d2757a9
2023-11-17 04:18:41 -08:00
Andrey Goncharov
e225d9e1c3 Bring back RatingButton
Summary: Removed previously during redesign by mistake

Reviewed By: antonk52

Differential Revision: D51347837

fbshipit-source-id: d634ad4c8983271a3936f458cabb63f006a4bb0a
2023-11-17 03:34:58 -08:00
generatedunixname89002005306973
ace3626938 Flipper Snapshot Bump: v0.239.1-SNAPSHOT
Summary: Releasing snapshot version 0.239.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D51393963

fbshipit-source-id: 96a5ffd64465c0391694707fb8d5d14992807ea1
2023-11-16 05:36:45 -08:00
generatedunixname89002005306973
7fa24636ca Flipper Release: v0.239.0
Summary: Releasing version 0.239.0

Reviewed By: aigoncharov

Differential Revision: D51393961

fbshipit-source-id: ce286c17042b59b227396bbd2c22f0d0257edcd2
2023-11-16 05:36:45 -08:00
Andrey Goncharov
d515342526 Add FlipperServerDisconnectedError to prevent excessive error logging
Reviewed By: passy

Differential Revision: D51393196

fbshipit-source-id: f49857b397a3fb629ad44f89a4c59b12ba2f67c4
2023-11-16 04:18:41 -08:00
Andrey Goncharov
7c972a982a Fix plugin backward compatibility
Reviewed By: lblasa

Differential Revision: D51391318

fbshipit-source-id: f4cd42077bbd358bda30860659e845fa0ee8e845
2023-11-16 03:14:11 -08:00
Andrey Goncharov
edc46dc2b1 Fix resetFilters not resetting power search
Reviewed By: antonk52

Differential Revision: D51351225

fbshipit-source-id: 4f0406b047ed1cc44d7de54976db2a422b07b7c0
2023-11-15 07:30:47 -08:00
Luke De Feo
39d84e3bfc Fix occasional scrollbars
Summary:
Sometimes after a while scroll bars woudl start to appear in the text areas like so
{F1150744703}

Its hard to repro but seemed to be after flipper was open for a long period. Playing with chrome dev tools setting overflow: hidden makes the problem go away

changelog: UIDebugger fix issue with scrollbars sometimes appearing in sidebar

Reviewed By: antonk52

Differential Revision: D51346366

fbshipit-source-id: 2d9218ac582164c9726a92c3c0c99567382f8929
2023-11-15 05:09:56 -08:00
Andrey Goncharov
bfc4e959bc Export power search enabled components and types by default
Summary: Provides power search typings to all users by default

Reviewed By: LukeDefeo

Differential Revision: D51306600

fbshipit-source-id: c1f0d318d8b6953dd02af16d2c51abbf0e6e9590
2023-11-15 05:00:21 -08:00
Andrey Goncharov
b34718ac32 Extend docs
Reviewed By: antonk52

Differential Revision: D51305961

fbshipit-source-id: a4ca7365def6ebf43b84668f63887cc81f82fb36
2023-11-15 05:00:21 -08:00
Andrey Goncharov
f01568bf59 Prevent duplicate browser connection reporting
Reviewed By: lblasa

Differential Revision: D51347107

fbshipit-source-id: 14f4507835794d76b17f9a6891f22dbc0cc1a8f7
2023-11-15 04:22:11 -08:00
Andrey Goncharov
ed7a7f7bd0 Fix processExit
Summary: setTimeout should terminate process if graceful termination takes too long. Before, we scheduled the timer only *after* the graceful termination completes which does not make any sense

Reviewed By: lblasa

Differential Revision: D51346673

fbshipit-source-id: b5adadbcf474a8c66839e1fc70bcc6482c47635e
2023-11-15 03:46:46 -08:00
Lorenzo Blasa
6ccae92918 PWA for development
Summary: This was not possible in the past because the entry points for dev and production were different. This is no longer the case.

Reviewed By: antonk52

Differential Revision: D51346250

fbshipit-source-id: fc482a9d90352ea4e897092e7670920f148fa274
2023-11-15 03:45:25 -08:00
Lorenzo Blasa
6b54bd3173 Remove no longer needed index.web.dev.html
Summary: This is a duplicate, is not needed, causes confusion.

Reviewed By: aigoncharov

Differential Revision: D51307091

fbshipit-source-id: 4d55d727ea5f20100ecd15ad6e23aa0c01722524
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
f1b35ca592 Make HTML entry points identical
Summary: Make both prod and dev HTML entry points identical.

Reviewed By: aigoncharov

Differential Revision: D51307116

fbshipit-source-id: 5aea8e455d623aba260e3e37a2c549ebc67dd3b0
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
65d2ce7ed5 Move dev socket
Summary: Not entirely sure what the use of this socket is, but it can definitely be defined inside flipper-ui-browser instead.

Reviewed By: aigoncharov

Differential Revision: D51307090

fbshipit-source-id: 36eb336536e8672fb0b2bcf12dad31c7fbc00a39
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
af3f11521b Remove probably duplicated logs
Summary: These logs only available on debug but we already have these logs coming from the actual used socket, so remove.

Reviewed By: aigoncharov

Differential Revision: D51307089

fbshipit-source-id: 32e3eada42fa54b429df0bfcdd936d24cebaf0cb
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
067693f3c8 Standard message between prod and dev
Summary: These two texts were different, they should be the same for consistency.

Reviewed By: aigoncharov

Differential Revision: D51307086

fbshipit-source-id: a71fb7e6cf072df73e7f9fb386245f266984900b
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
11ec4c3107 Remove unused css
Summary: This CSS was unused, so remove.

Reviewed By: aigoncharov

Differential Revision: D51307093

fbshipit-source-id: a978d76fca7cfb07c96180c4ece0b1bdf1087894
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
7de92cb34a Config set from server
Summary: Instead of having duplicate configs defined on our HTML. Move the config definition to the server.

Reviewed By: aigoncharov

Differential Revision: D51307092

fbshipit-source-id: 68f4afc918cf191b3a15b3981429c5a05d5df8df
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
9166939214 Rename constants
Summary: After the move, let's rename the constants to make them match our code standards.

Reviewed By: aigoncharov

Differential Revision: D51307087

fbshipit-source-id: 4e44e956fd88abd3e8359fe94fa4e31d17f61a55
2023-11-14 10:53:09 -08:00
Lorenzo Blasa
49abb4dd41 Move constants to flipperConfig
Summary: Recently we have added a few constants to be used by our main entry point. This change moves them to a central place: flipperConfig.

Reviewed By: aigoncharov

Differential Revision: D51307088

fbshipit-source-id: 09f0ef0e69e2067ce5c8501367629eeec7523858
2023-11-14 10:53:09 -08:00
Luke De Feo
0889a0e02d Tooltip for node type icon
Reviewed By: aigoncharov

Differential Revision: D51307310

fbshipit-source-id: 9a522928102de6a28c0307568451acaed969edc5
2023-11-14 08:40:48 -08:00
Anton Kastritskiy
6c4c579f27 Increase max width for resizable sidebar
Reviewed By: LukeDefeo

Differential Revision: D51305977

fbshipit-source-id: 03fbdba01d01aaecdd182538aed64ae396818f4d
2023-11-14 08:14:37 -08:00
generatedunixname89002005306973
b633766199 Flipper Snapshot Bump: v0.238.1-SNAPSHOT
Summary: Releasing snapshot version 0.238.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D51298284

fbshipit-source-id: 51f30bd24af2bb2a40b3e4d87cd7acb7e9bbe4ce
2023-11-14 06:28:51 -08:00
generatedunixname89002005306973
ed80151768 Flipper Release: v0.238.0
Summary: Releasing version 0.238.0

Reviewed By: aigoncharov

Differential Revision: D51298282

fbshipit-source-id: ed64ff1a72194f6f4de0a87a8e05a2de83e29cc1
2023-11-14 06:28:51 -08:00
Andrey Goncharov
9910807826 Fix power search for slogs
Reviewed By: antonk52

Differential Revision: D51232391

fbshipit-source-id: 6501f60ee4168c62d1d4efefcfcc698d4954e7ac
2023-11-14 06:28:11 -08:00
Anton Kastritskiy
f6445fea43 Check if Android Studio is installed
Summary:
Since Android Studio is technically not required, I made this check optional.
Though, these steps will gurantee that android env will work for an engineer who opened flipper for the first time

Reviewed By: lblasa

Differential Revision: D51267272

fbshipit-source-id: f30e58f322ea080b00a27ae86b871df2b39e1bb9
2023-11-14 04:29:59 -08:00
Anton Kastritskiy
d88cf41a24 Always write ANDROID_HOME and ANDROID_SDK_ROOT
Summary:
When flipper starts it writes to both env vars the value from settings. This is needed for subprocesses to have access to them.

The problem with the check for both env vars is
- In prod environment applications does not have access to them
- In dev, when developers launch flipper from terminal (`yarn run flipper-server`) it picks up these env vars if they are set which can cause different behaviour in dev and prod

To make flipper work more deterministic, for users and us. I removed this check and now we always write to these env vars what the user has provided in flipper settings or the default.

Reviewed By: lblasa

Differential Revision: D51266495

fbshipit-source-id: cf3adfd4ba83a733a30b5b0b29c270b32ff3a61a
2023-11-14 02:54:59 -08:00
Lorenzo Blasa
bc77dcf326 Simplify shutdown logic
Summary:
The previous logic aimed to reuse an existing server during bootstrap if the launched version was higher than the running one. This is no longer required or wanted.

## Risk assessment: LOW
### Rationale
It is extremely rare to launch Flipper whilst already having another instance running. This can happen during development, but it is extremely rare in production.

Launcher (singleton) launches Server (singleton).
Launcher can be executed multiple times and this will not create newer server instances.

If anything, if we are unable to kill any other instance, whatever that may be, continue. This is to cover the cases where a shutdown may have been acknowledged but the process is still shutting down.

Reviewed By: antonk52

Differential Revision: D51232901

fbshipit-source-id: 8b8b85f4bac68f5670b1878e827871f78dc68999
2023-11-13 12:51:45 -08:00
Anton Kastritskiy
1199e1f667 Update settings location to reflect new nav bar
Reviewed By: elboman

Differential Revision: D51257953

fbshipit-source-id: f19d2a1343276ee066b422e85b71e4d0a8e7bdb9
2023-11-13 08:26:13 -08:00
Anton Kastritskiy
cb485613e4 Internal Xcode install instruction
Reviewed By: elboman

Differential Revision: D51257660

fbshipit-source-id: 6cf213135f1070def3e62e936d6147b15749b7de
2023-11-13 08:26:13 -08:00
Luke De Feo
9dea899701 use new api for enum
Summary: Also fixed time column

Reviewed By: aigoncharov

Differential Revision: D51255567

fbshipit-source-id: 70a708a0e502eeaf1e51b8ace41dc588b9c0543d
2023-11-13 06:02:32 -08:00
Luke De Feo
437e67cd7f Remove uneeded operators from simplified config
Summary:
The single value == / contains are covered by the setlike oper /ators.

Less operators is better as less overwhelming. Plus with the group operators you can add futher options or'ed togther which is a complain from the user.

Reviewed By: aigoncharov

Differential Revision: D51255253

fbshipit-source-id: 72f909319fd3d8034ebe4725a5a5254ecfeb074b
2023-11-13 06:02:32 -08:00
Luke De Feo
4ada8b9322 Summary:
Make as manything as inferred enum as possible

changelog: [Logs] Improve power search config to populate dropdown for level, PID & Tag

Reviewed By: aigoncharov

Differential Revision: D51199644

fbshipit-source-id: 383b61abca5d91a8e318bbfb1aac7d3852074167
2023-11-13 04:43:05 -08:00
Andrey Goncharov
a400eb2872 Finalize log stream before exiting process
Reviewed By: antonk52

Differential Revision: D51229230

fbshipit-source-id: 0e7f657a170eb8602ade9abf1db1976c5b51dc3f
2023-11-11 08:21:12 -08:00
Anton Kastritskiy
0cbd640e5c expand on ios doctor suggestions
Summary:
this should help to address support posts like this one

https://fb.workplace.com/groups/flippersupport/posts/1724631861350798

Reviewed By: potomak

Differential Revision: D51203549

fbshipit-source-id: 097faeb6c9d506bc1fa2ac4602cba95e99a4e2cb
2023-11-10 09:54:08 -08:00
Anton Kastritskiy
45157c3675 Change order of ios checks
Summary:
Current order is confusion, the new order better reflects order at which users gets started with iOS

1. Install Xcode
2. Point Xcode-select at most recent xcode version
3. Install SDK
4. Accept Xcode SDK license
5. check idb health

Reviewed By: lblasa

Differential Revision: D51202202

fbshipit-source-id: da39acf7ef325889c2288b3941cef0ca803356cd
2023-11-10 09:54:08 -08:00
Anton Kastritskiy
b7a4741e40 remove all mentions of metro from flipper-ui-core
Summary: All functionality was about selecting plugins

Reviewed By: lblasa

Differential Revision: D51200129

fbshipit-source-id: edc33c2b989eabec2ca4a7e285f92c50950977ed
2023-11-10 09:34:52 -08:00
Anton Kastritskiy
5269800738 remove metro button
Reviewed By: lblasa

Differential Revision: D51199560

fbshipit-source-id: ebd844a57b0b30859b186361136cc8a2f897d9f2
2023-11-10 09:34:52 -08:00
Andrey Goncharov
9ca6f01c40 Use simplified enum config for network plugin
Reviewed By: LukeDefeo

Differential Revision: D51203032

fbshipit-source-id: fc2a9a1dcd55ca05381037743622b5aa9b45f24f
2023-11-10 09:08:28 -08:00
Andrey Goncharov
cd9db40e4f Support occasionally stringified null and undefined in enums
Reviewed By: LukeDefeo

Differential Revision: D51202685

fbshipit-source-id: 74d0a3d7ed956f3fafc393f180b30cd2fcc55384
2023-11-10 09:08:28 -08:00
Andrey Goncharov
2d28ca2c37 Support enum label inferral for simplified config
Reviewed By: LukeDefeo

Differential Revision: D51199436

fbshipit-source-id: c611f0d5a21d7500447342d3e2a5e12c55e9b67d
2023-11-10 09:08:28 -08:00
Anton Kastritskiy
2d253b1387 fix displayed error in virtual device picker
Summary: Error thrown from server is serialiased that is a string, not instance of Error

Reviewed By: LukeDefeo

Differential Revision: D51201870

fbshipit-source-id: 833818789a50a21d3d27e0388635e0e2b7470c9d
2023-11-10 08:03:34 -08:00
Anton Kastritskiy
e5f6ad0ca6 default adb path
Summary:
As I was setting up a new mac I had to change this setting in flipper settings.

From a few android people that I've spoken to no one could answer me if the old one is still used.

Ideally we should infer this during the first time flipper starts

- `/opt/android_sdk` current default
- `$HOME/Library/Android/sdk` adb from Android Studio
- `$HOME/fbsource/third-party/toolchains/android-sdk` adb that is always available in fbsource

Reviewed By: lblasa

Differential Revision: D51120929

fbshipit-source-id: edb2a58b9c9f37465ea2fc5493975dd427d5523b
2023-11-10 08:03:34 -08:00
generatedunixname89002005306973
b08e6feb44 Flipper Snapshot Bump: v0.237.1-SNAPSHOT
Summary: Releasing snapshot version 0.237.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D51199541

fbshipit-source-id: 97420b530bee02d2721af752a13dcd8020ada369
2023-11-10 06:50:40 -08:00
generatedunixname89002005306973
91efcce5c5 Flipper Release: v0.237.0
Summary: Releasing version 0.237.0

Reviewed By: aigoncharov

Differential Revision: D51199543

fbshipit-source-id: 4579641a9c113cd14127db69a180e76358b68de9
2023-11-10 06:50:40 -08:00
Andrey Goncharov
a1070b8cea Add regex support
Reviewed By: LukeDefeo

Differential Revision: D51198464

fbshipit-source-id: 445cc47f90c2730f3b0728e5bf667330274d103d
2023-11-10 04:34:09 -08:00
Anton Kastritskiy
d023bcc42e remove shortcuts
Reviewed By: aigoncharov

Differential Revision: D51159922

fbshipit-source-id: fbb59b416f92b9156c74a12247da8d0df07f1a4e
2023-11-10 04:33:02 -08:00
Andrey Goncharov
04b4bf7bdf Setup prefetcher during startup
Reviewed By: passy

Differential Revision: D51198236

fbshipit-source-id: 00781afda72258f2aee64a9d0481117979c49031
2023-11-10 04:11:35 -08:00
Andrey Goncharov
4b3f572205 Preserve previous error messages
Reviewed By: passy

Differential Revision: D51197113

fbshipit-source-id: 237c6f1f894cb4d758150ff2bddf14c104d3b381
2023-11-10 03:39:32 -08:00
Andrey Goncharov
8348d617d0 Fix token replacements
Reviewed By: lblasa

Differential Revision: D51196650

fbshipit-source-id: 184c104b32a1d619163c799ae70419e6aad23e98
2023-11-10 03:35:14 -08:00
Andrey Goncharov
6e19c4155c Track session length
Differential Revision: D51172955

fbshipit-source-id: d4f93564a94e232066347c945fa4798033dc0da1
2023-11-09 14:34:52 -08:00
Andrey Goncharov
8ef29c8160 Embed auth token into HTML
Summary:
Auth token used be injected in the manifest file. Instead, have the server injected into the main HTML page.

The main driver to this change are:
- Simplify
- There are instances in which for some reason reading/writing the token from the manifest fails. This will address that problem.

Reviewed By: lblasa

Differential Revision: D51160521

fbshipit-source-id: 4626fd8f56bc8b61182a53a5d9cf5acad1e723bc
2023-11-09 14:05:43 -08:00
Lorenzo Blasa
69378c4b09 Add logs for early exit when writing token to manifest
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D51154908

fbshipit-source-id: 0c04ee50d07db1478ec5a77faa6d6157b7c9960b
2023-11-09 09:08:33 -08:00
Andrey Goncharov
d54bd7c3ba Refactor browser connection performance tracking
Reviewed By: lblasa

Differential Revision: D51158256

fbshipit-source-id: 17e020dd3c26ac73bf2cf0ceb4c664638c6778e9
2023-11-09 08:25:28 -08:00
Andrey Goncharov
54217f2c79 Use simplified power search config
Reviewed By: lblasa

Differential Revision: D51116200

fbshipit-source-id: a73036020649c06cb5afeb78d9c219a77dac7d4a
2023-11-09 05:08:16 -08:00
Andrey Goncharov
b5cb7fcce2 Support simplified power search config
Summary: It is quite cumbersome to list all of the operators. Much simpler to use a predefined set of power search operators we set up for each specific filed type

Reviewed By: lblasa

Differential Revision: D51116029

fbshipit-source-id: 5dd0b7f4176097109666107dfc3cab996379b818
2023-11-09 05:08:16 -08:00
Andrey Goncharov
284dee0460 Extend default list of operators for unconfigured columns
Summary:
It does not make too much sense to keep the unknown value conversion behind a flag. It is relatively cheap. Let's do it for all strings.
Also, let's extend the list of default string operators

Reviewed By: lblasa

Differential Revision: D51115573

fbshipit-source-id: a62c08a90d8ddf6f23f59412c3fd981e19225e47
2023-11-09 05:08:16 -08:00
Andrey Goncharov
51e149765e Add more logging
Reviewed By: antonk52

Differential Revision: D51154065

fbshipit-source-id: 7532d1e141562adacb9170b112185bd6f730cc5a
2023-11-09 03:57:59 -08:00
Pascal Hartig
f856cedf81 Update release docs
Summary: Document the new release flow that does no longer involve local builds.

Reviewed By: antonk52

Differential Revision: D51115563

fbshipit-source-id: 0c518e51dba64b2325047d6b1e485216e48d9777
2023-11-09 02:21:11 -08:00
Lorenzo Blasa
3993e7461d Shutdown after 5 hours
Summary:
If after 5 hours there are no connected clients, shutdown the server.

This is to prevent cases whereas the long-lived instance makes users use stale versions of Flipper if Flipper stays indefinitely running in the background.

Reviewed By: passy

Differential Revision: D51111926

fbshipit-source-id: 4c38e392cf8a6a4fb840bffdea92c0b0314aefb9
2023-11-08 10:39:18 -08:00
Lorenzo Blasa
640fb86edc Do not shutdown when there's no connected clients
Summary:
^

Also, track client closes with their code and/or error.

Reviewed By: antonk52

Differential Revision: D51110574

fbshipit-source-id: 2416e36256b000664b7677fcf2c03b045d318ed2
2023-11-08 10:39:18 -08:00
Luke De Feo
4d0a5ff42b Change how custom columsn work
Summary:
Previously the render function was selecting the data from the paylaod object, this mean what was on screen and waht powersearch saw was diffferent.

Now we supply a dotted key path and remove this from render, power search operator also uses this dotted key path so the search works

changelog: UIdebugger added powersearch operators to Framework event table

Reviewed By: aigoncharov

Differential Revision: D51113095

fbshipit-source-id: 3c951c2a8a7a0a35e0aa79a194b979b699f83008
2023-11-08 10:30:55 -08:00
Luke De Feo
03c2828630 Power search config for framework event table
Summary: Basic config, added inferred enum support for the event type.

Reviewed By: aigoncharov

Differential Revision: D51113094

fbshipit-source-id: 13acd83e7f7a5d4ee6b62641b13616cc49377e0a
2023-11-08 10:30:55 -08:00
Luke De Feo
e461229075 Enum dropdown width matches content rather than parent input
Reviewed By: aigoncharov

Differential Revision: D51112879

fbshipit-source-id: e3647df81ce7bbed91a606e68d44a503c367c948
2023-11-08 10:30:55 -08:00
Lorenzo Blasa
92d1454140 Open flag when starting server in debug mode
Summary:
It was hard-coded to always open the first time.

This allows to run the server on debug mode without opening UI.

Reviewed By: antonk52

Differential Revision: D51115746

fbshipit-source-id: 9467f0fbff45987247a2bb3bf5eb1aa578de1913
2023-11-08 09:20:13 -08:00
Lorenzo Blasa
9b9eb00b63 Endpoint to Open UI
Summary: Expose an endpoint to open Flipper UI. This will be used by the Flipper Server Cocoa app to open the UI.

Reviewed By: antonk52

Differential Revision: D51115327

fbshipit-source-id: 1ab1c32d93945cf8d75b145905983738331a6468
2023-11-08 09:20:13 -08:00
Lorenzo Blasa
137e75ad46 Refactor Open
Summary: Extract our launch UI logic into flipper-server-core.

Reviewed By: passy

Differential Revision: D51115241

fbshipit-source-id: 185e381eab6b480d86a5e1201f45c070104d0cea
2023-11-08 09:20:13 -08:00
Lorenzo Blasa
9164e04e29 Better appId and productName
Summary:
As to not conflict with non-electron installations, this will ensure the product name and app id matches the installation.

By doing this, both Flipper installations can co-exist, which I think is desirable.

Reviewed By: antonk52

Differential Revision: D51078955

fbshipit-source-id: fabaa6eb2a45ac542297b0456a09e938a2ec2e0b
2023-11-08 02:51:34 -08:00
Andrey Goncharov
3dc9cc5d3d Skip unknown values during filtering by default
Reviewed By: LukeDefeo

Differential Revision: D51078471

fbshipit-source-id: b3a005f31eebd77e9ff77349640133032f4b0164
2023-11-08 02:13:47 -08:00
Andrey Goncharov
4bb0f59ab8 Migrate to power search
Reviewed By: LukeDefeo

Differential Revision: D51027189

fbshipit-source-id: 4fb3699a278db280237e5182d41d3c746e44a2bb
2023-11-08 02:08:25 -08:00
Andrey Goncharov
a8f5fecc2b Infer enum labels
Reviewed By: LukeDefeo

Differential Revision: D51067952

fbshipit-source-id: ed39d3ab037a2169120187bf20bf4a023488c025
2023-11-08 02:08:25 -08:00
Andrey Goncharov
701ae01501 Support tracking secondary indecies in DataSource
Reviewed By: LukeDefeo

Differential Revision: D51026559

fbshipit-source-id: 1f8f40ceedf70dfdc8978e0d6e447a1a58f8f82a
2023-11-08 02:08:25 -08:00
Andrey Goncharov
da5856138d Add event emitter to datasource
Reviewed By: LukeDefeo

Differential Revision: D51026560

fbshipit-source-id: 8348c6765633d7eecf0d1c80bc5bbd5af8130298
2023-11-08 02:08:25 -08:00
Aria Fallah
3536ffe737 Add worker plugin to plugin esbuild
Summary:
## Context
https://fb.workplace.com/groups/flippersupport/posts/1722856878194963

## Changes
* Add a worker plugin that takes modules suffixed with `?worker`, bundles them, treats them as web workers, and returns a function as a default export that instanitates a new worker

Reviewed By: antonk52

Differential Revision: D51059224

fbshipit-source-id: cef89486f7a2d5b8ce38354df4a5749271a6c41d
2023-11-07 11:09:10 -08:00
Anton Kastritskiy
39b1b37172 Off vpn error banner
Summary:
Some features of bloks do not work off vpn.

Until we figure out how to make them off vpn

Reviewed By: LukeDefeo

Differential Revision: D51076469

fbshipit-source-id: c83d96e89d33d245845312b39928a7460a235217
2023-11-07 10:57:06 -08:00
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
8385b205c3 Merge branch '0.227' into universalBuild 2023-10-18 10:19:18 +02: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
56c0cee119 Flipper Release: v0.227.0
Summary: Releasing version 0.227.0

Reviewed By: lblasa

Differential Revision: D50327905

fbshipit-source-id: 0d47229ec2d8710a5a07d8581ae86e77815ecef5
2023-10-16 11:31:18 -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
Lorenzo Blasa
833e4f0422 Remove non-existent entry from tsconfig.json
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50304142

fbshipit-source-id: c1d0d06b30ebdf10b20341d926efbd6a8c8eaa63
2023-10-16 10:22:55 -07:00
Andrey Goncharov
ee7736caee Add a more complex logger to Flipper UI Browser
Reviewed By: passy, lblasa

Differential Revision: D50223987

fbshipit-source-id: 108e1753b555c7d7b32d3fc2408c2f8efcbadb4d
2023-10-16 09:27:50 -07:00
Lorenzo Blasa
8a11043f37 Release build integration
Summary: This is the immediate follow-up from the previous diff which aims to integrate the MacOS app into our release build script, meta only.

Reviewed By: antonk52, aigoncharov

Differential Revision: D50301369

fbshipit-source-id: 23a4842666c3a7aa9616c6237e16b71bae87ba36
2023-10-16 08:35:48 -07:00
Andrey Goncharov
9ab0e84b1b Bring back transmitting server logs to the client
Reviewed By: lblasa

Differential Revision: D50263610

fbshipit-source-id: 652970f95ad50998c4c2f3f0e48cfce5a2d64cc1
2023-10-16 05:44:07 -07:00
Lorenzo Blasa
fe7a839b14 TokenProvider can fail if the server is offline
Summary: If the server is offline, the fetch request will fail and this was not properly handled.

Reviewed By: antonk52

Differential Revision: D50299455

fbshipit-source-id: dab8336dedaf93db049dc703a23f9e33935212be
2023-10-15 12:57:59 -07:00
Pascal Hartig
d40ccc8786 Update flipper-runtime icon in server app bundle
Summary: Changelog: When requesting Keychain Access, you will now see "flipper-runtime" instead of a generic "node" process.

Reviewed By: lblasa

Differential Revision: D50261830

fbshipit-source-id: ef6fd7d5099c4ff7370f0401a5de3fde1659f1f3
2023-10-13 09:01:21 -07:00
Michel Weststrate
8f056646d9 Back out "auto start server"
Summary:
Original commit changeset: 2c11e80429a2

Original Phabricator Diff: D50074673

lblasa got reports it doesn't always work (possibly permission issues)

Reviewed By: lblasa

Differential Revision: D50259755

fbshipit-source-id: 1cd5f92c4e6e40a06340ecfebea01b899ac1cc85
2023-10-13 07:54:20 -07:00
Lorenzo Blasa
6468665116 Improve device listing
Summary: Do not use mutex for device listing.

Reviewed By: antonk52

Differential Revision: D50265112

fbshipit-source-id: 9b3bf4f9351e28dfb6366b6b787ec8b466b9bc47
2023-10-13 07:50:25 -07:00
Colin Bendell
ed6e15edc8 cleanup 2022-09-08 12:05:53 +01:00
Colin Bendell
bd477678bc restore FKPortForwardingCommon.h 2022-09-08 12:05:53 +01:00
Colin Bendell
b26997af00 Refactor to move PortForwardingMacApp under /desktop 2022-09-08 12:05:53 +01:00
Colin Bendell
1e1cc37c3b cleanup 2022-09-08 12:05:53 +01:00
Colin Bendell
2216a3f94d add static binary to repo 2022-09-08 12:05:53 +01:00
Colin Bendell
6cc083b860 Update to enable universal builds of Flipper
* added PortForwardingMacApp project target
* updated Podfiles
* updated electron builder to 22.14.10
* updated electron to 16.0.3
* added universal architecture to the build process
2022-09-08 12:05:53 +01:00
326 changed files with 7484 additions and 10486 deletions

View File

@@ -45,38 +45,6 @@ jobs:
draft: false
prerelease: false
build-mac:
needs:
- release
runs-on: macos-latest
env:
desktop-directory: ./desktop
steps:
- uses: actions/checkout@v3.5.3
with:
ref: ${{ needs.release.outputs.tag }}
- uses: actions/setup-node@v3.6.0
with:
node-version: '18.x'
- name: Install
uses: nick-fields/retry@v2.8.3
with:
timeout_minutes: 10
max_attempts: 3
command: cd ${{env.desktop-directory}} && yarn
- name: Build
uses: nick-fields/retry@v2.8.3
with:
timeout_minutes: 30
max_attempts: 3
command: cd ${{env.desktop-directory}} && yarn build --mac --mac-dmg
- name: Upload
uses: actions/upload-artifact@v3.1.2
with:
name: 'Flipper-mac.dmg'
path: 'dist/Flipper-mac.dmg'
build-server-mac:
needs:
- release
@@ -112,72 +80,6 @@ jobs:
name: 'Flipper-server-mac-aarch64.dmg'
path: 'dist/Flipper-server-mac-aarch64.dmg'
build-linux:
needs:
- release
runs-on: ubuntu-latest
env:
desktop-directory: ./desktop
steps:
- uses: actions/checkout@v3.5.3
with:
ref: ${{ needs.release.outputs.tag }}
- uses: actions/setup-node@v3.6.0
with:
node-version: '18.x'
- name: Install
uses: nick-fields/retry@v2.8.3
with:
timeout_minutes: 10
max_attempts: 3
command: cd ${{env.desktop-directory}} && yarn
- name: Build
uses: nick-fields/retry@v2.8.3
with:
timeout_minutes: 30
max_attempts: 3
command: cd ${{env.desktop-directory}} && yarn build --linux
- name: Upload Linux
uses: actions/upload-artifact@v3.1.2
with:
name: 'Flipper-linux.zip'
path: 'dist/Flipper-linux.zip'
build-win:
needs:
- release
runs-on: windows-latest
env:
desktop-directory: ./desktop
steps:
- uses: actions/checkout@v3.5.3
with:
ref: ${{ needs.release.outputs.tag }}
- uses: actions/setup-node@v3.6.0
with:
node-version: '18.x'
- name: Install
uses: nick-fields/retry@v2.8.3
with:
timeout_minutes: 10
max_attempts: 3
shell: pwsh
command: cd ${{env.desktop-directory}}; yarn
- name: Build
uses: nick-fields/retry@v2.8.3
with:
timeout_minutes: 30
max_attempts: 3
shell: pwsh
command: cd ${{env.desktop-directory}}; yarn build --win
- name: Upload Windows
uses: actions/upload-artifact@v3.1.2
with:
name: 'Flipper-win.zip'
path: 'dist/Flipper-win.zip'
build-flipper-server:
needs:
- release
@@ -210,9 +112,6 @@ jobs:
publish:
needs:
- build-win
- build-linux
- build-mac
- build-server-mac
- build-flipper-server
- release
@@ -222,12 +121,6 @@ jobs:
- uses: actions/checkout@v3.5.3
with:
ref: ${{ needs.release.outputs.tag }}
- name: Download Mac
if: ${{ needs.release.outputs.tag != '' }}
uses: actions/download-artifact@v1
with:
name: 'Flipper-mac.dmg'
path: 'Flipper-mac.dmg'
- name: Download Flipper Server x86-64
if: ${{ needs.release.outputs.tag != '' }}
uses: actions/download-artifact@v1
@@ -240,18 +133,6 @@ jobs:
with:
name: 'Flipper-server-mac-aarch64.dmg'
path: 'Flipper-server-mac-aarch64.dmg'
- name: Download Linux
if: ${{ needs.release.outputs.tag != '' }}
uses: actions/download-artifact@v1
with:
name: 'Flipper-linux.zip'
path: 'Flipper-linux.zip'
- name: Download Windows
if: ${{ needs.release.outputs.tag != '' }}
uses: actions/download-artifact@v1
with:
name: 'Flipper-win.zip'
path: 'Flipper-win.zip'
- name: Download Flipper Server
if: ${{ needs.release.outputs.tag != '' }}
uses: actions/download-artifact@v1
@@ -265,7 +146,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
created_tag: ${{ needs.release.outputs.tag }}
args: Flipper-mac.dmg/Flipper-mac.dmg Flipper-linux.zip/Flipper-linux.zip Flipper-win.zip/Flipper-win.zip flipper-server.tgz/flipper-server.tgz Flipper-server-mac-x64.dmg/Flipper-server-mac-x64.dmg Flipper-server-mac-aarch64.dmg/Flipper-server-mac-aarch64.dmg
args: flipper-server.tgz/flipper-server.tgz Flipper-server-mac-x64.dmg/Flipper-server-mac-x64.dmg Flipper-server-mac-aarch64.dmg/Flipper-server-mac-aarch64.dmg
- name: Set up npm token
run: echo "//registry.yarnpkg.com/:_authToken=${{ secrets.FLIPPER_NPM_TOKEN }}" >> ~/.npmrc
- name: Publish flipper-server on NPM

1
.gitignore vendored
View File

@@ -50,6 +50,7 @@ xplat/build
# Mac OS X
*.DS_Store
facebook/flipper-server/Resources/
# Automatically generated
docs/extending/ui-components.mdx

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

@@ -13,6 +13,24 @@
</a>
</p>
---
## Important Accouncement
Flipper is moving away from its Electron distribution to an in-Browser experience.
**How does this affect me?**
Functionality hasn't changed. The UI remains unchanged. Flipper will run in your default browser instead of a standalone application.
If you build from source, Flipper will open in the browser instead of a standalone app. We also provide a MacOS app for the Flipper runtime which can be run and will also open Flipper in the browser.
The last Electron release is [v0.239.0](https://github.com/facebook/flipper/releases/tag/v0.239.0). As such, future releases will not include Electron artifacts.
### React Native support
If you are debugging React Native applications, v0.239.0 will be the last release with support for it due to technical limitations for React Dev Tools and Hermes Debugger plugins. As such, please refer to that release when debugging React Native applications.
---
<p align="center">
Flipper (formerly Sonar) is a platform for debugging mobile apps on iOS and Android and JS apps in your browser or in Node.js. Visualize, inspect, and control your apps from a simple desktop interface. Use Flipper as is or extend it using the plugin API.
</p>

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,10 +99,22 @@ object ComponentDataExtractor {
val id = getMetadataId(componentName, field.name)
val editorValue: EditorValue? = EditorRegistry.read(field.type, field, stateContainer)
if (editorValue != null) {
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)
}
}
}
}
return InspectableObject(stateFields)
}

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,201 +127,69 @@ 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
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()))
}
props[AllId] = InspectableValue.Text(yogaValue.toString())
}
}
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)
}
}
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)
private fun toInspectable(value: Float) =
if (value.isNaN()) {
null
} else {
InspectableValue.Number(value)
}
fun getProps(component: DebugComponent): Map<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)
}
}
}
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

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