CDI classes released in liquibase-core
Description
Environment
liquibase-core packaged in a JEE8 application, deployed in WildFly 18.
Activity
Former user November 20, 2019 at 9:31 PM
Thanks so much! When we released 3.8.0, we changed the build and packaging process quite a bit as we added support for the pro features. That was pretty much a ‘proof of concept’. With 3.8.1 we went to a more standard, less manual build process, but apparently we broke some things that we didn’t have tests for. With 3.8.2 (due in the next couple of days) we will address this issue.
Emond Papegaaij November 20, 2019 at 8:48 AM
Hi, looking at the packages released for 3.8.1, it seems something is wrong with the packaging itself. At https://search.maven.org/search?q=g:org.liquibase you can see both liquibase-cdi and liquibase-parent are missing version 3.8.1. Also, the contents of the 3.8.0 and 3.8.1 core jars differ substantially. This is a quick diff on the contents:
com.datical.liquibase.ext
was added in 3.8.1, containing subpackages likeappdba
,license
andstoredlogic.
liquibase.integration.cdi
was added in 3.8.1, including the cdiMETA-INF
:beans.xml
andjavax.enterprise.inject.spi.Extension
service.liquibase.pro.packaged
was added in 3.8.1, containing what looks like obfuscated code.liquibase.sdk.vagrant
andliquibase.sdk.watch
were removed in 3.8.1.
To make sure liquibase-cdi is separated from liquibase-core, the package liquibase.integration.cdi
needs to moved to the other jar, but do not forget the beans.xml
file and the Extension
service.
Former user November 19, 2019 at 8:39 PM
Hi - I don’t know a lot about CDI. Would the test for this be to just make sure that the liquibase.jar file doesn’t have the directory liquibase\integration\cdi
in it? If not, what would be a good way to reproduce this problem and then test that the fix was correct?
Former user November 18, 2019 at 7:52 PM
Thanks for this report - we will get this fixed ASAP.
Liquibase 3.8.1 includes the liquibase-cdi classes in the liquibase-core jar. This obliges us to use liquibase with CDI integration, which we do not want. Trying to start our application with 3.8.1 now gives the error below. Please provide a way to use liquibase without obligatory CDI integration.