[ 
https://issues.apache.org/jira/browse/MBUILDCACHE-104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17878174#comment-17878174
 ] 

ASF GitHub Bot commented on MBUILDCACHE-104:
--------------------------------------------

AlexanderAshitkin commented on PR #175:
URL: 
https://github.com/apache/maven-build-cache-extension/pull/175#issuecomment-2321747490

   @reda-alaoui I am currently trying to better understand this request, and I 
have some conceptual concerns. To enhance the speed of project optimization, a 
traditional approach would be to divide the project into smaller modules and 
allow tests to run in parallel. The propozed `zoned` approach looks out-of-line 
with the Maven core design, which is per-project granularity. Cache is not a 
tool in itself, it is a Maven extension, and the request must be evaluted with 
the the regular Maven in mind - how to achieve the same goal without using the 
cache, using regular Maven instead.
   
   As i see, this change aims to address the following Maven limitations:
   1. Lack of plugin level resumption (not consistent with Maven's core - it 
does not have a concept of Gradle-like tasks)
   2. Issues with artifacts staging and promotion (not consistent with Maven's 
core - it lacks built-in staging concepts. It is more typical to use different 
cache endpoints).
   3. Reactor distribution and scaling (not consistent with Maven's core - 
single reactor runs as a JVM, and results are shared through the artifacts of 
sub-projects)
   
   In summary, this approach appears unconventional and is chosen because 
reworking the existing mono-project is more expensive. I see value in this idea 
because such "mono-projects" are not uncommon, but I need some time to digest 
it. I will take my time to understand why this is necessary and how to address 
it consistently.
   
   Cheers
   Alex
   
   




> Allow multiple cache entries per checksum
> -----------------------------------------
>
>                 Key: MBUILDCACHE-104
>                 URL: https://issues.apache.org/jira/browse/MBUILDCACHE-104
>             Project: Maven Build Cache Extension
>          Issue Type: New Feature
>            Reporter: Réda Housni Alaoui
>            Priority: Major
>              Labels: pull-request-available
>
> I have the following use case: a CI pipeline with a compile step *then* 
> multiple parallelized test steps. Tests are split in 3 groups. Each test 
> group execution specify the group via maven-surefire-plugin:test property 
> 'groups'.
> Maven phase for compilation: process-test-classes
> Maven phase for tests: verify
> The compilation should use remote cache as much as possible and end up 
> populating it.
> Each test execution should either use the populated cache ending with 
> process-test-classes phase or a cache representing the result of the 
> execution of the current test group (value for 'groups').
> The issue I have is that this extension can only store a single cache entry 
> per input checksum. But I need to persist the build result of each test group.
> The easiest solution I can think of is having 4 cache zones. The first for 
> the compile phase (the default zone), the 3 remaining for each test group. 
> I need the compile phase to read/write from/to the default cache zone. 
> I need each test group to read from its own cache zone then the default cache 
> zone, *in this order*. At the end, it should write to its own cache zone.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to