Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

- The `vortex.zstd` encoding now compresses and decompresses through `io.github.dfa1.zstd:zstd` (FFM bindings to the native `libzstd`) instead of `io.airlift:aircompressor-v3`. Consumers of `vortex.zstd` must declare the `zstd` dependency plus the `zstd-native-<platform>` artifact for their platform (e.g. `zstd-native-osx-aarch64`, `zstd-native-linux-x86_64`).
- The `vortex.zstd` encoding now compresses and decompresses through `io.github.dfa1.zstd:zstd` (FFM bindings to the native `libzstd`) instead of `io.airlift:aircompressor-v3`. Consumers of `vortex.zstd` declare a single dependency, `io.github.dfa1.zstd:zstd-platform`, which transitively brings the `zstd` binding plus the native `libzstd` for every supported platform (replacing the former per-platform `zstd-native-<platform>` artifacts).

### Fixed

Expand Down
6 changes: 6 additions & 0 deletions bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@
<artifactId>zstd</artifactId>
<version>${zstd.version}</version>
</dependency>
<dependency>
<!-- Marker jar bundling zstd plus native libzstd for all platforms. -->
<groupId>io.github.dfa1.zstd</groupId>
<artifactId>zstd-platform</artifactId>
<version>${zstd.version}</version>
</dependency>
<dependency>
<groupId>io.github.dfa1.vortex</groupId>
<artifactId>vortex-core</artifactId>
Expand Down
76 changes: 19 additions & 57 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
<maven.compiler.release>25</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- production -->
<zstd.version>0.2</zstd.version>
<zstd.version>0.3</zstd.version>


<fastcsv.version>4.3.0</fastcsv.version>
Expand Down Expand Up @@ -195,6 +195,14 @@
<artifactId>zstd</artifactId>
<version>${zstd.version}</version>
</dependency>
<dependency>
<!-- Marker jar that transitively pulls zstd plus the native libzstd for every
supported platform; the zstd FFM loader picks the one matching the runtime
platform. Replaces the former per-platform zstd-native-<platform> artifacts. -->
<groupId>io.github.dfa1.zstd</groupId>
<artifactId>zstd-platform</artifactId>
<version>${zstd.version}</version>
</dependency>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
Expand Down Expand Up @@ -285,6 +293,16 @@
<version>${bytebuddy.version}</version>
<scope>test</scope>
</dependency>
<!-- Native libzstd for every supported platform, bundled by the zstd-platform marker
jar; provides the runtime library the zstd FFM bindings load during our own build
and tests. Optional like the zstd binding itself: not forced on downstream consumers,
who add zstd-platform themselves (version pinned by the BOM). No per-OS profile. -->
<dependency>
<groupId>io.github.dfa1.zstd</groupId>
<artifactId>zstd-platform</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -436,62 +454,6 @@
</build>

<profiles>
<profile>
<!-- io.github.dfa1.zstd:zstd ships no bundled native; its FFM loader reads
libzstd from a /native/<platform>/ classpath resource carried by a separate
zstd-native-<platform> artifact. Pull in the one matching the build host.
Add more platforms as needed. -->
<id>zstd-native-osx-aarch64</id>
<activation>
<os>
<family>mac</family>
<arch>aarch64</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>io.github.dfa1.zstd</groupId>
<artifactId>zstd-native-osx-aarch64</artifactId>
<version>${zstd.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>zstd-native-linux-x86_64</id>
<activation>
<os>
<family>unix</family>
<name>linux</name>
<arch>amd64</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>io.github.dfa1.zstd</groupId>
<artifactId>zstd-native-linux-x86_64</artifactId>
<version>${zstd.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>zstd-native-windows-x86_64</id>
<activation>
<os>
<family>windows</family>
<arch>amd64</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>io.github.dfa1.zstd</groupId>
<artifactId>zstd-native-windows-x86_64</artifactId>
<version>${zstd.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<!-- Activated in CI: ./mvnw verify -P coverage -->
<!-- Attaches the JaCoCo agent to surefire/failsafe and writes one
Expand Down
Loading