This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch build-hygiene-from-core
in repository https://gitbox.apache.org/repos/asf/grails-intellij-plugin.git
The following commit(s) were added to refs/heads/build-hygiene-from-core by
this push:
new 1619db9 Document build-from-scratch and wrapper bootstrap in README
1619db9 is described below
commit 1619db93c3078e630c65fdf47947a9424ffc0603
Author: James Daugherty <[email protected]>
AuthorDate: Sat Jul 18 22:09:52 2026 -0400
Document build-from-scratch and wrapper bootstrap in README
Expand the README's build section with tooling setup (.sdkmanrc via SDKMAN),
the gradle-bootstrap step needed when building from a source distribution
that
ships without the wrapper jar, and the new hygiene tasks (coverage,
ossIndexAudit),
mirroring grails-core's from-source guidance.
---
README.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 50 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index c10abb1..97d7ef9 100644
--- a/README.md
+++ b/README.md
@@ -13,23 +13,66 @@ This codebase was originally developed by JetBrains s.r.o.
and imported from
- IntelliJ IDEA Ultimate 2026.2+ (`sinceBuild` 262)
- Java 25 (the `grails-rt`, `grails-compiler-patch`, and `jps-plugin` modules
target Java 8/11)
-## Building
+## Building from source
+
+For building, using, and running from a **source distribution**, see the
+[INSTALL](INSTALL) document. The steps below cover a clone of this repository.
+
+### 1. Set up the tooling (JDK + Gradle)
+
+The required JDK and Gradle versions are pinned in [`.sdkmanrc`](.sdkmanrc).
The
+recommended way to install them is with [SDKMAN!](https://sdkman.io); from the
source
+root run:
+
+```
+sdk env install
+```
+
+This installs the pinned Java (Liberica 25) and Gradle versions and selects
them for the
+current shell. You may also install those versions by any other means you
prefer.
+
+### 2. Bootstrap the Gradle wrapper (only if `gradlew` is missing)
+
+A clone of this repository already contains the Gradle Wrapper, so you can
skip this step
+and use `./gradlew` directly.
+
+A **source distribution** ships *without* the Gradle Wrapper jar (per ASF
source-release
+policy), so it must be regenerated once. With a local Gradle installed (from
step 1), run:
+
+```
+cd gradle-bootstrap
+gradle bootstrap
+cd ..
+```
+
+This pins the wrapper to the version in `.sdkmanrc` and installs `gradlew` /
+`gradlew.bat` at the source root. Afterwards, use `./gradlew` for every
command below.
+
+### 3. Build the plugin
```
./gradlew buildPlugin
```
-The plugin ZIP is written to `build/distributions/`.
+The plugin ZIP is written to `build/distributions/` and can be installed in
IntelliJ IDEA
+via **Settings > Plugins > Install Plugin from Disk**.
-Other useful tasks:
+> The first build downloads the IntelliJ Platform (IntelliJ IDEA Ultimate) and
the bundled
+> plugins it compiles against — expect network access and several GB of disk
usage.
+
+### Other useful tasks
```
-./gradlew check # compile and run tests
-./gradlew verifyPlugin # IntelliJ Plugin Verifier
-./gradlew rat # Apache RAT license audit
-./gradlew runIde # launch a sandbox IDE with the plugin
+./gradlew check # compile and run tests
+./gradlew verifyPlugin # IntelliJ Plugin Verifier
+./gradlew rat # Apache RAT license audit
+./gradlew runIde # launch a sandbox IDE with the plugin
+./gradlew testCodeCoverageReport # aggregate JaCoCo coverage report
+./gradlew ossIndexAudit # Sonatype OSS Index vulnerability scan
(needs SONATYPE_GUIDE_TOKEN)
```
+To verify the build is reproducible, see
[RELEASE.md](RELEASE.md#verifying-a-reproducible-build).
+
## Links
- [Apache Grails](https://grails.apache.org/)