[ https://issues.apache.org/jira/browse/MSHADE-342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17004726#comment-17004726 ]
Herve Boutemy commented on MSHADE-342: -------------------------------------- nice catch: looks like this IT should be defined as a setup IT = the normal way to show its special role setting relativePath is a good workaround, given the setup is really minimal putting the pom.xml in the root directory and not defining it as setup job could perhaps do even a better job at showing the intent of this parent pom (that is just a config for Java 9+) > Many ITs fail when run in isolation > ----------------------------------- > > Key: MSHADE-342 > URL: https://issues.apache.org/jira/browse/MSHADE-342 > Project: Maven Shade Plugin > Issue Type: Bug > Affects Versions: 3.2.2 > Reporter: Peter De Maeyer > Priority: Minor > > Maven invoker plugin supports running ITs in isolation, but many ITs fail > when running them in isolation. > One example (there are many others): > {code:bash} > mvn -Prun-its clean verify -Dinvoker.test=MSHADE-258_module_relocation > {code} > They fail because of a missing {{target/it/setup-parent/pom.xml}}. > The failure is logged in {{target/it/setup-parent/build.log}}. > The reason is that there is a missing parent dependency, which is apparently > required for _any_ IT in this project. > When you run all the ITs together, it works by accident because the missing > directory is created by some other test in the beginning of the IT test run, > and then all subsequent tests work as well. > h3. Potential solution 1 > A fix is to identify the broken ITs by running all of them in isolation and > add the following to all of the broken ones: > {code:xml} > <parent> > <groupId>org.apache.maven.plugins.shade.its</groupId> > <artifactId>shade-parent</artifactId> > <version>1.0</version> > <relativePath>../setup-parent</relativePath> > </parent> > {code} > It should be documented somewhere (maybe it is but I overlooked it?) that, > when writing an IT, this _must_ be the parent. > (+) This will work. > (-) Every individual IT's {{pom.xml}} needs to be updated with a parent > dependency it has no business with. > (-) It excludes writing an IT for a root project (that has no parent). > Maybe we can find a solution that doesn't involve updating all IT projects. > I'll need to investigate a bit more, first I'll need to figure out where the > {{setup-parent}} project comes from. -- This message was sent by Atlassian Jira (v8.3.4#803005)