Skip to content

Dependency Release Tracker is a versatile tool that streamlines the process of tracking and updating project dependencies across multiple platforms, including Swift and Flutter. It automatically aggregates release notes, identifies outdated dependencies.

License

Notifications You must be signed in to change notification settings

hugovanderlei/DependencyReleaseTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dependency Release Tracker

video_as_gif

Overview

Dependency Release Tracker is a comprehensive tool designed to help developers keep track of package dependencies across various programming ecosystems, including Swift Package Manager (SPM) and Flutter. It lists release notes of dependencies directly within your project, helping you stay informed about updates and changes.

Features

  • Cross-platform Support: Track dependencies for Swift, Flutter, and potentially more platforms.
  • Enhanced Output Options:
    • Default Mode: Lists only packages that have updates different from the ones locked in your project.
    • --all Option: Displays release notes for all versions of the dependencies.
    • --simple Option: Outputs a simplified list without detailed release notes.

Installation

Prerequisites

Ensure you have Python installed. You can install Python via Homebrew on macOS:

brew install python

Installation

To install Python via Homebrew on macOS, run:

brew install python

This installs the latest Python version. Verify the installation with python3 --version.

Tool Installation

Install pipx if not already installed:

brew install pipx
pipx ensurepath

Install Dependency Release Tracker:

pipx install dependency-release-tracker

Upgrade

To upgrade to the latest version of dependency-release-tracker:

pipx upgrade dependency-release-tracker

GitHub Token (Swift Projects Only)

For private repositories or to increase API rate limit, a GitHub token is required:

  1. Go to GitHub settings.
  2. Navigate to "Developer settings" > "Personal access tokens".
  3. Click "Generate new token", give it a name, set an expiration, and select the repo scope.
  4. Click "Generate token" and copy the generated token.
  5. Save it securely and set it as an environment variable:

To set the GitHub token as an environment variable using .bashrc, or follow these steps:

  1. Open your terminal.

  2. Edit the .bashrc or .zshrc file using a text editor like nano or vim. For example:

    nano ~/.bashrc

    or

    nano ~/.zshrc
  3. Add the following line at the end of the file, replacing "your_github_token_here" with your actual GitHub token:

export GITHUB_TOKEN="your_github_token_here"
  1. Save the file and exit the text editor.
  2. Reload the .bashrc ou .zshrc file to apply the changes:
source ~/.bashrc

or

source ~/.zshrc
  1. Now the GITHUB_TOKEN environment variable is set and can be used in your terminal sessions. This configuration ensures that your GitHub token is securely stored as an environment variable and can be accessed by applications or scripts that need it.

Usage

Ensure you are in the root directory of your project:

  • For Swift projects, this is the directory containing the .xcworkspace.
  • For Flutter projects, ensure both pubspec.yaml and pubspec.lock are present.

Then execute:

dependency-tracker

Options:

  • --all to see all versions.
  • --simple for a simplified output.
  • --path <path_to_directory> to specify the project directory if not the current directory.
  • --help to display usage information.
  • --version to display the current version.

License

Pulse is available under the MIT license. See the LICENSE file for more info.

About

Dependency Release Tracker is a versatile tool that streamlines the process of tracking and updating project dependencies across multiple platforms, including Swift and Flutter. It automatically aggregates release notes, identifies outdated dependencies.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages