apache / apache/maven-build-cache-extension

[MBUILDCACHE-92] Allow to define 'reconciles' at plugin execution level

Open
#272 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority:major
Dominant language
Java
Stars
163
Forks
77
Avg merge
1d 2h
Merged PRs (30d)
4

Description

**[Réda Housni Alaoui](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=ralaoui)** opened **[MBUILDCACHE-92](https://issues.apache.org/jira/browse/MBUILDCACHE-92?redirect=false)** and commented

I have the following case:

```xml

com.github.eirslett
frontend-maven-plugin


yarn-build-dev

yarn

prepare-package

${build-dev.skip}
build:dev



yarn-build-prod

yarn

prepare-package

${build-prod.skip}
build:prod


```

`yarn-build-prod` produces a more complete output than `yarn-build-dev` but it also takes more time to execute:
- on a dev environment (build-prod.skip=true and build-dev.skip=false) using a cache produced with build-prod.skip=false and build-dev.skip=true should lead to a cache hit
- on a CI environment (build-prod.skip=false and build-dev.skip=true) using a cache produced with build-prod.skip=true and build-dev.skip=false should lead to a cache miss

The only way I can think of implementing this is to track property `skip` only for execution id `yarn-build-prod`, but not for execution id `yarn-build-dev`.

But I can't, because as of now, this extension allows to track plugin property with reconcile at plugin goal level, not execution level.

---

**Affects:** 1.1.0

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named. Start by tracing the existing plugin-goal reconcile handling and how execution IDs and the skip property are represented; the change is complete when reconcile configuration can distinguish yarn-build-prod from yarn-build-dev and produce the described cache hit and miss outcomes.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.