Skip to content

Include sources.jar and javadoc.jar in the Java Maven repo output - #23389

Merged
rapids-bot[bot] merged 2 commits into
NVIDIA:release/26.08from
paul-aiyedun:paul/add_java_doc_jar
Jul 22, 2026
Merged

Include sources.jar and javadoc.jar in the Java Maven repo output#23389
rapids-bot[bot] merged 2 commits into
NVIDIA:release/26.08from
paul-aiyedun:paul/add_java_doc_jar

Conversation

@paul-aiyedun

Copy link
Copy Markdown
Contributor

Description

Align the java-build and java-gather artifact set with what Maven Central requires for a release (main classifier JAR, sources.jar, javadoc.jar, POM).

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Align the java-build and java-gather artifact set with what Maven
Central requires for a release (main classifier JAR, sources.jar,
javadoc.jar, POM).
@paul-aiyedun
paul-aiyedun requested a review from a team as a code owner July 21, 2026 23:53
@github-actions github-actions Bot added the Java Affects Java cuDF API. label Jul 21, 2026
@paul-aiyedun paul-aiyedun moved this to Burndown in libcudf Jul 21, 2026
@paul-aiyedun paul-aiyedun added the non-breaking Non-breaking change label Jul 21, 2026
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • New Features
    • Maven builds now produce sources and Javadoc JARs alongside classifier-specific JARs.
    • Assembled Maven repositories include shared sources and Javadoc artifacts in the version directory.
  • Bug Fixes
    • Build and repository assembly now validate required artifacts and report clear errors when files are missing or ambiguous.
  • Documentation
    • Updated build instructions and help text to describe the expanded artifact outputs and repository layout.

Walkthrough

Changes

Java artifact publishing

Layer / File(s) Summary
Build and package expanded artifacts
java/ci/build_cudf_java_jar_in_container.sh
The container build installs JDK 17 for the javadoc profile, updates Maven logging, and validates and copies classifier, sources, javadoc, and POM artifacts.
Assemble shared repository artifacts
java/ci/assemble_maven_repo.sh
Repository assembly validates shared sources and javadoc JARs across classifier directories and copies canonical artifacts into the version directory.
Document the expanded artifact layout
java/ci/README.md
The CI README documents the expanded build outputs and repository layout.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • rapidsai/cudf#23261: Updates the same Java CI scripts to emit, validate, and assemble sources and javadoc artifacts.

Suggested labels: ci, improvement

Suggested reviewers: jameslamb, msarahan, vuule

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: adding sources.jar and javadoc.jar to the Java Maven repo output.
Description check ✅ Passed The description is directly related to the changeset and accurately describes the Maven Central artifact set update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
java/ci/README.md (1)

48-53: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add language identifiers to both fenced examples.

Both blocks trigger markdownlint MD040 because their fences are untyped.

  • java/ci/README.md#L48-L53: change the Step 2 output-tree fence to ```text.
  • java/ci/README.md#L79-L85: change the Step 3 repository-layout fence to ```text.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@java/ci/README.md` around lines 48 - 53, Type both untyped fenced examples as
text to satisfy markdownlint MD040: update the Step 2 output-tree fence at
java/ci/README.md lines 48-53 and the Step 3 repository-layout fence at
java/ci/README.md lines 79-85 to use the text language identifier.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@java/ci/README.md`:
- Around line 48-53: Type both untyped fenced examples as text to satisfy
markdownlint MD040: update the Step 2 output-tree fence at java/ci/README.md
lines 48-53 and the Step 3 repository-layout fence at java/ci/README.md lines
79-85 to use the text language identifier.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: af7adc7b-d960-4d7b-8211-4ec23183cd27

📥 Commits

Reviewing files that changed from the base of the PR and between 4f082f3 and 81671e5.

📒 Files selected for processing (3)
  • java/ci/README.md
  • java/ci/assemble_maven_repo.sh
  • java/ci/build_cudf_java_jar_in_container.sh

#
# Output layout:
# <output-dir>/ai/rapids/cudf/<version>/cudf-<version>-<classifier>.jar
# <output-dir>/ai/rapids/cudf/<version>/cudf-<version>-sources.jar

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The intended Maven repository must contain an unclassified primary artifact like cudf-26.08.0.jar for the release deploying.

Please remember to generate the unclassified primary artifact

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. Since the unclassified primary artifact is semantically the same as one of the generated artifacts (i.e. cudf-26.08.0-cuda12.jar), the plan is to create this artifact in the publication workflow.

@paul-aiyedun paul-aiyedun added the bug Something isn't working label Jul 22, 2026
@paul-aiyedun

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit b6b58b3 into NVIDIA:release/26.08 Jul 22, 2026
86 checks passed
@GregoryKimball GregoryKimball moved this from Burndown to Landed in libcudf Jul 22, 2026
@GregoryKimball GregoryKimball removed this from libcudf Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Java Affects Java cuDF API. non-breaking Non-breaking change

Projects

Status: Landed

Development

Successfully merging this pull request may close these issues.

4 participants