Skip to content

Adopt cross-repo dependency versioning and shared CI - #124

Merged
ShreckYe merged 33 commits into
mainfrom
improve-cross-repo-dependency
Jul 24, 2026
Merged

Adopt cross-repo dependency versioning and shared CI#124
ShreckYe merged 33 commits into
mainfrom
improve-cross-repo-dependency

Conversation

@ShreckYe

@ShreckYe ShreckYe commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

Adopt the dev-commit cross-repo dependency model and shared CI for exposed-vertx-sql-client.

  • Settings: team public Maven repo DSL in dependency-resolution management (mavenCentralExcludingHuanshankeji + version-partitioned GitHub Packages); apply base-settings-conventions; drop project-level repo declarations
  • Build logic: devCommitOrReleaseVersionProvider with isRelease; opensourceconvention GitHub Packages publish (signAllPublicationsIfRelease); Kotlin ABI validation and shared Dokka convention; extract common-conventions.gradle.kts; share the gradle-common classpath bootstrap between settings.gradle.kts and buildSrc
  • CI: adopt shared ci.yml/publish.yml reusable workflows, update codecov.yml (GPR credentials + shared setup), remove legacy kotlin-jvm-ci, and bump related Actions
  • Pin gradle-common to a dev-commit version; document GitHub Packages credentials in CONTRIBUTING.md
  • Enable the Gradle build cache; upgrade the Gradle wrapper

Test plan

  • ./gradlew check --no-daemon (excluding Docker integration tests)

Made with Cursor

Git-version, public Maven repo DSL, kotlin-abi-validation, and root conventions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@ShreckYe, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 4 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 52c94dad-46d9-4af9-a403-85b8779d09df

📥 Commits

Reviewing files that changed from the base of the PR and between d02cc60 and 9f30629.

⛔ Files ignored due to path filters (1)
  • gradle/wrapper/gradle-wrapper.jar is excluded by !**/*.jar
📒 Files selected for processing (18)
  • .github/workflows/ci.yml
  • .github/workflows/codecov.yml
  • .github/workflows/copilot-setup-steps.yml
  • .github/workflows/dokka-gh-pages.yml
  • .github/workflows/kotlin-jvm-ci.yml
  • .github/workflows/publish.yml
  • CONTRIBUTING.md
  • build.gradle.kts
  • buildSrc/build.gradle.kts
  • buildSrc/src/main/kotlin/VersionsAndDependencies.kt
  • buildSrc/src/main/kotlin/conventions.gradle.kts
  • buildSrc/src/main/kotlin/lib-conventions.gradle.kts
  • gradle.properties
  • gradle/classpath-bootstrap.gradle.kts
  • gradle/wrapper/gradle-wrapper.properties
  • gradlew
  • gradlew.bat
  • settings.gradle.kts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch improve-cross-repo-dependency

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request refactors the build configuration by modularizing build logic into several new convention plugins (such as common-conventions, dokka-convention, version, and maven-central) and updating Kotlin and other dependency versions. It also configures the public-open-source-dependency-repositories plugin in settings.gradle.kts. A review comment points out that the gradleCommonPluginsVersion variable is defined in VersionsAndDependencies.kt but is unused, as it is already defined locally in buildSrc/build.gradle.kts where it is needed.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread buildSrc/src/main/kotlin/VersionsAndDependencies.kt Outdated
ShreckYe and others added 5 commits June 15, 2026 22:12
OSS Exposed Vert.x SQL client: reusable CI/publish workflows with secrets: inherit; align gradleCommonPluginsVersion to gradle-common dev-commit on this branch.

Part of improve-cross-repo-dependency overhaul; user reviewed workflow and
version pin changes after initial agent draft.

Co-authored-by: Cursor <cursoragent@cursor.com>
Point gradle-common and internal dependency coordinates at clean
-dev-commit-<hash> versions from improve-cross-repo-dependency commits
(not -dirty-SNAPSHOT). Update gradleCommonPluginsVersion to gradle-common 7fe538f.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Follow gradle-common 99eef7d for git-based versioning and renamed team plugins.

- Inline projectVersionFromGitProvider into conventions.gradle.kts (main branch location) and remove the PR-added version.gradle.kts script
- Enable abiValidation() on lib-conventions, matching main branch root build.gradle.kts scope
- Rename publish and root-project plugin IDs
- Add exclusiveContent-filtered pluginManagement GPR for gradle-common
- Drop this repo and gradle-common from githubPackages in dependency settings; gradle-common is build logic, not a runtime dependency repository
@ShreckYe
ShreckYe force-pushed the improve-cross-repo-dependency branch from 83bf499 to b934c2e Compare July 7, 2026 03:48
ShreckYe and others added 13 commits July 7, 2026 14:42
Co-authored-by: Cursor <cursoragent@cursor.com>
Use thin settings modules from gradle-common#71, extract the shared
plugins version in settings, and switch buildSrc to project-gradle-plugins.

Co-authored-by: Cursor <cursoragent@cursor.com>
Adopt mavenCentralExcludingHuanshankeji, version-partitioned githubPackages,
and consistent repository call order.

Co-authored-by: Cursor <cursoragent@cursor.com>
Internal releases resolve from GitLab only; SNAPSHOTs stay on mavenLocal.

Co-authored-by: Cursor <cursoragent@cursor.com>
…dlerContext.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ettings DRM.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extract version and GitHub Packages exclusiveContent into classpath-bootstrap.gradle.kts so pluginManagement and buildSrc no longer duplicate the chicken/egg wiring, and buildSrc can resolve *-dev-commit-* plugins without mavenLocal.
Local builds that resolve gradle-common plugins or sibling dependency libraries from GitHub Packages need gpr.user/gpr.key with read:packages.

Co-authored-by: Cursor <cursoragent@cursor.com>
CI is covered by the shared gradle-ci reusable workflow via ci.yml.

Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve gradle-common plugins from GPR and align JDK/Gradle setup with shared CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@ShreckYe
ShreckYe force-pushed the improve-cross-repo-dependency branch from f2add58 to ac593fd Compare July 21, 2026 20:13
…on to eae34a0.

Use the team GitHub Packages/Maven Central publish plugin with
gitVersioningOpenSourceConventionGithubPackagesPublish.signAllPublicationsIfRelease,
switch versions to devCommitOrReleaseVersionProvider, and pin gradle-common to
0.12.0-dev-commit-eae34a0cc36c830cb52880c4df06747ad2abca79.
@ShreckYe
ShreckYe force-pushed the improve-cross-repo-dependency branch from ac593fd to 7097b8f Compare July 21, 2026 20:14

@ShreckYe ShreckYe left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Approve

@sonarqubecloud

Copy link
Copy Markdown

@ShreckYe
ShreckYe marked this pull request as ready for review July 24, 2026 01:27
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@ShreckYe
ShreckYe merged commit 9398188 into main Jul 24, 2026
11 checks passed
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.

1 participant