Add zero-to-hero wiki for the Gradle build system#94
Closed
feldoh wants to merge 1 commit into
Closed
Conversation
A 25-page graduated learning journey under docs/wiki/build-system/ that brings a contributor with no JetBrains-plugin or Gradle background up to "can confidently maintain and upgrade the build" without comparing against unrelated JetBrains template repos every time. Structure: - Part 1 (Foundation) - what a Rider plugin is, the two-tier mental model, just-enough-Gradle, providers/config cache, cast of tools - Part 2 (This Project) - repo tour, version-pinning map, settings/ pluginManagement, annotated build.gradle.kts, protocol/rdgen, .NET side, dual-csproj pattern, riderModel bridge, prepareSandbox, runIde, CI/publishing, quirks ledger - Part 3 (Operate) - day-to-day recipes and upgrade runbooks - Part 4 (Reference) - task graph diagrams, contributed-tasks table, glossary, where to ask JetBrains, refactor backlog Pages are tagged with audience signals (Foundation / This Project / Operate / Reference) and each Part 2 page leads with whether the topic is the same as IntelliJ plugins, unique to Rider, or a custom local workaround - so JetBrains-experienced readers don't get blindsided. Captures the known-issue ledger (drift between gradle.properties and build.gradle.kts, dead riderBaseVersion, stale .run config JDK, deprecated buildDir, the Mac/Linux DotFiles patcher needs-jetbrains ticket, etc.) and the refactor backlog tied to the maintainer's stated goals: consolidate version pinning, kill legacy PowerShell, convert Exec-based dotnet tasks to typed Kotlin task classes in buildSrc, add a fixture-mod-driven integration test layer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
AI generated to help us try and understand this process better take with several buckets of salt. Only pushed here for sharing purposes.
Summary
Adds a 25-page wiki under
docs/wiki/build-system/that walks a contributor with no JetBrains-plugin or Gradle background up to "can confidently maintain and upgrade the build" — without comparing against unrelated JetBrains template repos every time something needs changing.The motivation is the maintainer's stated pain: the Gradle upgrade was the second time they had to rework the build by pattern-matching against other JetBrains repos. The wiki targets that mental-model gap directly.
What's in it
Four parts, read in numeric order on first pass:
file:linein the repo. Repo tour, version-pinning map (the most-consulted page), an annotated walkthrough ofbuild.gradle.kts, the:protocolsubproject + rdgen, the .NET side, the dual-csproj pattern, theriderModelbridge, theprepareSandboxglue,runIde+ debugging, CI/publishing, and a quirks-and-known-issues ledger.prepareSandbox,runIde, etc.), a glossary, where to ask JetBrains for help, and a refactor backlog.Pages are tagged with audience signals (Foundation / This Project / Operate / Reference) and each Part 2 page leads with whether the topic is the same as IntelliJ plugins, unique to Rider, or a custom local workaround — so a reader from an IntelliJ background isn't blindsided.
Why this shape
It's a graduated learning journey, not a reference dump. Every page assumes only what came before. The verification target on the homepage is: a stranger to both Gradle and JetBrains plugins should be able to clone, install prereqs, run
./gradlew runIde, and see the example mod open in a sandboxed Rider — using only §00 + §01–§06 + §18 — in under 90 minutes.Part 4's refactor backlog (§24) ties the maintainer's stated goals to concrete file:line edits: consolidate version pinning into
libs.versions.toml, kill the legacy PowerShell scripts (CI doesn't use them), convert theExec-based dotnet tasks to typed Kotlin task classes inbuildSrc/, fix the${buildDir}deprecation before Gradle 10, etc. These are captured for the maintainer to pick from, not committed-to action.The wiki is documentation only — it doesn't change any build behaviour. Refactors are intentionally a follow-up so reviewers can read the docs without also reviewing build changes.
Test plan
gradle.properties:27andbuild.gradle.kts:10is the headline finding)build.gradle.ktsopen beside it; every block in the file should have an answer in the pageprepareSandboxblock top-to-bottom to confirm the explanation matches the coderiderBaseVersioningradle.properties:28really has zero references)🤖 Generated with Claude Code