Skip to content

Commit 79260aa

Browse files
committed
Update native library dev documentation
1 parent 0abcbf2 commit 79260aa

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

native-compression/README

Lines changed: 0 additions & 10 deletions
This file was deleted.

native-compression/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Updating Native Jars
2+
3+
Updating a native jar requires at least two commits.
4+
The first commit updates a GitHub workflow that generates the native libraries using GitHub Actions; the second will update the `*-native` subproject build to use the new native libraries.
5+
1. The `native-compression/*-native` subprojects depend on a .zip file and checksum file that contain the native libraries, which are hosted on Unidata servers.
6+
These files are generated on GitHub using the `.github/worlflows/lib*.yml`.
7+
To update a native jar, you first update the associated workflow.
8+
Once the workflow is on the main branch (currently `maint-5.x`), manually trigger the workflow on GitHub.
9+
The workflow output will provide a zip file and sha-256 checksum value.
10+
2. Copy the zip file generated by the workflow in step 1 to the Unidata server and generate a checksum for the file.
11+
Update the `native-compression/lib*-native/build.gradle.kts` file with the new version information and checksum value from the GitHub output.
12+
If everything looks good, and the draft PR with these changes passes, update the documentation to reflect the latest version of the native jar (see `docs/src/site/_config.yml`).
13+
Once these changes are merged, the final step is to publish a new native jar.
14+
15+
## Publishing Native Jars
16+
17+
The native jars are versioned based on the native library version (plus a build number).
18+
These jars are also published separate to the rest of the project jars.
19+
To publish a native jar, you must set the `unidata.native.publish=true` system property when running the Gradle publish command.
20+
For example, to publish the libblosc2-native jar, run:
21+
22+
```
23+
./gradlew -D"unidata.native.publish=true" :libblosc2-native:publish
24+
```

0 commit comments

Comments
 (0)