New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish SonarKit.podspec to the CocoaPods Master Repository #132

Open
pkrmf opened this Issue Jul 4, 2018 · 10 comments

Comments

Projects
None yet
4 participants
@pkrmf
Contributor

pkrmf commented Jul 4, 2018

Currently SonarKit is published to the Facebook Sonar private repository. In order to get SonarKit.podspec published to the CocoaPods master repo, we first need to take care of fixing and publishing some of its direct dependencies:

  • Yoga podspec should be updated to include the DEFINES_MODULE directive. We should be opening an issue in Yoga, a PR and ask the owners of the repository to pod trunk the new podspec. There are other workarounds to avoid modifying the podspec, like setting the :modular_headers directive for Yoga in a Podfile, but that would prevent us from being able to lint and push the SonarKit.podspec to CocoaPods.

  • YogaKit has a dependency on the patch version of Yoga. We should tell the repository owners to avoid that, otherwise, if Yoga gets updated to 1.9 due to new API , or changes on its podspec, YogaKit won't be able to pull a new minor version due to directly defining a dependency on a patch version. Long story short, YogaKit should depend on Yoga ~>1.8 instead of Yoga ~>1.8.1 or CocoaPods will treat 1.9 for example as a major version change, when it is not. Let's make sure they publish the new podspec to the cocoapods master repo.

  • Sonar. Well, unfortunately for Sonar.podspec, there is already a published pod with the same name. There is no much we can do here, unless we change Sonar podspec name to something else so we can publish it, or build a subspec in SonarKit where we define Sonar, or make Sonar subspec part of our Core subspec. If we don't see other iOS developers consuming Sonar.podspec as a direct dependency, and its always through SonarKit, maybe a subspec would be the best option here.

  • RSocket.podspec needs to be published to the cocoapods master repo. It doesn't exist yet, so that is good for us. We need to create an issue and a PR in RSocket repository

  • Peertalk needs to also be updated. I already opened an issue #48 in PeerTalk asking them to generate a new tag using the latest commit since their podspec is pointing to an old commit that doesn't include the latest codebase.

  • Folly. The latest pushed Folly.podspec seems so much different from the one SonarKit is depending. The one SonarKit depends on has more dependencies, more compiler flags, etc... We should get with the Folly owners and decide if our Folly.podspec should be pushed to cocoapods master

@danielbuechele danielbuechele added the iOS label Jul 5, 2018

@priteshrnandgaonkar

This comment has been minimized.

Contributor

priteshrnandgaonkar commented Jul 10, 2018

@pkrmf Any progress on this?

@pkrmf

This comment has been minimized.

Contributor

pkrmf commented Jul 10, 2018

@priteshrnandgaonkar haven’t had much time. Will take a look today

Sent with GitHawk

@pkrmf

This comment has been minimized.

Contributor

pkrmf commented Jul 10, 2018

@pkrmf

This comment has been minimized.

Contributor

pkrmf commented Jul 11, 2018

@priteshrnandgaonkar @emilsjolander What is your opinion on Sonar.podspec ? It is the 3rd bullet point on this PR

@priteshrnandgaonkar

This comment has been minimized.

Contributor

priteshrnandgaonkar commented Jul 11, 2018

@pkrmf I think we can't make it part of Core subspec, because code in sonar's podspec is imported as #import <Sonar/xyz.h> in core podspec, and we would not like to change the current import pattern as it will break our internal code. Best option would be to make a separe subspec of SonarKit, like ones we have for plugins. I will look into yoga and yogakit PR.

@priteshrnandgaonkar

This comment has been minimized.

Contributor

priteshrnandgaonkar commented Jul 11, 2018

@pkrmf I have commented on your Yoga PR.

@pkrmf

This comment has been minimized.

Contributor

pkrmf commented Jul 11, 2018

@priteshrnandgaonkar In about 1 hour I will make the changes, I will let you know

Sent with GitHawk

@priteshrnandgaonkar

This comment has been minimized.

Contributor

priteshrnandgaonkar commented Jul 13, 2018

@pkrmf I published yoga and yogakit 1.9.0 pods on cocoapods

facebook-github-bot added a commit that referenced this issue Jul 20, 2018

Removing Yoga and YogaKit from the private CocoaPods repository (#156)
Summary:
This partially fixes [#132](#132)

Yoga.podspec and YogaKit.podspec are being removed from the private repository since now they exist in the CocoaPods master repository
Pull Request resolved: #156

Reviewed By: passy

Differential Revision: D8890062

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 15ae1345c9816c1fff324cbdaff188f8ee521373
@KrauseFx

This comment has been minimized.

Contributor

KrauseFx commented Nov 17, 2018

I was thinking about this more, I'd recommend grabbing the official name as soon as possible, and putting a placeholder there for now, until this issue is fully completed.

Right now, a malicious actor could easily grab the flipper name on CocoaPods, and cause damage rather easily by abusing the prepare_command spec, or other attack vectors.

@priteshrnandgaonkar

This comment has been minimized.

Contributor

priteshrnandgaonkar commented Nov 19, 2018

Have reserved the name for Flipper and FlipperKit on cocoapods.

facebook-github-bot added a commit that referenced this issue Nov 19, 2018

Adds stub podspec files to reserve the name on cocoapods master repo (#…
…330)

Summary:
This PR adds a stub podspec files which will be pushed to cocoapods master repo to reserve our project name on cocoapods master repo. This PR follows the suggestion given by KrauseFx in #132 132. I have reserved the name of [Flipper](https://cocoapods.org/pods/Flipper) and [FlipperKit](https://cocoapods.org/pods/FlipperKit) on cocoapods with these stub podspecs.
Pull Request resolved: #330

Reviewed By: passy

Differential Revision: D13118301

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 754a69ee9577c1357cf3284b5c89143d46f69c87
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment