CDI injection does not work with openwebbeans

Description

I'm using Liquibase 2.0.5 for CommaFeed (https://github.com/Athou/commafeed) running on TomEE (javaee6).

I'm calling liquibase update manually because I want to have control over when the update takes place. I have a @Startup bean calling this class https://github.com/Athou/commafeed/blob/master/src/main/java/com/commafeed/backend/DatabaseUpdater.java and everything works fine.

Upgrading to Liquibase 3.0.0 breaks my setup. CDILiquibase is instanciated automatically because I have a CDI-enabled environnment even though I did not ask for it and I get an error because I did not define a Producer method for ResourceAccessor. That's fine, I just created three producers returning null for ResourceAccessor, DataSource and CDILiquibaseConfig and I'm setting the Liquibase.SHOULD_RUN_SYSTEM_PROPERTY system property to false.

After that, I get an error that I suspect being an Openwebbeans issue saying liquibase.integration.cdi.CDIBootstrap$1 cannot be cast to org.apache.webbeans.component.AbstractOwbBean.

I think one way to fix this would be to add a flag to disable the CDI extension bootstrap completely. Another would be to move the CDI intergation in an optional module.

Environment

TomEE 1.5.2

Reporter

Jérémie Panzer

Components

Fix versions

Affects versions

Priority

Critical
Configure