Commit Graph

21 Commits

Author SHA1 Message Date
Pritesh Nandgaonkar
2155c7799f Publish 0.6.13 to private repo (#186)
Summary:
Publishes 0.6.13 to private repo
Solves  #181
Pull Request resolved: https://github.com/facebook/Sonar/pull/186

Reviewed By: passy

Differential Revision: D8991760

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 3081cfd947d4bfea1defe75903cfa14cce442b19
2018-07-25 09:37:39 -07:00
Noah Gilmore
8177675465 Initial support for using Sonar in Swift projects (#106)
Summary:
This PR adds support for using SonarKit clients in Swift apps. Fixes #13, fixes #87

1. Swift can't import Obj-C modules which have C++ headers. For this reason, we use SonarKit as an Obj-C++ wrapper around Sonar, which is written in C++. Due to search path misconfiguration, trying to import SonarKit into a Swift project would import `xplat/Sonar/SonarPlugin.h` instead of `iOS/SonarKit/SonarPlugin.h`, which caused `file not found` errors for C++ stdlib imports like #28 because new projects don't have their search paths set up correctly.
2. The network and layout plugins have C++ definitions (struct methods, classes) in some of their headers. This causes the compiler to get confused for Swift projects, because it only supports importing Objective-C files in umbrella headers, meaning that the `SonarKit` won't build.

1. I updated the `HEADER_SEARCH_PATHS` of SonarKit.podspec's build configuration to include `${PODS_ROOT}/Headers/Private/SonarKit/**` first, which alleviates the search path issue. The Obj-C `Sample` project seems to have worked around this by including a hardcoded `${PODS_ROOT}/SonarKit/**` search path in the pbxproj, which is why Sample works but new projects (like those referenced in #28) don't. I removed this since it's no longer necessary.
2. I added a `SampleSwift` app to demonstrate using Sonar with a Swift project.
3. Because the Podfiles for `Sample` and `SampleSwift` referenced podspecs using `:podspec` instead of a concrete version, Cocoapods wouldn't copy local header files (instead, it downloads them from the source). To enable local development of these sample apps using `:path`, I added a symlink to SonarKit.podspec in the root of the directory.
4. I changed SonarKit.podspec to use a tag-based `source`, since v0.0.1 pulls from the master branch of this repo.

The layout and network plugins still don't work with Swift - in order to fix this, we'll need to work on extracting the C++ out of their headers and writing Obj-C++ wrappers for them. I decided to push this off to a later PR since this one is quite large already.

This means that we need to be able to `import SonarKit` without importing all the network/layout plugin headers. In order to make this work, I made "SonarKit/Core" the spec's `default_subspecs`.

priteshrnandgaonkar, let me know if you have any thoughts on this implementation. You can verify that the SampleSwift app works by checking out this branch, `pod install`ing in the SampleSwift directory, and building it :)

![image](https://user-images.githubusercontent.com/1168853/41928625-ac195bd8-792a-11e8-82b8-65d6233a1fbb.png)
Pull Request resolved: https://github.com/facebook/Sonar/pull/106

Reviewed By: jknoxville

Differential Revision: D8890010

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 449305bcc5cbeb5787c23f51b1ecb80a5cbdad32
2018-07-20 04:33:52 -07:00
Pritesh Nandgaonkar
3e20ebe970 Move Sample app from iOS to xplat
Summary: Move Sample app from iOS to xplat

Reviewed By: jknoxville

Differential Revision: D8911835

fbshipit-source-id: 2fffff0db0d1193183ddb818438d1b72d8b63ccb
2018-07-19 04:31:00 -07:00
Pritesh Nandgaonkar
73c830fc1b Use tag in podspecs (#152)
Summary:
This diff uses `tag` instead of master branch and also updates the version number to the desktop sdk.
Pull Request resolved: https://github.com/facebook/Sonar/pull/152

Reviewed By: danielbuechele

Differential Revision: D8820016

Pulled By: priteshrnandgaonkar

fbshipit-source-id: ff2e554be55254b77c4e130b35b7299abbafa77d
2018-07-12 10:18:17 -07:00
Pritesh Nandgaonkar
f520486c2d Fix the xcodeproj of SonarKit (#96)
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
2018-06-21 06:47:28 -07:00
Daniel Buchele
f7d487dd76 fbshipit-source-id: 2cd940396d650342920b28835f6e672febe6b55c 2018-06-12 03:39:09 -07:00
Pritesh Nandgaonkar
4ae30bd786 remove duplicate code block 2018-06-11 14:28:33 +01:00
Pritesh Nandgaonkar
4a989cf8ef update glog podspec 2018-06-07 15:13:18 -04:00
Pritesh Nandgaonkar
03ffb3640a make everything build 2018-06-07 14:15:34 -04:00
Pritesh Nandgaonkar
541a4f1b98 update 2018-06-05 17:02:01 -04:00
Pritesh Nandgaonkar
43086d9c93 update 2018-06-05 15:16:03 -04:00
Pritesh Nandgaonkar
a4efaca1a6 added peertalksonar and specs folder 2018-06-04 23:48:37 -04:00
Pritesh Nandgaonkar
4cafc351b5 Removed EasyWSClient podspec file 2018-06-04 14:32:26 -04:00
Pritesh Nandgaonkar
f34c791167 Remove reference to easywsclient 2018-06-04 14:23:30 -04:00
Pritesh Nandgaonkar
ff2dd0b828 Removed references to local oss and libevent 2018-06-04 14:07:55 -04:00
Pritesh Nandgaonkar
b72572e922 It builds 2018-06-04 13:39:21 -04:00
Pritesh Nandgaonkar
04b1ea9915 update 2018-06-01 16:32:41 +01:00
Pritesh Nandgaonkar
9a6f612923 update 2018-06-01 15:52:10 +01:00
Pritesh Nandgaonkar
ef40c5f754 update 2018-06-01 15:51:53 +01:00
Pritesh Nandgaonkar
674eeddd62 update 2018-06-01 15:51:39 +01:00
Daniel Büchele
fbbf8cf16b Initial commit 🎉
fbshipit-source-id: b6fc29740c6875d2e78953b8a7123890a67930f2
Co-authored-by: Sebastian McKenzie <sebmck@fb.com>
Co-authored-by: John Knox <jknox@fb.com>
Co-authored-by: Emil Sjölander <emilsj@fb.com>
Co-authored-by: Pritesh Nandgaonkar <prit91@fb.com>
2018-06-01 11:03:58 +01:00