Skip to content

Conversation

@lusu007
Copy link
Contributor

@lusu007 lusu007 commented Jan 26, 2026

Pull Request

Description

Type of Change

  • πŸ› Bug fix
  • ✨ New feature
  • πŸ’₯ Breaking change
  • ♻️ Refactoring
  • πŸ“š Documentation
  • πŸ”§ Chore

Related Issues

None

Testing

  • Unit tests pass
  • Manual testing completed
  • New tests added for new functionality

Checklist

  • I have performed a self-review of my own code
  • Tests have been added/updated and pass (if needed)
  • Documentation has been updated (if needed)

@lusu007 lusu007 requested a review from ItsKev January 26, 2026 13:53
@lusu007 lusu007 self-assigned this Jan 26, 2026
Copilot AI review requested due to automatic review settings January 26, 2026 13:53
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Gradle plugin documentation to reflect the move from β€œproject plugins” (root/paper/velocity) to a Gradle convention plugin bundle with a base-conventions plugin and layered convention plugins.

Changes:

  • Rewrites usage instructions to apply gg.grounds.base-conventions with a version and then add project-specific convention plugins.
  • Expands the documented convention set (Kotlin, Paper, Velocity, Minestom, gRPC) and adds version override guidance.
  • Updates the overview page with a plugin layering diagram and updated feature breakdown.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
tools/gradle-plugin/usage.mdx Updates installation/apply instructions and adds version override + multi-module examples for convention plugins.
tools/gradle-plugin/index.mdx Reframes the bundle as convention plugins and documents the layering/feature set (including a Mermaid diagram).

πŸ’‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +74 to +82
### Kotlin Conventions

For Kotlin projects (typically shared/common modules):

```kotlin build.gradle.kts
plugins {
id("gg.grounds.kotlin-conventions")
}
```
Copy link

Copilot AI Jan 26, 2026

Choose a reason for hiding this comment

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

The examples apply gg.grounds.kotlin-conventions / paper-conventions / etc without a version, but the doc doesn’t show any place where Gradle would learn that version (e.g., pluginManagement { plugins { ... } }, a root plugins { ... apply false }, or a version catalog). As written, these snippets will fail to resolve the plugins. Update the docs to include a single-source version declaration for all convention plugin IDs (or show versions on each plugin).

Copilot uses AI. Check for mistakes.
Comment on lines +193 to 198
```kotlin grpc-module/build.gradle.kts
plugins {
id("gg.grounds.grpc-conventions")
}
```

Copy link

Copilot AI Jan 26, 2026

Choose a reason for hiding this comment

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

The multi-module example shows a grpc-module/build.gradle.kts, but settings.gradle.kts only includes paper-plugin and velocity-plugin. Add include("grpc-module") (or remove the gRPC subproject example) so the sample project configuration is internally consistent.

Suggested change
```kotlin grpc-module/build.gradle.kts
plugins {
id("gg.grounds.grpc-conventions")
}
```

Copilot uses AI. Check for mistakes.
Comment on lines +34 to +43
The convention plugins build on each other. Base conventions sit at the bottom, Kotlin conventions add publishing, and the platform-specific conventions layer on top.

```mermaid
graph TB
kotlin["kotlin-conventions"] --> base["base-conventions"]
minestom["minestom-conventions"] --> kotlin
paperbase["paper-base-conventions"] --> kotlin
grpc["grpc-conventions"] --> kotlin
paper["paper-conventions"] --> paperbase
velocity["velocity-conventions"] --> paperbase
Copy link

Copilot AI Jan 26, 2026

Choose a reason for hiding this comment

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

The Mermaid diagram arrows appear reversed relative to the description (β€œBase conventions sit at the bottom, Kotlin conventions add publishing, and the platform-specific conventions layer on top”). In Mermaid, A --> B reads as A points to/depends on B, so kotlin --> base implies Kotlin depends on Base (ok) but then paperbase --> kotlin implies Paper Base depends on Kotlin (also ok) while paper --> paperbase implies Paper depends on Paper Base (ok). However the labels omit the gg.grounds.* prefixes and the directionality is ambiguous for readers; consider rewriting the diagram to clearly indicate dependency direction (e.g., base --> kotlin --> paper-base --> paper) and match the text exactly.

Suggested change
The convention plugins build on each other. Base conventions sit at the bottom, Kotlin conventions add publishing, and the platform-specific conventions layer on top.
```mermaid
graph TB
kotlin["kotlin-conventions"] --> base["base-conventions"]
minestom["minestom-conventions"] --> kotlin
paperbase["paper-base-conventions"] --> kotlin
grpc["grpc-conventions"] --> kotlin
paper["paper-conventions"] --> paperbase
velocity["velocity-conventions"] --> paperbase
The convention plugins build on each other: base conventions sit at the bottom, Kotlin conventions add publishing, and the platform-specific conventions layer on top. In the diagram below, arrows point from each convention plugin to the one it depends on.
```mermaid
graph TD
kotlin["gg.grounds.kotlin-conventions"] --> base["gg.grounds.base-conventions"]
minestom["gg.grounds.minestom-conventions"] --> kotlin
paperbase["gg.grounds.paper-base-conventions"] --> kotlin
grpc["gg.grounds.grpc-conventions"] --> kotlin
paper["gg.grounds.paper-conventions"] --> paperbase
velocity["gg.grounds.velocity-conventions"] --> paperbase

Copilot uses AI. Check for mistakes.
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.

2 participants