Skip to content

paypal/butterfly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maven Central License: MIT javadoc javadoc




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.

Reporting an issue

Please open an issue using our GitHub issues page.

Contributing

You are very welcome to contribute to Butterfly! Read our Contribution guidelines.

License

This project is licensed under the MIT License.