[ https://issues.apache.org/jira/browse/MBUILDCACHE-24?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17676977#comment-17676977 ]
ASF GitHub Bot commented on MBUILDCACHE-24: ------------------------------------------- AlexanderAshitkin commented on PR #30: URL: https://github.com/apache/maven-build-cache-extension/pull/30#issuecomment-1383048755 > Hi, I am stumbling on this issue when using either the `1.0.0` or the `1.0.0-SNAPSHOT` version of the maven build cache extension. I have created a small sample project to reproduce the issue I am facing [here ](https://github.com/athkalia/maven-build-cache-forked-executions). Hi @athkalia Thanks a lot for the reproducing project! I will try to fix the issue nearest time. But to be clear, so far cache works for lifecycle executions, not individual plugin goals. So fix will only allow running the command `com.athkalia:module-1:level0` but this execution will not be cached. The cache will be applied only to the regular root project build eg `clean install` I created [MBUILDCACHE-38](https://issues.apache.org/jira/browse/MBUILDCACHE-38) and fix will be provided under that ticket Thank you! > Cache cannot be processed in presence of forked executions > ---------------------------------------------------------- > > Key: MBUILDCACHE-24 > URL: https://issues.apache.org/jira/browse/MBUILDCACHE-24 > Project: Maven Build Cache Extension > Issue Type: Bug > Reporter: Alexander Ashitkin > Priority: Major > Labels: pull-request-available > Fix For: 1.0.0 > > > Current implementation relies on lifecycle phases presence in > `MojoExecution`. In case of forked execution > `MojoExecution#getLifecyclePhase` could return null which result in IAEs in > multiples places in cache: > > {code:java} > java.lang.IllegalArgumentException: Unsupported phase: null > at org.apache.maven.buildcache.LifecyclePhasesHelper.isLaterPhase > (LifecyclePhasesHelper.java:121) > at > org.apache.maven.buildcache.LifecyclePhasesHelper.isLaterPhaseThanClean > (LifecyclePhasesHelper.java:105) > at org.apache.maven.buildcache.LifecyclePhasesHelper.getCleanSegment > (LifecyclePhasesHelper.java:139) > at org.apache.maven.buildcache.BuildCacheMojosExecutionStrategy.execute > (BuildCacheMojosExecutionStrategy.java:101) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions > (MojoExecutor.java:366) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:211) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:167) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:66) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:158) > at org.apache.maven.buildcache.BuildCacheMojosExecutionStrategy.execute > (BuildCacheMojosExecutionStrategy.java:127) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call > (MultiThreadedBuilder.java:196) > at > org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call > (MultiThreadedBuilder.java:186) > at java.util.concurrent.FutureTask.run (FutureTask.java:266) > at java.util.concurrent.Executors$RunnableAdapter.call > (Executors.java:511) > at java.util.concurrent.FutureTask.run (FutureTask.java:266) > at java.util.concurrent.ThreadPoolExecutor.runWorker > (ThreadPoolExecutor.java:1149) > at java.util.concurrent.ThreadPoolExecutor$Worker.run > (ThreadPoolExecutor.java:624) > > {code} > Proposed fix is to resolve `lifecyclePhase` from the originating mojo and use > it as a lifecycle phase for forked mojos. > Optionally, the issue probably could be resolved in maven-core by properly > setting execution phase. -- This message was sent by Atlassian Jira (v8.20.10#820010)