MOEN-41290: Added Swift Package Manager distribution support#91
MOEN-41290: Added Swift Package Manager distribution support#91msoumya-engg-sdk merged 1 commit intodevelopmentfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds Swift Package Manager (SPM) distribution support to the iOS-PluginBase library, transitioning from a CocoaPods-only distribution to support both CocoaPods and SPM.
Key Changes:
- Added Swift Package Manager manifest (
Package.swift) with automated generation - Restructured project to support both CocoaPods and SPM distribution methods
- Consolidated package management by removing separate plugin packages and moving them to dedicated repositories
Reviewed Changes
Copilot reviewed 69 out of 135 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| Package.swift | New SPM manifest defining package structure and dependencies |
| Utilities/post_build.rb | Script to auto-generate Package.swift from package.json configuration |
| Utilities/release_dependents.rb | Script to trigger dependent repository releases |
| package.json | Updated to single package configuration with postBuild script |
| MoEngagePluginBase.podspec | Inline podspec configuration replacing shared spec utility |
| Rakefile | Build automation for project setup using Tuist |
| Examples/* | New example project structure using Tuist for project generation |
| CONTRIBUTING.md | Developer setup and contribution guidelines |
| .github/workflows/ci.yml | CI pipeline for both CocoaPods and SPM validation |
| .github/workflows/cd.yml | Enhanced CD workflow with dependent release triggers |
Files not reviewed (2)
- Example/MoEPluginBaseExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported
- Example/MoEPluginBaseExample.xcworkspace/contents.xcworkspacedata: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7528f34 to
a9a554b
Compare
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 69 out of 135 changed files in this pull request and generated 1 comment.
Files not reviewed (2)
- Example/MoEPluginBaseExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported
- Example/MoEPluginBaseExample.xcworkspace/contents.xcworkspacedata: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e139e6e to
b9d1c7f
Compare
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 69 out of 135 changed files in this pull request and generated 3 comments.
Files not reviewed (2)
- Example/MoEPluginBaseExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported
- Example/MoEPluginBaseExample.xcworkspace/contents.xcworkspacedata: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ], | ||
| dependencies: [ | ||
| // Dependencies declare other packages that this package depends on. | ||
| .package(url: "https://github.com/moengage/apple-sdk.git", exact: "#{config.sdkVerMin}") |
There was a problem hiding this comment.
Using exact version constraints in SPM dependencies can prevent automatic bug fixes and security updates. Consider using upToNextMinor or upToNextMajor version requirements instead, or document why exact versioning is required for this dependency.
| .package(url: "https://github.com/moengage/apple-sdk.git", exact: "#{config.sdkVerMin}") | |
| .package(url: "https://github.com/moengage/apple-sdk.git", from: "#{config.sdkVerMin}") |
b9d1c7f to
74ec4f4
Compare
c53570d to
f615dca
Compare
f615dca to
da65316
Compare
Jira Ticket
Description