cpliakas / manifest-publisher
A command line tool that builds and publishes a herrera-io/php-phar-update manifest.json file
Installs: 409
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 2
Forks: 2
Open Issues: 7
pkg:composer/cpliakas/manifest-publisher
Requires
- php: >=5.4.0
- cpliakas/git-wrapper: ~1.0
- doctrine/cache: ~1.0
- herrera-io/phar-update: ~1.0
- symfony/console: ~2.0
- symfony/filesystem: ~2.0
Requires (Dev)
- pdepend/pdepend: ~1.0
- phploc/phploc: ~2.0
- phpmd/phpmd: ~1.0
- phpunit/phpunit: ~3.0
- scrutinizer/ocular: ~1.0
- sebastian/phpcpd: ~2.0
This package is auto-updated.
Last update: 2025-09-25 16:01:15 UTC
README
Want to implement and sustain a self-update capability in your phar that is similar to Composer's self-update command?
Manifest Publisher is a CLI tool that builds on top of the Box
and Phar Update projects in
order to make it easy to implement and sustain a self-update capability in your
phar. From a technical standpoint, it automatically generates and publishes the
manifest.json file used by the Phar Update
library to determine when an update is available for your application. The
manifest.json file can be published to various targets, usually GitHub Pages.
Background
Distributing a CLI application as a phar is surprisingly simple thanks to the
excellent work of Kevin Herrera on the Box
project. He even took it a step further and made it trivial to implement
a self-update capability similar to Composer's php composer.phar self-update
command so that your users can easily keep the application up to date. Refer to
the Distributing a PHP CLI app with ease
blog post by Matthieu Moquet for a detailed
walkthrough of the Phar Update
tool. This project picks up where the blog post leaves off and provides a more
robust tool that automatically generates and publishes the manifest.json file
to various targets.
Installation
Download the manifest.phar file from https://github.com/cpliakas/manifest-publisher/releases
via the browser, or download the latest stable version via the command line:
curl -O http://www.chrispliakas.com/manifest-publisher/download/latest/manifest.phar
Usage
Generate the manifest.json for the vendor/repository project and publish it
to GitHub Pages.
php manifest.phar publish:gh-pages vendor/repository
Update the manifest.phar application to the latest stable version (Yes, this
project drinks its own champagne).
php manifest.phar self-update
Assumptions
- You are acting on a repository hosted on GitHub that you have push access to
- A
box.jsonfile is present in the project's root directory - The
gh-pagesbranch has been set up according to GitHub's documentation - The phar is distributed via GitHub Releases with tag names exactly matching the corresponding VCS tags
Gotchas
- Ensure the
vendor/herrera-io/phar-update/res/schema.jsonis included in box.json - Manifest Publisher currently does not work with private Github repos