[ https://issues.apache.org/jira/browse/MSHADE-467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17808884#comment-17808884 ]
ASF GitHub Bot commented on MSHADE-467: --------------------------------------- kriegaex commented on PR #210: URL: https://github.com/apache/maven-shade-plugin/pull/210#issuecomment-1901979558 OK, [this build](https://github.com/kriegaex/maven-shade-plugin/actions/runs/7593219673) has passed now. For Maven 3.9.6, synchronisation on a single session instance was enough, but for Maven 3.6.3 it was a bit too naive and optimistic. Complex objects like project, session etc. contain lots of nested stuff, and not everything can or even should be deep-cloned as was done in MSHADE-413 in another part of the mojo. That can work, but leads to potential brittle solutions, if the plugin needs to run on multiple Maven versions. So, protection of the critical section with a `ReentrantLock` it is, then. > Dependency-reduced POM with missing exclusions in concurrent build > ------------------------------------------------------------------ > > Key: MSHADE-467 > URL: https://issues.apache.org/jira/browse/MSHADE-467 > Project: Maven Shade Plugin > Issue Type: Bug > Affects Versions: 3.4.1, 3.5.0, 3.5.1 > Reporter: Alexander Kriegisch > Priority: Major > > As discussed in [this maven-users > thread|https://lists.apache.org/thread/ljdbh9h0lqs1qsf9o8bnm35mtr85y4vr], > when running Maven builds for [this > reproducer|https://github.com/stl543/shadeMT] concurrently, some dependency > exclusions are missing from the generated dependency-reduced POMs. Run the > reproducer like this: > {code:none} > $ mvn clean package -T 4 | grep 'BUILD SUCCESS' && find . -name > "dependency-reduced-pom.xml" -exec bash -c 'cat $0 | grep exclu | wc -l ' {} > \; > [INFO] BUILD SUCCESS > 12 > 12 > 12 > 12 > {code} > When running with {{-T 1}}, however, the correct result is 20. > This concurrency issue might have been introduced by the MSHADE-413 fix, but > I am not sure. > I have a local fix, synchronising on the injected mojo parameter > {{MavenSession session}} in the lower section of > {{ShadeMojo::rewriteDependencyReducedPomIfWeHaveReduction}}. There might be a > better way to fix the problem, but I it leave that up to the PR reviewers to > come up with one, if any. -- This message was sent by Atlassian Jira (v8.20.10#820010)