devgiants/phar-application

Boilerplate for fully maintenable PHP CLI applications packaged in PHAR

1.0.2 2018-03-30 13:24 UTC

This package is auto-updated.

Last update: 2024-04-19 01:37:22 UTC


README

## Description

Embed everything needed to create a fully maintenable PHAR application

## Installation

composer create-project devgiants/phar-application

Usage (TODO)

  • Set .env and app/bin/.env
  • Change src/App to your namespace
    • app/src/composer.json
    • All namespaces calls
  • Change box.json for app name
  • Use Model/ApplicationCommand for common model with DI and logging

PHAR Packager

This bash script goal is to ease tedious PHAR packaging process for a open-source app published on Github. This script is very specific to following case :

  • Open-source project hosted on Github
  • Use Box for create package
  • Use Kherge version (abandoned) to handle version number. TODO is to switch to maintained project ASAP
  • Use a manifest system to publish phar archive to gh-pages. You can have live example on applications I created such as livebox or websites-backup

Usage

Just make sur your local master branch is up-to-date, with README updated with good version number (the one you publish). Then:

./make-phar -n appname -v 1.2.3

This will do, in order :

  1. Create local tag with version passed as argument
  2. Push master branch to remote repo
  3. Push tags to remote repo
  4. Build PHAR using box
  5. Move generated PHAR to /tmp
  6. Checkout to gh-pages
  7. Move generated archive from /tmp to downloads/{appname}-{version}.phar
  8. Create matching manifest file
  9. Push everything to gh-page remote branch.
  10. Switch back to master