You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Thibaud Lepretre (JIRA)" <ji...@apache.org> on 2019/07/22 11:53:00 UTC
[jira] [Created] (MNG-6716) relative testSourceDirectory on macos
throw duplicate class error
Thibaud Lepretre created MNG-6716:
-------------------------------------
Summary: 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
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}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)