Skip to content

Generate package-info.java for generated packages#1695

Merged
edburns merged 1 commit into
mainfrom
edburns/dd-3018850-fix-no-package-info-for-generated-classes
Jun 16, 2026
Merged

Generate package-info.java for generated packages#1695
edburns merged 1 commit into
mainfrom
edburns/dd-3018850-fix-no-package-info-for-generated-classes

Conversation

@edburns

@edburns edburns commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1694

java/scripts/codegen/java.ts

  • Added generateGeneratedPackageInfo() to emit package-info.java for the com.github.copilot.generated package. Includes Javadoc describing session event types, key classes (SessionEvent, UnknownSessionEvent), a usage example, and cross-references to related packages.
  • Added generateRpcPackageInfo() to emit package-info.java for the com.github.copilot.generated.rpc package. Includes Javadoc describing RPC parameter/result types, key classes (RpcCaller, ServerRpc, SessionRpc), and cross-references.
  • Updated main() to call both new functions after existing generation steps. The files are regenerated on each run since the output directory is cleaned first.

java/src/generated/java/com/github/copilot/generated/package-info.java

  • New auto-generated file. Provides package-level Javadoc for the session event types package, following the same style as the hand-written com.github.copilot package-info.

java/src/generated/java/com/github/copilot/generated/rpc/package-info.java

  • New auto-generated file. Provides package-level Javadoc for the RPC types package, following the same style as the hand-written com.github.copilot package-info.

Fixes #1694

## java/scripts/codegen/java.ts

- Added `generateGeneratedPackageInfo()` to emit `package-info.java` for the
  `com.github.copilot.generated` package. Includes Javadoc describing session
  event types, key classes (`SessionEvent`, `UnknownSessionEvent`), a usage
  example, and cross-references to related packages.
- Added `generateRpcPackageInfo()` to emit `package-info.java` for the
  `com.github.copilot.generated.rpc` package. Includes Javadoc describing RPC
  parameter/result types, key classes (`RpcCaller`, `ServerRpc`, `SessionRpc`),
  and cross-references.
- Updated `main()` to call both new functions after existing generation steps.
  The files are regenerated on each run since the output directory is cleaned
  first.

## java/src/generated/java/com/github/copilot/generated/package-info.java

- New auto-generated file. Provides package-level Javadoc for the session
  event types package, following the same style as the hand-written
  `com.github.copilot` package-info.

## java/src/generated/java/com/github/copilot/generated/rpc/package-info.java

- New auto-generated file. Provides package-level Javadoc for the RPC types
  package, following the same style as the hand-written `com.github.copilot`
  package-info.
@edburns edburns requested a review from a team as a code owner June 16, 2026 23:28
Copilot AI review requested due to automatic review settings June 16, 2026 23:28

Copilot AI left a comment

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.

Pull request overview

Adds auto-generated package-info.java files for the Java generated source packages so they have package-level Javadoc (matching the style of the hand-written com.github.copilot package documentation), improving IDE discoverability and generated API navigation.

Changes:

  • Extend the Java code generator to emit package-info.java for com.github.copilot.generated and com.github.copilot.generated.rpc.
  • Add generated package-level Javadoc for session event types (generated) and RPC types/wrappers (generated.rpc).
Show a summary per file
File Description
java/scripts/codegen/java.ts Adds generation steps to write package-level Javadoc (package-info.java) for the generated Java packages.
java/src/generated/java/com/github/copilot/generated/package-info.java New generated package documentation for session event types and forward-compat behavior.
java/src/generated/java/com/github/copilot/generated/rpc/package-info.java New generated package documentation for RPC params/results and typed RPC wrapper entry points.

Copilot's findings

  • Files reviewed: 1/3 changed files
  • Comments generated: 0

@github-actions

Copy link
Copy Markdown
Contributor

Cross-SDK Consistency Review ✅

This PR modifies only Java-specific files:

  • java/scripts/codegen/java.ts — adds package-info.java generation to the codegen pipeline
  • Two auto-generated package-info.java files under java/src/generated/java/

package-info.java is a Java-specific construct for providing Javadoc at the package level. The other SDKs use their own language-idiomatic documentation mechanisms:

SDK Package-level doc mechanism
Node.js/TypeScript JSDoc in index.ts or README.md
Python Docstrings in __init__.py
Go doc.go comment files
.NET XML <summary> docs + namespace docs
Rust //! module-level doc comments

No changes are needed in other SDK implementations. The PR correctly improves Java's documentation infrastructure using Java idioms without introducing any cross-language inconsistencies.

Generated by SDK Consistency Review Agent for issue #1695 · sonnet46 459.5K ·

@edburns edburns merged commit 5a80afe into main Jun 16, 2026
24 checks passed
@edburns edburns deleted the edburns/dd-3018850-fix-no-package-info-for-generated-classes branch June 16, 2026 23:33
edburns added a commit that referenced this pull request Jun 16, 2026
Fixes #1694

## java/scripts/codegen/java.ts

- Added `generateGeneratedPackageInfo()` to emit `package-info.java` for the
  `com.github.copilot.generated` package. Includes Javadoc describing session
  event types, key classes (`SessionEvent`, `UnknownSessionEvent`), a usage
  example, and cross-references to related packages.
- Added `generateRpcPackageInfo()` to emit `package-info.java` for the
  `com.github.copilot.generated.rpc` package. Includes Javadoc describing RPC
  parameter/result types, key classes (`RpcCaller`, `ServerRpc`, `SessionRpc`),
  and cross-references.
- Updated `main()` to call both new functions after existing generation steps.
  The files are regenerated on each run since the output directory is cleaned
  first.

## java/src/generated/java/com/github/copilot/generated/package-info.java

- New auto-generated file. Provides package-level Javadoc for the session
  event types package, following the same style as the hand-written
  `com.github.copilot` package-info.

## java/src/generated/java/com/github/copilot/generated/rpc/package-info.java

- New auto-generated file. Provides package-level Javadoc for the RPC types
  package, following the same style as the hand-written `com.github.copilot`
  package-info.
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.

Java: no package-info.java for generated packages

2 participants