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/)

Reply via email to