Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/paypal/butterfly
- Owner: paypal
- License: mit
- Created: 2017-09-21T20:55:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-18T16:21:22.000Z (10 months ago)
- Last Synced: 2024-04-13T19:26:43.134Z (9 months ago)
- Topics: butterfly, code-transformation, migration, migration-tool, migrations, transformation, transformation-tool, transformation-utilities, transformations, transforming-files, upgrade, upgrade-tool, upgrades, upgrading
- Language: Java
- Homepage: https://paypal.github.io/butterfly/
- Size: 7.43 MB
- Stars: 44
- Watchers: 14
- Forks: 68
- Open Issues: 104
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
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).