Skip to content
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

WIP: Swift Package Manage Support #1659

Closed
wants to merge 20 commits into from
Closed

Conversation

mman
Copy link
Contributor

@mman mman commented Sep 15, 2022

This PR is here for a reference and list of steps that need to be done in order to support Swift Package Manager correctly.

Here is the quick list of things that I have made in order to support Swift Package Manager on at least iOS, iPadOS, macOS, and macCatalyst.

  • removed facebook sdk and long with all git submodules

  • removed Carthage and Cocoapods related files

  • removed Parse xcodeproj, xcworkspace, and xcconfig files

  • removed Rakefile and Gemfile used to build binary distributions

  • added Package.swift

  • added dependency on Bolts and OCMock with SPM support

  • moved files around to strictly adhere to public headers, and private headers and sources

  • fixed includes for private headers

  • wrapped platform specific code inside C #if statements as swift package support does not (yet) support this nicely

Not ready for merge, serves only as an inspiration and proof of concept

@parse-github-assistant
Copy link

parse-github-assistant bot commented Sep 15, 2022

Thanks for opening this pull request!

  • ❌ Please edit your post and use the provided template when creating a new pull request. This helps everyone to understand your post better and asks for essential information to quicker review the pull request.

@ricky641b
Copy link

ricky641b commented Sep 16, 2022

Hi, @mman I have a doubt about this. Why this was needed?
removed Carthage and Cocoapods-related files
removed Parse xcodeproj, xcworkspace, and xcconfig files
removed Rakefile and Gemfile used to build binary distributions

@mman
Copy link
Contributor Author

mman commented Sep 16, 2022

@ricky641b It was not necessary to remove Cocoapods and Carthage build files. But I did it to have clean table. To simplify Package.Swift I moved files around and did not test neither Carthage nor Cocoapods builds. I would leave them around and let CI verify that everything still builds.

Also, I removed the Facebook SDK as I do not need it but proper solution would be to depend on it via SPM as well…

@mtrezza
Copy link
Member

mtrezza commented Sep 16, 2022

See my comment #1453 (comment) regarding carthage and cocoapods.

@mtrezza
Copy link
Member

mtrezza commented Jan 30, 2023

Closing in favor of #1683

@mtrezza mtrezza closed this Jan 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants