Implement interfaces from GithubApi for all public classes#2196
Closed
codexcoder21 wants to merge 1 commit intohub4j:mainfrom
Closed
Implement interfaces from GithubApi for all public classes#2196codexcoder21 wants to merge 1 commit intohub4j:mainfrom
codexcoder21 wants to merge 1 commit intohub4j:mainfrom
Conversation
Each public class in org.kohsuke.github now implements its corresponding interface from community.kotlin.conrib.github, extracted into the GithubApi project. This enables programming against stable interfaces rather than concrete implementations. Key changes: - ~150 classes now implement their extracted interfaces (e.g. GHApp implements community.kotlin.conrib.github.GHApp) - Enums (GHEvent, GHCommitState, GHDirection, etc.), exceptions (GHException, GHIOException, HttpException, etc.), and existing interfaces (Reactable, Refreshable, TrafficInfo, etc.) have been removed from this project as they now live in GithubApi - Added community.kotlin.conrib:github-api:1.0.0-SNAPSHOT as a Maven dependency in pom.xml - Updated all test files to import enums, exceptions, and interfaces from the new community.kotlin.conrib.github package - All 537 tests pass Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
|
Closing - PR was created against the wrong repository by mistake. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
~150 public classes now implement their corresponding interfaces from
community.kotlin.conrib.github, extracted into the separate GithubApi project. Each class (e.g.GHApp,GHRepository,GHPullRequest) now has animplements community.kotlin.conrib.github.<ClassName>clause, enabling consumers to program against stable interfaces rather than concrete implementations.Enums, exceptions, and existing interfaces removed from
org.kohsuke.github— these types (e.g.GHEvent,GHCommitState,GHDirection,GHException,HttpException,Reactable,Refreshable,TrafficInfo, and ~20 others) now live in the GithubApi project and are imported fromcommunity.kotlin.conrib.github.Added
community.kotlin.conrib:github-api:1.0.0-SNAPSHOTas a Maven dependency inpom.xmlto provide the interface definitions, enums, and exceptions.Updated all test files to import enums, exceptions, and interfaces from the new
community.kotlin.conrib.githubpackage.Files changed
implementsclauses and new importsTest plan
community.kotlin.conrib:github-api:1.0.0-SNAPSHOTdependency🤖 Generated with Claude Code