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]