Summary: The Android plugin has already been open sourced. This seemed to have fallen through the cracks.
Reviewed By: danielbuechele
Differential Revision: D8661536
fbshipit-source-id: eefbf224230f055db7ab5b5a0e04c192d3309132
Summary:
This PR brings us one step closer for publishing SonarKit.podspec to the public Cocoapods master repository. This solves [#93](https://github.com/facebook/Sonar/issues/93).
- [X] `SonarKit.podspec` now lints by passing the `--sources` flag and the `--use-libraries` flag. `pod spec lint SonarKit.podspec --sources=https://github.com/facebook/Sonar,master --allow-warnings --use-libraries` Same for `pod repo push`.
- [X] `SonarKit.podspec` is now also published to the CocoaPods Private repo. What does this mean? It means that we no longer need to manually define all of `SonarKit` dependencies in the Podfile. It only takes `SonarKit` consumers to add this line `source 'https://github.com/facebook/Sonar.git'` on top of any Podfile, and `SonarKit` will be installed by just defining it with `pod SonarKit`.
- [X] We are publishing a Cocoapods Private Repo in the meantime we don't have all of our dependencies updated and published to the CocoaPods master repo. The CocoaPods Private Repo contains updated dependency podspecs that will need to be published to the CocoaPods master repo in the near future. That will be the next action item in order to have SonarKit.podspec published as well.
- [X] Sample App Podfile has been refactored, much simpler and cleaner.
- [X] SonarKit Framework project now pulls its dependencies from the cocoapods master repository and the temporary private repository instead of the local podspecs. I am able to compile the SonarKit framework project now, before I was unable to.
- [X] Local third party podspec dependencies have been removed.
emilsjolander priteshrnandgaonkar noahsark769 feel free to contribute or expose any concerns.
Closes https://github.com/facebook/Sonar/pull/107
Reviewed By: danielbuechele
Differential Revision: D8694271
Pulled By: priteshrnandgaonkar
fbshipit-source-id: dcccf70d917cad1e27606a29c0b921883bf9a76f
Summary: Bump the Android version to 0.0.8.
Reviewed By: priteshrnandgaonkar
Differential Revision: D8694509
fbshipit-source-id: fec7a0cfcde7dfd12ba2ad13f68da6e1e6e55254
Summary:
Set up our fbjni sub-project to be published to Maven Central.
This removes a bunch of abiFilters that we no longer make use of, too.
Closes https://github.com/facebook/Sonar/pull/119
Reviewed By: priteshrnandgaonkar
Differential Revision: D8694537
Pulled By: passy
fbshipit-source-id: de246fbda99c02856fbc7806b78df2114cb82acb
Summary:
We're already building this as dependency via CMake of sonar itself and
bundle the resulting `.so` files in there.
This project only contains the java files so we can ship them as
separate JAR.
Importantly, this avoids having to use `pickFirst` as we bundle multiple
incompatible `.so` files in both AARs.
Closes https://github.com/facebook/Sonar/pull/116
Reviewed By: priteshrnandgaonkar
Differential Revision: D8691119
Pulled By: passy
fbshipit-source-id: 82303d6c2b5d7e12dcd8f49300090ce8e4570e47
Summary:
There's been a new stable release and we no longer need to depend on the
snapshot releases.
Closes https://github.com/facebook/Sonar/pull/112
Reviewed By: danielbuechele
Differential Revision: D8659035
Pulled By: passy
fbshipit-source-id: 83763e521ffd53e031664e3b1d2714df769d1557
Summary:
On certain samsung devices, the 'run-as' command, inside adb shell doesn't work.
We don't yet have a workaround for this, otherwise potentially upgrading to android 8.
Distinguish these errors (log them so we'll see how often it happens), and tell the user why it's not working.
Reviewed By: danielbuechele
Differential Revision: D8638728
fbshipit-source-id: f4764120cc27187330a3f236636292a5e63e8ec9
Summary:
This make use of the the setup we have at Litho, which should make
it easier to keep them in sync.
It creates proper source jars, AARs (without bundling in unwanted
transitive deps) and POMs.
Closes https://github.com/facebook/Sonar/pull/104
Reviewed By: priteshrnandgaonkar
Differential Revision: D8638912
Pulled By: passy
fbshipit-source-id: ff4921c0683e9b6f859085b542ceae840a7e8291
Summary:
There are 3 sources where plugins can be loaded from:
* `src/plugins`
* `src/fb/plugins`
* any path specified in `~/.sonar/config.json`
Plugins found in the first two directories are bundled with the app when building.
Reviewed By: jknoxville
Differential Revision: D8636061
fbshipit-source-id: 2064090d43d11695ffd99df195e5b594559fe087
Summary:
delayedUnsafe() is unsafe because it disregards the executor you have specified, and uses the default one.
Depending on the context, this can sometimes be an InlineExecutor, and since some of the scheduled jobs, schedule instances of themselves, this can cause infinite recursion to occur.
Fixing this by using the safe variant of delayed, and also using a new instance of IOExecutor.
We need a new Executor for the Sonar loop, because if we use the same worker thread as is provided to RSocket, we get deadlock when we wait for rsocket to connect.
Reviewed By: danielbuechele
Differential Revision: D8617679
fbshipit-source-id: 51ab3224b93e774596a8799338e7391e2eb956cb
Summary:
We've replaced the global console.* methods with those in the Logger.
The OSS Logger uses a different implementation to the internal fb one, and it still calls back to console.*, causing a stack overflow.
Fix it by removing the console calls from Logger.js.
Logging to the original console methods is done by the Proxy in App.js.
Fixes#101
Closes https://github.com/facebook/Sonar/pull/102
Reviewed By: priteshrnandgaonkar
Differential Revision: D8617042
Pulled By: jknoxville
fbshipit-source-id: 055bf0e1a2fba8ad5312c88fa97a44389eb52390
Summary:
With this fix the entire android setup builds with gradle ✨. To try out the sample app, run `./gradlew :sample:installDebug`
Closes https://github.com/facebook/Sonar/pull/103
Reviewed By: danielbuechele
Differential Revision: D8618622
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 62a038f95c37cbadf48636a58ca222c8162e256e
Summary:
Refactors the plugin architecture of Sonar:
- Before plugin rendering had it's own implementation of the react lifecycle. This means the `render`-function was not called by react, but rather by the application it self. In this diff, the render method is now called from react, which enables better debugging and allows react to do optimizations.
- Business logic for querying emulators is moved away from the view components into its own dispatcher
- All plugin handling is moved from `App.js` to `PluginContainer`.
- The sidebar only shows one selected device. This allows us to add the screenshot feature as part of the Sonar main app and not a plugin.
- This also fixes the inconsistency between the devices button and the sidebar
Reviewed By: jknoxville
Differential Revision: D8186933
fbshipit-source-id: 46404443025bcf18d6eeba0679e098d5440822d5
Summary: The `Client` and `Server` code was in one file, which was messy. This splits it into two separate files.
Reviewed By: emilsjolander
Differential Revision: D8186932
fbshipit-source-id: faa79d7dccd867d69ccd1bccd43a2cf85314b1b3
Summary: Currently while building thru gradle got the error that armeabi is not supported.The supported ABI's by ndk are x86, x86_64, armeabi-v71, arm64
Reviewed By: danielbuechele
Differential Revision: D8611628
fbshipit-source-id: 80d9449c35a69aab020412b523f5c21fe6661de8
Summary:
There's an issue with folly's delayedUnsafe(), where it drops your executor and effectively
runs all futures inline, in this case instead of scheduling tasks for the future, it grows the stack indefinitely.
This fixes the issue by using the safe delayed(), which preserves the executor, so the jobs get shceduled on a different thread as intended.
Reviewed By: LeeHowes
Differential Revision: D8575956
fbshipit-source-id: c5b2ced43a70505c51883281f202ac947ae6723f
Summary:
This diff repaces the faulty sonarkit.xcodeproj with the current one. I think ship it synced the xcodeproj which was generated by buck.
Closes https://github.com/facebook/Sonar/pull/96
Reviewed By: emilsjolander
Differential Revision: D8538609
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 9eb049a9770c40b652f999ace9b82207e3a395e5
Summary:
There was an issue with syncing our internal files to github. A change was made in the utils that wasn't synced out, despite the sonar code using the new API.
This brings the util update to github, while I fix the syncing issue. After that there will be a single source of truth so no more sync issues like this can occur.
Reviewed By: priteshrnandgaonkar
Differential Revision: D8541128
fbshipit-source-id: d8509b65035569c4ee9707e5d7eab99fa325da88
Summary:
At the moment, in sonar we have an error reporter and a Logger.
ErrorReporter can be encapsulated into Logger, so users don't have to decide between logging and reporting errors.
Reviewed By: danielbuechele
Differential Revision: D8531902
fbshipit-source-id: 3986f51ea163ac939f3baffd4db3ab968f2a0762
Summary:
`SoLoader.init(Context, int)` isn't what we want as it can raise an `IOException` (checked) and implies exo-package. I suppose this was meant to be
`(Context, boolean)`.
Reviewed By: jknoxville
Differential Revision: D8512345
fbshipit-source-id: 7fad2a3788e64149fc02e3446db2c71412ccb43d
Summary: maliciously named Android emulators could execute arbitrary commands. This checks makes sure the emulator name only has valid characters and puts them in quotes to prevent executing other commands.
Reviewed By: jknoxville
Differential Revision: D8489024
fbshipit-source-id: d91011ceaa8abf0ac53a308089cbdd0b0db03b54
Summary:
Remove old version number check. `AutoUpdateVersion` is used instead for macOS, we currently do not support auto-updates on other platforms.
This also removes the leaked Intern Graph secret.
Reviewed By: emilsjolander
Differential Revision: D8488849
fbshipit-source-id: 0853e8f868137972f718847c49038304525e1e06
Summary:
No need to include this in commits.
Closes https://github.com/facebook/Sonar/pull/54
Differential Revision: D8466428
Pulled By: xiphirx
fbshipit-source-id: f24c4afe30dd74a17dbf42535ba92e7467c9e33a
Summary:
I'm sure there's a better way to describe what this does in the Javadoc, but I
can't really come up with one.
Also inlined one method which made another call which is now redundant.
I'd also really like to make this call entirely unnecessary by moving the logic
to `resolve()` so that overriding it automatically implies `canResolve` but the
edge cases for commonProps and treeProps make this rather unpleasant.
Reviewed By: IanChilds
Differential Revision: D8476911
fbshipit-source-id: 33c6a20da03e50cd1c1d4994e64ef8b43b2c68bc
Summary:
Common Name extraction by regex was failing on LibreSSL.
Now using RFC2253 to unamiguously format distinguished name subject strings.
Reviewed By: emilsjolander
Differential Revision: D8452825
fbshipit-source-id: a18d4162a7aed3b5bd8c2996ff3832877dac90db
Summary:
To make it more appealing for people landing on the GitHub page - seeing a nice screenshot is always a plus!
Closes https://github.com/facebook/Sonar/pull/46
Differential Revision: D8476809
Pulled By: danielbuechele
fbshipit-source-id: d26b10069ab5745342156669ff627dd4fdad2fdb
Summary:
The support libraries where out of sync between the projects, causing
the sample build to fail with
```
> Android dependency 'com.android.support:appcompat-v7' has different version for the compile (26.1.0) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution
```
This makes sure that the sample submodule uses the top-level
dependencies and same versions.
Closes https://github.com/facebook/Sonar/pull/77
Reviewed By: emilsjolander
Differential Revision: D8447186
Pulled By: passy
fbshipit-source-id: e391501edd97fdbe6456b32cd7305d8be26e20db