Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infection/extension-installer
Infection Extension Installer (autodiscovery of Infection extensions)
https://github.com/infection/extension-installer
Last synced: 6 days ago
JSON representation
Infection Extension Installer (autodiscovery of Infection extensions)
- Host: GitHub
- URL: https://github.com/infection/extension-installer
- Owner: infection
- License: bsd-3-clause
- Created: 2020-01-24T07:45:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-29T20:54:34.000Z (about 1 year ago)
- Last Synced: 2024-10-29T18:44:03.382Z (14 days ago)
- Language: PHP
- Size: 175 KB
- Stars: 23
- Watchers: 2
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![CI](https://github.com/infection/extension-installer/workflows/Tests/badge.svg)](https://github.com/infection/extension-installer/actions)
[![Coverage Status](https://coveralls.io/repos/github/infection/extension-installer/badge.svg?branch=master)](https://coveralls.io/github/infection/extension-installer?branch=master)# Infection - Extensions Installer
Composer plugin for automatic registering of [Infection extensions](https://packagist.org/explore/?type=infection-extension).
## How to install extension
Extension installer is bundled together with Infection core. All you need to register a custom extension is just to install a composer package.
Extension will be registered _automatically_.
Infection Extension Installer listens `post-install-cmd` and `post-update-cmd` events and as soon as it finds an Infection extension, it automatically registers it in Infection.
```bash
composer require --dev infection/codeception-adapterUsing version 1.0.0 for infection/codeception-adapter
Package operations: 1 installs, 0 updates, 0 removals
- Installing infection/codeception-adapter (1.0.0): Downloading 100%infection/extension-installer: Extensions installed
> infection/codeception-adapter: installed
```## How to write an extension for Infection
Infection extension is a composer-based package. Basically it is a composer package which conforms to the following requirements:
* its type field is set to `infection-extension`
* it has `extra.infection.class` subkey in its `composer.json` that references a class that will be invoked in the Infection runtime.Example:
```json
{
"name": "infection/codeception-adapter",
"type": "infection-extension",
"extra": {
"infection": {
"class": "Infection\\TestFramework\\Codeception\\CodeceptionAdapterFactory"
}
}
}
```### Supported extensions types
Currently, Infection supports only Test Framework extensions ([example](https://github.com/infection/codeception-adapter)).
### Available extensions
All Infection extensions can be [discovered on Packagist](https://packagist.org/explore/?type=infection-extension).
## Infection - Mutation Testing Framework
Please read documentation here: [infection.github.io](http://infection.github.io)
Twitter: [@infection_php](http://twitter.com/infection_php)