Skip to content

GH-743: Exclude jni/ from the source-release zip - #1383

Open
ump45nose wants to merge 1 commit into
apache:mainfrom
ump45nose:fix/743-source-release-no-jni
Open

ump45nose wants to merge 1 commit into
apache:mainfrom
ump45nose:fix/743-source-release-no-jni

Conversation

@ump45nose

Copy link
Copy Markdown

What's Changed

The apache-release profile builds arrow-java-root-<version>-source-release.zip with the Apache parent's source-release assembly descriptor, which packs the whole working directory. In the release CI (ci/scripts/jni_full_build.sh . jni binaries) the pre-built JNI libraries are unpacked into jni/ in the source tree before Maven runs, so they end up in that zip (~870 MB uncompressed for 18.3.0; the 19.0.0 zip is still ~455 MB).

This adds dev/release/source-release.xml, a copy of the source-release descriptor from apache-source-release-assembly-descriptor 1.8 (the version used by the Apache parent POM) with one extra exclude for the top-level jni/ directory, and points the root POM's source-release-assembly execution at it. Nothing else about the zip changes; jni/ directories under src/ (Java packages) are not affected. I left testing/ in, since it is needed to run the tests from the source release.

Testing: I created a fake jni/arrow_dataset_jni/x86_64/libarrow_dataset_jni.so (5 MB) in the checkout and ran mvn -pl .,bom -Papache-release package -Dgpg.skip=true -DskipTests ...:

  • on main: the zip is 8.5 MB, 2077 entries, and contains jni/arrow_dataset_jni/x86_64/libarrow_dataset_jni.so
  • with this change: the zip is 3.5 MB, 2073 entries; the only difference is the jni/ entries
    mvn -pl .,bom -Pspotless spotless:check passes.

AI assistance disclosure: this change and description were prepared with the help of an AI coding assistant; the checks above were run locally.

Closes #743.

@github-actions

Copy link
Copy Markdown

Thank you for opening a pull request!

Please label the PR with one or more of:

  • bug-fix
  • chore
  • dependencies
  • documentation
  • enhancement

Also, add the 'breaking-change' label if appropriate.

See CONTRIBUTING.md for details.

@ump45nose

Copy link
Copy Markdown
Author

The "Ensure PR format" check is only waiting for a label. Could a maintainer add bug-fix? I do not have permission to label PRs here. (AI-assisted reply.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Release] arrow-java-root-18.3.0-source-release.zip includes JNI binaries

1 participant