tiagobento opened a new pull request, #6901:
URL: https://github.com/apache/incubator-kie/pull/6901

   ## What changed
   
   CI already avoids building all modules on a pull request: it computes which 
modules a change can possibly affect and builds only those. Locally there was 
no equivalent — `mvn install` at the root, or guesswork with `-pl`. This PR 
adds a
   `make dev` command that applies the same computation to your working copy, 
so a one-module change builds one module instead of eight hundred.
   
   It also checks the modules that build depends on, rather than assuming them: 
a partial build only resolves what is already installed in `~/.m2`, and only 
gives correct answers if what is installed matches your sources. Anything 
missing, older than its sources, or downstream of either is rebuilt first.
   
   The build-scope computation and the dependency-graph parser are shared with 
CI as JBang `//SOURCES` dependencies, so local builds and pull request builds 
cannot drift apart in what they consider in scope.
   
   ### Commands
   
   | Command | Description |
   | --- | --- |
   | `make dev` | Build what your changes affect, using the saved settings |
   | `make dev scope` | Print what would be built; build nothing |
   | `make dev config` | Show the current settings |
   | `make dev mvn -- <mvn args>` | Build them with your own Maven command |
   | `make help` | List the targets and summarise the above |
   
   
   ## Impact
   
   - **`AGENTS.md` change**
     - This repository now carries `AGENTS.md` (with   `CLAUDE.md` symlinked to 
it), telling coding agents to verify changes with  `make dev` rather than 
building the reactor. Agents working in this repo will follow that from now on.
   - **CI pipeline change**
     - A new `Dev :: Tests` workflow runs the tests for these scripts on every 
PR, including a job that runs `make dev` in a fresh clone. The existing `CI :: 
CI Tests` workflow is unchanged apart from losing a comment. No change to what 
`CI :: Build` does.
   - **JBang on devbox.json**
     - `devbox.json` gains JBang, so `devbox shell` now provides the whole 
toolchain (JDK, Maven, JBang). Run `devbox install` after pulling if you use 
devbox. `make dev` works without it: it prefers your own Maven and falls back 
to the devbox copy.
   - **Documentation convention**
     - `docs/DEV.md` is the new home for how partial builds work; 
`docs/PR_CHECKS_AND_CI.md` gains a section for the new check.
   - **Working copy**
     - Seven generated jars under 
`test-integration-prebuilt-tests/src/test/resources/` are now gitignored. If 
you have built this repo, `git status` gets quieter after pulling.
   - **Reimagined Makefile**
     - Old targets give way to the `dev` target.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to