Skip to content

Exclude package-info.class from shaded fastutil dependency #3321

@jerolba

Description

@jerolba

Describe the enhancement requested

I've noticed that some JARs include package-info.class files from the shaded it.unimi.dsi:fastutil dependency.

These files are located in packages that are otherwise empty:

jar tf ./parquet-variant-1.16.0.jar | grep "shaded/parquet/it"
shaded/parquet/it/
shaded/parquet/it/unimi/
shaded/parquet/it/unimi/dsi/
shaded/parquet/it/unimi/dsi/fastutil/
shaded/parquet/it/unimi/dsi/fastutil/booleans/
shaded/parquet/it/unimi/dsi/fastutil/booleans/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/bytes/
shaded/parquet/it/unimi/dsi/fastutil/bytes/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/chars/
shaded/parquet/it/unimi/dsi/fastutil/chars/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/doubles/
shaded/parquet/it/unimi/dsi/fastutil/doubles/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/floats/
shaded/parquet/it/unimi/dsi/fastutil/floats/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/ints/
shaded/parquet/it/unimi/dsi/fastutil/ints/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/io/
shaded/parquet/it/unimi/dsi/fastutil/io/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/longs/
shaded/parquet/it/unimi/dsi/fastutil/longs/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/objects/
shaded/parquet/it/unimi/dsi/fastutil/objects/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/package-info.class
shaded/parquet/it/unimi/dsi/fastutil/shorts/
shaded/parquet/it/unimi/dsi/fastutil/shorts/package-info.class

I believe these package-info.class files are unnecessary, even in artifacts that make use of other fastutil classes.

I propose filtering these files out in the maven-shade-plugin configuration to reduce the final JAR size.

Component(s)

Build

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions