Netflix / iceberg

Iceberg is a table format for large, slow-moving tabular data
Apache License 2.0
478 stars 60 forks source link

iceberg-runtime jar on JitPack is empty #96

Closed xabriel closed 5 years ago

xabriel commented 5 years ago

If I build myself iceberg, I get a proper iceberg-runtime jar:

gradle build

Produces a fat jar for runtime:

$ cd runtime/build/libs
$ jar -tf iceberg-runtime-0.4.1-3-g06d16af.jar | wc -l
   18824

( jar -tf lists the content of a jar file. )

But when I pull this jar from JitPack, with, say, mvn, the jar is empty, only including manifest file:

$ pwd
/Users/xcollazo/.m2/repository/com/github/Netflix/iceberg/iceberg-runtime/0.4.1
$ ls
_remote.repositories        iceberg-runtime-0.4.1.jar.sha1  iceberg-runtime-0.4.1.pom.sha1
iceberg-runtime-0.4.1.jar   iceberg-runtime-0.4.1.pom   m2e-lastUpdated.properties
$ jar -tf iceberg-runtime-0.4.1.jar | wc -l
       2
$ jar -tf iceberg-runtime-0.4.1.jar
META-INF/
META-INF/MANIFEST.MF

I can repro on 0.4.1 and 0.4.0 so it doesn't seem to be a one off.

rdblue commented 5 years ago

Thanks for reporting this, @xabriel!

I'm not sure what's going on, since the Jar looks fine when built locally. I'll look into it because we want to publish that shaded Jar to make it easy to work with Spark.

rdblue commented 5 years ago

I think the problem is that JitPack uses the install task and that doesn't have a dependency on the shadowJar task. We've added it to the build task instead. I'll update and tag a new release shortly.

rdblue commented 5 years ago

@xabriel, can you check version 0.5.0?

xabriel commented 5 years ago

Jar looks legit now:

$ pwd
/Users/xcollazo/.m2/repository/com/github/Netflix/iceberg/iceberg-runtime/0.5.0
$ jar -tf iceberg-runtime-0.5.0.jar | wc -l
   18824

Thanks!