Podrpt
A CLI tool π for analyzing and reporting outdated CocoaPods dependencies directly to Slack.
Podrpt is a command-line tool written in Ruby, focused on speed and automation. It parses your Podfile.lock
, identifies outdated pods, and sends a clear, actionable report to Slack, making it perfect for Continuous Integration (CI/CD) pipelines.
Table of Contents
- β¨ Key Features
- π Getting Started
- 1. Installation
- 2. Initial Setup
- 3. Usage
- π License
- βοΈ Code of Conduct
β¨ Key Features
- π Fast Analysis: Uses the native CocoaPods API for superior performance, avoiding slow shell-out commands.
- π Slack Reports: Sends cleanly formatted notifications directly to a Slack channel, ideal for CI/CD pipelines.
- β οΈ Risk Assessment: Assign custom risk scores and owner teams to each dependency via a
PodsRisk.yaml
file. - π― Dependency Filtering: Ignore transitive dependencies and focus only on the pods you directly manage with a
PodsAllowlist.yaml
. - βοΈ Interactive Setup: A simple
init
command generates all the necessary configuration files to get you started. - π€ CI/CD Focused: Designed to run in automated environments without leaving behind unnecessary file artifacts.
π Getting Started
Follow the three steps below to set up and run Podrpt in your project.
1. Installation
Add the gem to your project's Gemfile
:
gem 'podrpt', '~> 1.0.0'
And then execute:
bundle install
Setup
After installing the gem, you need to generate the configuration files in your project's root directory. Navigate to your iOS project's root folder and run the interactive setup command:
And then execute:
bundle exec podrpt init
This command will:
1 Create a sample PodsRisk.yaml file for defining risk scores.
default:
risk: 500
owners: []
pods:
XPTO:
risk: 100
owners: ['core-team']
2 Create a sample PodsAllowlist.yaml file for filtering dependencies.
3 Prompt you for your Slack Incoming Webhook URL and save it securely in a .podrpt.yml file (which should be added to your .gitignore).
After running init, customize the generated .yaml files to fit your project's needs.
Usage
To run an analysis and send a report to Slack, simply execute the run command:
And then execute:
bundle exec podrpt run
If you want to see what will be sent and what URL is configured, use this command:
bundle exec podrpt run --dry-run
The report will only include outdated pods by default.
π License
The gem is available as open source under the terms of the MIT License.
βοΈ Code of Conduct
Everyone interacting in the Podrpt project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.