Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/paypal/butterfly

Application transformation tool
https://github.com/paypal/butterfly

butterfly code-transformation migration migration-tool migrations transformation transformation-tool transformation-utilities transformations transforming-files upgrade upgrade-tool upgrades upgrading

Last synced: 2 months ago
JSON representation

Application transformation tool

Awesome Lists containing this project

README

        

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.paypal.butterfly/butterfly-core/badge.svg?style=flat)](http://search.maven.org/#search|ga|1|g:com.paypal.butterfly)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![javadoc](https://javadoc.io/badge2/com.paypal.butterfly/butterfly-utilities/javadoc.svg?label=butterfly-utilities-javadoc)](https://javadoc.io/doc/com.paypal.butterfly/butterfly-utilities)
[![javadoc](https://javadoc.io/badge2/com.paypal.butterfly/butterfly-extensions-api/javadoc.svg?label=butterfly-extensions-api-javadoc)](https://javadoc.io/doc/com.paypal.butterfly/butterfly-extensions-api)






Butterfly is an application code transformation tool, and commonly it is used to perform **automated application migrations**, **upgrades** and **source code and configuration changes**.

Visit Butterfly website for further information.

## Features

* Automated application source code transformations
* Application upgrades
* Application migrations
* Source code and configuration changes
* Plugable mechanism for Butterfly extensions, containing transformation and/or upgrade templates
* Multiple types of ready-to-use transformation utilities, including for example manipulating text, properties, XML, POM and Java files
* Resilient transformation pipeline
* Shared context among transformation utilities
* Error handling
* Dependency management among transformation utilities
* Conditional transformation utilities
* Transformation utilities execution in different modes and fashions
* Configurable utilities
* Anonymous utilities
* Multiple execution
* Group execution
* In-loop execution
* Post-transformation features
* Manual steps Reporting
* Metrics
* APIs
* Extensions API
* API for custom transformation utilities and operations
* Facade for Java application integration
* Command-Line-Interface tool
* Logging in silent or verbose mode, in info or debug level, and on console or file

## Quick start
Read the Quick Start page to learn how to use Butterfly by transforming a sample application.
Visit Butterfly website for further information.

## Release notes
See [Butterfly release notes](docs/RELEASE_NOTES.md).

## Reporting an issue
Please open an issue using our [GitHub issues](https://github.com/paypal/butterfly/issues) page.

## Contributing
You are very welcome to contribute to Butterfly! Read our [Contribution guidelines](docs/CONTRIBUTING.md).

## License
This project is licensed under the [MIT License](LICENSE.txt).