Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ on:
type: boolean
required: false
default: true
release-personalize:
description: Whether to release Personalize
type: boolean
required: false
default: true

jobs:
release:
Expand Down
10 changes: 6 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ Before you begin, ensure you have the following installed:
git clone https://github.com/moengage/apple-plugin-cards.git
git clone https://github.com/moengage/apple-plugin-geofence.git
git clone https://github.com/moengage/apple-plugin-inbox.git
git clone https://github.com/moengage/apple-plugin-personalize.git
```

1. **Comment out `iOS-PluginBase` version based dependency in cards, geofence and inbox `Package.swift` package manifest and uncomment relative path dependency.** i.e
1. **Comment out `iOS-PluginBase` version based dependency in cards, geofence, inbox and personalize `Package.swift` package manifest and uncomment relative path dependency.** i.e

```swift
// comment out following by prefixing with "// "
Expand Down Expand Up @@ -67,7 +68,8 @@ your-workspace/
├── iOS-PluginBase/ # This repository
├── apple-plugin-cards/ # Cards plugin repository
├── apple-plugin-geofence/ # Geofence plugin repository
└── apple-plugin-inbox/ # Inbox plugin repository
├── apple-plugin-inbox/ # Inbox plugin repository
├── apple-plugin-personalize/ # Personalize plugin repository
└── hybrid/ # Hybrid package repository (Flutter, RN etc.)
```

Expand Down Expand Up @@ -110,7 +112,7 @@ The project depends on:

- **MoEngage Apple SDK** (version 10.07.1+)
- **UIKit, Foundation, UserNotifications** frameworks
- **Cards, Geofence, Inbox plugins** (for full functionality)
- **Cards, Geofence, Inbox, Personalize plugins** (for full functionality)

### Version Management

Expand All @@ -133,7 +135,7 @@ The project includes:
The project uses automated release workflows:

- **CI/CD**: GitHub Actions for testing and deployment
- **Dependent releases**: Automated release of dependent plugins (Cards, Geofence, Inbox)
- **Dependent releases**: Automated release of dependent plugins (Cards, Geofence, Inbox, Personalize)
- **Version bumping**: Automated version management across related repositories

### Troubleshooting
Expand Down
1 change: 1 addition & 0 deletions Examples/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ target 'MoEngagePluginBaseCocoaiOS' do
pod 'MoEngagePluginGeofence', :path => '../../apple-plugin-geofence'
pod 'MoEngagePluginInbox', :path => '../../apple-plugin-inbox'
pod 'MoEngagePluginCards', :testspecs => ['Tests'], :path => '../../apple-plugin-cards'
pod 'MoEngagePluginPersonalize', :path => '../../apple-plugin-personalize'
end
2 changes: 2 additions & 0 deletions Examples/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ let project = Project(
.local(path: "../../apple-plugin-cards"),
.local(path: "../../apple-plugin-geofence"),
.local(path: "../../apple-plugin-inbox"),
.local(path: "../../apple-plugin-personalize"),
],
targets: [
// Sample Apps
Expand Down Expand Up @@ -56,6 +57,7 @@ let project = Project(
.package(product: "MoEngagePluginCards", type: .runtime),
.package(product: "MoEngagePluginGeofence", type: .runtime),
.package(product: "MoEngagePluginInbox", type: .runtime),
.package(product: "MoEngagePluginPersonalize", type: .runtime),
],
settings: .settings(base:defaultSettings)
),
Expand Down
3 changes: 2 additions & 1 deletion Utilities/release_dependents.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ module MoEngagePluginSDK
repo_flag_mapping = {
'apple-plugin-cards' => 'release-cards',
'apple-plugin-geofence' => 'release-geofence',
'apple-plugin-inbox' => 'release-inbox'
'apple-plugin-inbox' => 'release-inbox',
'apple-plugin-personalize' => 'release-personalize'
}

inputs = JSON.parse(ENV['MO_WORKFLOW_INPUTS'])
Expand Down
Loading