张立卡斯 / manifest-publisher
一个命令行工具,用于构建和发布 herrera-io/php-phar-update 的 manifest.json 文件
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: 2024-08-25 13:22:12 UTC
README
想在自己的 phar 中实现和维持一个类似于 Composer 的 self-update 命令的自更新功能吗?
Manifest Publisher 是一个 CLI 工具,基于 Box 和 Phar Update 项目构建,以便轻松实现和维护 phar 的自更新功能。从技术角度来看,它自动生成并发布用于确定您的应用程序何时可更新的 Phar Update 库的 manifest.json
文件。该 manifest.json
文件可以发布到各种目标,通常是 GitHub Pages。
背景
多亏了 Kevin Herrera 在 Box 项目上的出色工作,将 CLI 应用程序作为 phar 分发变得非常简单。他甚至更进一步,使实现类似于 Composer 的 php composer.phar self-update
命令的自更新功能变得非常简单,这样您的用户就可以轻松保持应用程序的更新。请参阅 Matthieu Moquet 的博客文章 Distributing a PHP CLI app with ease,其中详细介绍了 Phar Update 工具。本项目从博客文章的结尾开始,提供一个更强大的工具,可自动生成并发布到各种目标的 manifest.json
文件。
安装
通过浏览器从 https://github.com/cpliakas/manifest-publisher/releases 下载 manifest.phar
文件,或通过命令行下载最新稳定版本
curl -O http://www.chrispliakas.com/manifest-publisher/download/latest/manifest.phar
用法
为 vendor/repository
项目生成 manifest.json
并将其发布到 GitHub Pages。
php manifest.phar publish:gh-pages vendor/repository
将 manifest.phar
应用程序更新到最新稳定版本(是的,本项目自食其果)。
php manifest.phar self-update
假设
- 您正在操作一个位于 GitHub 上且您有推送访问权限的存储库
- 项目的根目录中存在
box.json
文件 - 已根据 GitHub 的文档 设置了
gh-pages
分支 - phar 通过 GitHub Releases 分发,标签名称与相应的 VCS 标签完全匹配
注意事项
- 确保将
vendor/herrera-io/phar-update/res/schema.json
包含在 box.json 中 - Manifest Publisher 当前不支持私有 GitHub 仓库