-
-
Notifications
You must be signed in to change notification settings - Fork 872
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
Support Swift Package Manager #1453
Comments
Would we actually need to do anything to OCMock? It's not part of the distribution as far as I can tell; it's a development dependency. FYI I don't know anything about SPM yet, but I assume it would be used to install the SDK to projects. Just using the SDK in a project doesn't require OCMock. |
This sounds like a great idea. Do you want to open a PR for the iOS part of the process? |
@mrmarcsmith I can’t fork into the parse repository. (I’m not a member of Parse). So could you fork it? I’ll make a PR |
sure! It would be great if your PR included some instructions in the README on how to use SPM with Parse since this would be my first experience using SPM so I'm sure lots of other people are curious how to use it too. |
Anyone should be able to fork parse. Thats super weird. So, I'm curious if we could talk to the bolts guys about just turning the repo to us. Like Parse, Bolts was previously maintained by Facebook and at around the same time as Parse they turned over Bolts to community contributors. So, theres probably at least a little report with them. Not to mention Parse is probably the largest application to use Bolts. |
+1 to SPM support! |
This issue has been automatically marked as stale because it has not had recent activity. If you believe it should stay open, please let us know! As always, we encourage contributions, check out the Contributing Guide |
SPM is getting more popular recently and with WWDC and Xcode updates coming soon I'm guessing it will only increase. Just bringing this up to see if we can re-open and figure out what to do with Bolts. |
@noobs2ninjas has been communicating with FB open source so if someone wants to make a PR to bolts with SPM support we could probably get it merged now. |
Just to clarify, the PR is needed to Bolts-ObjC as the Swift version of Bolts is already SPM compatible. |
Any news on this topic? |
Definitely bumping for support especially since now SwiftPM has a gui and has been updated to handle frameworks better. Its far easier and less cumbersome then pods at this point. |
Please recently SPM is becoming more and more popular 🙏 |
We would gladly accept a PR for this, as I understand we still need SPM support from Bolts-obj. |
Any progress with this one? tnx |
Right now I'm working on a fork of our dependency Bolts-Objc with SPM support. Once that works, I'll see if I can do the same to the SDK. I can't give you an estimate on completion, sorry. |
I've got a PR open against Bolts that adds SPM support. Started looking at this library today. |
WIP here |
Maybe not an option for everyone but there is a rebuild of the Parse API for iOS in Swift: https://github.com/parse-community/Parse-Swift |
Any news ? |
There's nothing newer than what's on my branch right now that I'm aware of. But the main Parse SDK imports properly using SPM in that branch IIRC. I do plan on getting it working, but I need to find time. I'd welcome any help. PR is here. |
Problem is, its currently missing a lot of features and because they renamed a bunch of methods new users may struggle to implement it until documentation is updated accordingly. |
@mtrezza Exposing multiple |
As @mman says, yes it should. I believe the only install route that suffers from everything always being installed is Carthage.
It's a legitimate concern, but since we specify which version of the FBSDK we use, the breakage generally won't catch us unawares. Moving between FB dep versions is an explicit, conscious action, and the developer should be able to see if the update breaks anything. The only place I see this causing issues is when an Apple SDK update breaks whatever version of the FB SDK we're using. And if that happens, it's likely to be because we're hanging on an old version; FB seems to keep up to speed with Apple's newest stuff pretty well. Even then, the move to a newer Apple SDK is a conscious move. |
@mman I've been bashing my head against something for a minute now... I've got my fork rebased with mainline, but it seems like no matter what I do, I can't get the tests to see the main source files. You're doing it with cSettings I gather, but when I do similar, they seem to be ignored. Do you know of any reason why this might be? The only differences I can see are that I use the path and publicHeadersPath attributes. EDIT: You've also flattened the source structure much more. Starting to think this might be the right way forward tbh. |
@drdaz Do you have any error messages? The line: https://github.com/mman/Parse-SDK-iOS-OSX/blob/b1f2a5cd1e5df228c34171495af0ccd3455492a2/Package.swift#L25 here shows that tests must depend on Parse, Bolts, and OCMock, and we only use .headersSearchPath to actually lookup internal header files that are not public |
@danipralea What URL you specified as a dependency? I guess the way to the future is to use Parse Swift SDK implementation and fall back to this legacy repository only when you really need it and know what you are doing. Feel free to use the |
@mman yeah, I've already made the transition to Parse Swift SDK, but we still need to support this one as well. Big project, slow transition. |
@mman Did you or do you want to open a PR for spm support? @danipralea Please keep in mind the risks when using an unofficial fork of any Parse Platform repository that is outside of our GitHub org. |
@mtrezza I did a lot of temporary hacks to make the package compile for tvOS, macOS, and iOS, and it generally works, but I had to reorganize sources a lot (which I do not like), i had to |
Got it. I think as long as this repo is embeddable with in some way, I think we're good. We made carthage work recently, so it's available I'd say. |
Has there been any progress in adding SPM support? Would anyone be interested to pick this up? The FB SDK is at 14.1.0 and we are still stuck at 11.0.1, because they have deprecated support for carthage in favor of SPM. Upgrading the SDK could help developers who are not ready to migrate to the Parse Swift SDK. The migration process is also not documented yet, so this gives a bit more time. We could also increase the bounty if necessary. |
@mman Could you open a PR from your |
@mtrezza Sure, I have opened parse-community/Bolts-ObjC#3 and #1659. |
Thanks, if you find some time, could you resolve the conflicts, so that these show the latest state compared to the target branches? |
Hi everyone, @ricky641b will give it a shot to add full SPM support. Luckily he can build on the PRs and investigations already done by you. Let's support him with whatever questions he may have, to get this over the finish line - thanks especially to @mman, @drdaz! |
@ricky641b, @mtrezza I will be happy to help !!! |
|
I can try it once again if you allow me to
On Thu, 5 Jan 2023 at 5:22 AM, Manuel ***@***.***> wrote:
Could someone try out #1683
<#1683> to add
the SDK via Swift Package Manager?
cc @drdaz <https://github.com/drdaz> @mman <https://github.com/mman>
—
Reply to this email directly, view it on GitHub
<#1453 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABSL4QIV774EBRJNMP7G2CTWQYEKXANCNFSM4IY5EKEQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Warm Regards
*Bhavesh Gupta*
Owner @ Atikin Technologies
http://atikin.tech
|
@ricky641b The SPM integration should be done with #1683; with try out I meant to try to add the Parse Apple SDK via SPM in Xcode using the PR's branch. |
🎉 This change has been released in version 2.0.0 |
Parse has two dependencies, Bolts and OCMock.
I think Bolts is not maintainability, so If we want to keep the Parse-Objc or support latest tech stacks like SPM, I think fork the Bolts is a better option.
Here is my suggestion.
That's it.
What do you think about this?
Another option is to focus on the Parse-Swift like Parse Dart SDK.
PS. FireBase also has dependencies with OCMock. firebase/firebase-ios-sdk#3136
The text was updated successfully, but these errors were encountered: