jsevellec / cassandra-unit

Utility tool to load Data into Cassandra to help you writing good isolated JUnit Test into your application
GNU Lesser General Public License v3.0
424 stars 1 forks source link

Shade thrift #253

Closed slandelle closed 6 years ago

slandelle commented 6 years ago

Motivation:

Thrift’s pom on maven central is foobar: it has a pom packaging instead of a jar one. While maven seems to deal with such invalid pom, ivy2 doesn’t. This causes cassandra-unit to crash with ivy based tools such as gradle and sbt.

FWIW, I’ve send a PR to Thrift to fix this but I don’t expect Cassandra to upgrade as Thrift is being dropped in next major release.

Modification:

Shade Thrift into shaded jar.

Result:

At least the shaded jar works with sbt and gradle.

slandelle commented 6 years ago

Hey @jsevellec @trecloux

Sadly, this one is a blocker for me. sbt 0.9 supported switching to maven resolver to resolve the dependency tree, so I was able to workaround Thrift's broken pom. But this feature hasn't been ported yet in sbt 1.0 (see #3486). As of now, I'm no longer able to import my projects in IntelliJ before of my cassandra-unit dep that pulls this broken Thrift pom :(

jsevellec commented 6 years ago

Thanks for the feedback and contribution. I don't see any blocker to integrate the change quickly

slandelle commented 6 years ago

Thanks. It looks like I need to shade thrift-server too. I'll update the PR.

slandelle commented 6 years ago

Closing, my problem is actually https://youtrack.jetbrains.com/issue/SCL-13038