Liquibase is an open source (Apache 2.0 Licensed), database-independent library for tracking, managing and applying database changes. See http://www.liquibase.org/ for details.
It provide its own migration management, allowing multiple change set to be applied coherently on a database in any state. It is driven by XML based files.
The purpose of this improvement is both to provide access to these automated liquibase features and also to allow data migration to dynamically produce their own liquibase change log.
This will not replace, but complement, the existing schema updates done using hibernate. The hibernate schema update will be execute first, than liquibase will be invoked.
DataMigration components (that have been determined to be executed based on the database version), will be interrogated to provide their own set of <ChangeSet> elements (not wrapped in a <databaseChangeLog>), and these will be executed in order.
Than, if a ressource package named 'liquibase-xwiki/' has been provided, all the xml file it contains will be evaluated as well.
Logging will be properly redirected to our logging component and filtered to avoid unwanted "if this is the case" warnings.