Details
Description
With custom folder structure where test source folder is not sharing the same parent folder as source folder, for example (is just a sample structure itself is not the key point):
ws/bug-macos-tstsrc-relative-path-src/src/main/java ws/bug-macos-tstsrc-relative-path-tst/src
With following pom.xml customization
<testSourceDirectory>../bug-macos-tstsrc-relative-path-tst/src</testSourceDirectory>
On <= 3.6.0 everything works but until 3.6.1 MacOS (I'm not able to reproduce on Docker container maven:3.6.1), I have the following error:
AppTest.java:[10,8] duplicate class: dev.thibaud.AppTest
And if I check with -X I saw 2 paths added instead of 1
[DEBUG] Source roots: [DEBUG] /private/tmp/mvntest/ws/bug-macos-tstsrc-relative-path-src/../bug-macos-tstsrc-relative-path-tst/src [DEBUG] /private/tmp/mvntest/ws/bug-macos-tstsrc-relative-path-tst/src
How to reproduce:
#!/usr/bin/env bash readonly SRC_FOLDER="bug-macos-tstsrc-relative-path-src" readonly TST_FOLDER="bug-macos-tstsrc-relative-path-tst" mkdir -p ws cd ws/ mvn archetype:generate -DgroupId=dev.thibaud -DartifactId=${SRC_FOLDER} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false mkdir -p ${TST_FOLDER}/src/ mv ${SRC_FOLDER}/src/test/java/* ${TST_FOLDER}/src/ rm -fr ${SRC_FOLDER}/src/test cat <<EOT > ${SRC_FOLDER}/pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>dev.thibaud</groupId> <artifactId>bug-macos-tstsrcrelative-path</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>bug-macos-tstsrcrelative-path</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <testSourceDirectory>../${TST_FOLDER}/src</testSourceDirectory> </build> </project> EOT
Then simply run
mvn -f bug-macos-tstsrc-relative-path-src/pom.xml clean test -X
Workaround:
is not using relative path by editing
<testSourceDirectory>../bug-macos-tstsrc-relative-path-tst/src</testSourceDirectory>
to
<testSourceDirectory>${project.basedir}/../bug-macos-tstsrc-relative-path-tst/src</testSourceDirectory>
PS: maybe affect sourceDirectory but no tested
Attachments
Attachments
Issue Links
- is caused by
-
MNG-6533 ProjectBuilder.build(list_of_projects,...) does not contain MavenProject in exception report
- Closed
- is duplicated by
-
MNG-6730 When a ../ relative path is used for the sourceDirectory it is added twice resulting in the compiler reporting duplicate classes
- Closed
- is related to
-
MNG-6700 Equal compile source roots are added multiple times
- Closed
- links to