Guillaume Nodet created MNG-8561: ------------------------------------ Summary: SourceRoot should be more lenient wrt duplicates Key: MNG-8561 URL: https://issues.apache.org/jira/browse/MNG-8561 Project: Maven Issue Type: Bug Reporter: Guillaume Nodet
Maven 3 was supporting duplicate sources. The Camel build now fails with: {code:java} Caused by: java.lang.IllegalArgumentException: Directory src/generated/resources is specified twice for the scope "main" and language "resources". at org.apache.maven.project.MavenProject.addSourceRoot(MavenProject.java:364) at org.apache.maven.project.MavenProject.addResource(MavenProject.java:790) at org.apache.maven.project.DefaultMavenProjectHelper.addResource(DefaultMavenProjectHelper.java:110) at org.apache.camel.maven.packaging.AbstractGeneratorMojo.addResourceDirectory(AbstractGeneratorMojo.java:112) at org.apache.camel.maven.packaging.PackageJaxbMojo.execute(PackageJaxbMojo.java:106) at org.apache.camel.maven.packaging.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:108) at org.apache.camel.maven.packaging.AbstractGenerateMojo.invoke(AbstractGenerateMojo.java:104) at org.apache.camel.maven.packaging.AbstractGenerateMojo.invoke(AbstractGenerateMojo.java:82) at org.apache.camel.maven.packaging.GenerateMojo.doExecute(GenerateMojo.java:51) at org.apache.camel.maven.packaging.AbstractGenerateMojo.execute(AbstractGenerateMojo.java:70) {code} I think it can be easily avoided by checking if there's already the same definition before calling {{{}addSourceRoot{}}}, however: * I'm not sure this is really user friendly, maybe ignoring and warning if the exact same source is added multiple times * they key is too restrictive: it should perfectly valid to add the same directory multiple times but with different includes/excludes, see [https://github.com/jline/jline3/blob/3c634784c4c5cc8ea38a61e8585c18bad8fc6443/jline/pom.xml#L395-L422] So I'm not sure about the {{ record SourceKey(ProjectScope scope, Language language, Path directory)}} ... [~desruisseaux] any thoughts ? -- This message was sent by Atlassian Jira (v8.20.10#820010)