PHPackages                             org\_heigl/single-phar-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. org\_heigl/single-phar-plugin

ActiveComposer-plugin[DevOps &amp; Deployment](/categories/devops)

org\_heigl/single-phar-plugin
=============================

Deploy single phars via composer

0.5.0(5y ago)116MITPHPPHP ^7.4 || ~8.0.0

Since Oct 13Pushed 5y ago1 watchersCompare

[ Source](https://github.com/heiglandreas/singlePharPlugin)[ Packagist](https://packagist.org/packages/org_heigl/single-phar-plugin)[ RSS](/packages/org-heigl-single-phar-plugin/feed)WikiDiscussions sharp-matthew Synced today

READMEChangelogDependencies (2)Versions (6)Used By (0)

Single Phar Plugin
==================

[](#single-phar-plugin)

This is a demo plugin that can be used to create your own Composer Plugin that installs a PHAR file instead of a sh\*tload of sourcecode

Usage
-----

[](#usage)

Create your own copy of this project by running

```
$ composer create-project org_heigl/single-phar-plugin /path/to/your/source/path
```

After that you should replace or adapt the following informations in these files:

### `src/Plugin.php`

[](#srcpluginphp)

- Line 11: replace `Org_Heigl\SinglePharPlugin` with a namespace for your Plugin Note: We need this same namespace later in line 16 of the `compposer.json`again
- Line 25: replace `JUnitDiff` with the name of your Package.
- Line 35: Replace `junitdiff` with the name of how you want to reference the phar-file you are downloading here.
- Line 39: replace the URL to the PHAR file that you want to download. For a Guide to replacement-variables see the section "Replacements" later in this document
- Line 44: replace the URl to the signature file that you want to use to verify the integrity of the downloaded PHAR-file. Again: See the section "Replacements" later in this doc for replacement variables.
- If you want to download more than one PHAR-file, duplicate the lines 33 to 46 and add more `File`-objects to the `FileList`.
- (optional) Line 27: If you want to modify the keys directory, you can specify the path to your own key directory here.

### `keys/junitdiff.key`

[](#keysjunitdiffkey)

Replace this key with the public key corresponding to the private key that you are using to sign the PHAR file with. You can get that by using something like this command

```
$ gpg --export -a junitdiff > keys/mykey.key
```

This will export the key with the ID `junitdiff` into a file `mykey.key` inside the `keys` directory.

You can add more than one key to that keys-folder and each of the keys will be used to check for a verification for the signature. So for projects that have more than one person signing builds you can add all their public keys to this folder.

### `composer.json`

[](#composerjson)

- Line 2: replace the `name` with your ownn one
- Line 3: replace the `description` with your own one
- Line 5: replace the `licence` with the one you support
- Line 6 through 11: Replace the `authors` with the ones relevant for your project or the plugin, depending on your favours.
- Line 16: replace the Namespace of the `Plugin` class with the namespace of your `Plugin`-class (as defined above)
- Line 20: replace the namespace `\\Org_Heigl\\SinglePharPlugin` here as well with the namespace of your `Plugin`-class.

### LICENSE

[](#license)

Replace the license-file with the appropriate one

### README.md

[](#readmemd)

Replace the README-File with one appropriate for your project

Replacements
------------

[](#replacements)

You can use different variables within the URLs that will be replaced with the values from the current tag of the plugin. Note that this only works when your versions follow [SemanticVersioning](https://semver.org)

To make it more visible: Let's assume we have a tag 1.2.3-RC04+build567

- *%version%* will be replaed with the full version constraint, *1.2.3-RC4+build567* from the example
- *%major%* will be replaced with the major version, *1* from the example
- *%minor%* will be replaced with the minor version, *2* from the example
- *%patch%* will be replaced with the patch version, *3* from the example
- *%release%* will be replaced with the release version, *RC04* from the example
- *%build%* will be replaced with the build version, *build567* from the example

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

2034d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5ae5183aaad2bc7453230704bd6991dc6ccbcd6e775c6a29efdc94350a69f247?d=identicon)[heiglandreas](/maintainers/heiglandreas)

---

Top Contributors

[![heiglandreas](https://avatars.githubusercontent.com/u/91998?v=4)](https://github.com/heiglandreas "heiglandreas (4 commits)")

### Embed Badge

![Health badge](/badges/org-heigl-single-phar-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/org-heigl-single-phar-plugin/health.svg)](https://phpackages.com/packages/org-heigl-single-phar-plugin)
```

###  Alternatives

[johnpbloch/wordpress-core-installer

A custom installer to handle deploying WordPress with composer

22110.8M47](/packages/johnpbloch-wordpress-core-installer)[civicrm/composer-compile-plugin

Define a 'compile' event for all packages in the dependency-graph

12488.2k15](/packages/civicrm-composer-compile-plugin)[enumag/no-thanks

Prevents symfony/flex from printing thanks reminder.

3315.6k](/packages/enumag-no-thanks)[inpsyde/vip-composer-plugin

A Composer plugin to ease deployment to wordpress.com VIP servers alongside Composer-based development.

1258.2k](/packages/inpsyde-vip-composer-plugin)[stephank/composer-plugin-nixify

Composer plugin to help with Nix packaging

1710.5k](/packages/stephank-composer-plugin-nixify)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
