Agamotto

MIT License

Stars
13

Agamotto

Agamotto is an opinionated tool to check that the dependencies in your Package.swift file are up to date. I wrote about it on my personal website:

[!IMPORTANT] Agamotto shells out to the swift packager manager (via swift package dump-package) to get the list of all your dependencies because I didn't want to parse it myself. I have plans to remove this behaviour eventually.

Installation

Using Homebrew

brew tap palleas/homebrew-formulas https://github.com/Palleas/homebrew-formulas.git
brew install agamotto
agamotto --version

Usage

agamotto check /path/to/your/project

Example output from this repo:

[swift-log...............] Should be updated from 1.5.4 to 1.6.1

Using the --verbose option will print the list of all your dependencies, including the ones that are already up to date:

[swift-log...............] Should be updated from 1.5.4 to 1.6.1
[swift-openapi-urlsession] Up to date.
[swift-openapi-runtime...] Up to date.
[swift-openapi-generator.] Up to date.
[swift-argument-parser...] Up to date.

Known Issues

  • This project started as a fun project, so shelling out to swift package... is not the most stable approach, especially with new version of the Swift command line tools that might change the output of the dump-package subcommand. Please file an issue if you notice something weird.
  • Agamotto only handle dependencies with exact versions, using ranges or branches will be ignored.
  • Only urls to repositories hosted on GitHub are supported right now.

Acknowledgement

Agamotto relies on a bunch of open-source libraries to work:

Why Agamotto

I'm a pretty nerdy guy with a thing for comic books and back when I started working on this project, I decided to use codenames coming from the Marvel universe. For more informations, I guess the official character page on the Marvel website is a good place to start. It goes without saying that the name Agamotto is (probably?) the property of Marvel.