Disabling jarHell for plugins

I have a plugin which provides database access to initialize token filter
terms and I am finally adding better testing.

Due to the fact that each database system provides different java client
drivers, the build process is a bit more complicated since the driver
dependency can change. For testing, I am using Apache Derby, which runs in
a fixture which is run before the test integration cluster is started, as
part of the current elastic build process. Unfortunately, Derby does not
have a clean separation of its Java classes between the various libraries,
causing jar hell.

I only need to disable jar hell while doing integration testing. I tried
various combinations of:

jarHell.enabled = false

integTestCluster {
dependsOn fixtureTask
setting 'jdbc.url', 'jdbc:derby://localhost:1527/derbyDB;create=true'

setting 'jarHell.enabled', 'false'
setting 'tests.jarhell.check', 'false'


but it seems like jar hell can no longer be bypassed. I only need to bypass
for testing. I could shade, but it seems like an overkill for testing,
especially since the jars will not be present in the final plugin zip file.

I also need to have the final plugin build task bypass integration testing
since I need to not have the derby jars present. Better to run two commands
instead of hacking together something that builds two different plugins
during a single build process.



This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.