[ https://issues.apache.org/jira/browse/MNG-6716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16896868#comment-16896868 ]
Thibaud Lepretre commented on MNG-6716: --------------------------------------- [~mickael.istria] I already shared on issue description an script to bootstrap a maven project (using {{mvn archetype}}) that reproduce the issue? Do you need more? I don't have bare linux but inside container (which is inside linux) I not able to reproduce that why I'm still confirm is not linux reproducible. h3. On MacOs {code:bash} mvn -f bug-macos-tstsrc-relative-path-src/pom.xml clean package -Dmaven.compiler.source=1.6 -Dmaven.compiler.target=1.6 {code} {code} [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.087 s [INFO] Finished at: 2019-07-31T09:42:45+02:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project bug-macos-tstsrcrelative-path: Compilation failure [ERROR] /private/tmp/ws/bug-macos-tstsrc-relative-path-tst/src/dev/thibaud/AppTest.java:[10,8] duplicate class: dev.thibaud.AppTest [ERROR] [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException {code} h3. On docker-for-mac (which is inside Hyperkit Linux VM, so is technically inside Linux) {code:bash} docker run -it --rm -v $(pwd):/ws -w /ws maven:3.6.1 mvn -f bug-macos-tstsrc-relative-path-src/pom.xml clean package -Dmaven.compiler.source=1.6 -Dmaven.compiler.target=1.6 {code} {code} ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13.788 s [INFO] Finished at: 2019-07-31T07:42:33Z [INFO] ------------------------------------------------------------------------ {code} Since is dealing with Filesystem. It may possible that linux & macos behave differently since implementation are not the same. > relative testSourceDirectory on macos throw duplicate class error > ----------------------------------------------------------------- > > Key: MNG-6716 > URL: https://issues.apache.org/jira/browse/MNG-6716 > Project: Maven > Issue Type: Bug > Components: core, POM > Affects Versions: 3.6.1 > Environment: MacOS Sierra 10.12.6 > mvn 3.6.1 > Reporter: Thibaud Lepretre > Priority: Minor > Fix For: 3.6.x-candidate, waiting-for-feedback > > Attachments: image-2019-07-30-12-26-50-201.png, > image-2019-07-30-12-27-38-526.png > > > 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): > {code:java} > ws/bug-macos-tstsrc-relative-path-src/src/main/java > ws/bug-macos-tstsrc-relative-path-tst/src > {code} > With following pom.xml customization > {code:java} > <testSourceDirectory>../bug-macos-tstsrc-relative-path-tst/src</testSourceDirectory> > {code} > 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: > {code:java} > AppTest.java:[10,8] duplicate class: dev.thibaud.AppTest{code} > And if I check with {{-X}} I saw 2 paths added instead of 1 > {code:java} > [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{code} > h2. *How to reproduce:* > {code:java} > #!/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{code} > Then simply run > {code:java} > mvn -f bug-macos-tstsrc-relative-path-src/pom.xml clean test -X{code} > h2. *Workaround:* > is not using relative path by editing > {code:java} > <testSourceDirectory>../bug-macos-tstsrc-relative-path-tst/src</testSourceDirectory>{code} > to > {code:java} > <testSourceDirectory>${project.basedir}/../bug-macos-tstsrc-relative-path-tst/src</testSourceDirectory>{code} > > PS: maybe affect {{sourceDirectory}} but no tested -- This message was sent by Atlassian JIRA (v7.6.14#76016)