You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Alexander Kriegisch (Jira)" <ji...@apache.org> on 2023/10/23 07:09:00 UTC

[jira] [Created] (MSHARED-1327) Change output directory default in AbstractMavenReport

Alexander Kriegisch created MSHARED-1327:
--------------------------------------------

             Summary: Change output directory default in AbstractMavenReport
                 Key: MSHARED-1327
                 URL: https://issues.apache.org/jira/browse/MSHARED-1327
             Project: Maven Shared Components
          Issue Type: Improvement
          Components: maven-reporting-impl
    Affects Versions: maven-reporting-impl-4.0.0-M11
            Reporter: Alexander Kriegisch


The output directory should default to {{${project.build.directory}}} instead of {{${project.reporting.outputDirectory}}}. Quoting my reasoning from https://github.com/apache/maven-jxr/commit/ae81a34ac616bf7e4ea4fa9d4eb09f0979eaccb1#commitcomment-130639906:

> (...) because the latter is simply wrong IMO. For stand-alone mojo execution, a plugin should not mess with Maven Site's default directory. Imagine a situation in which each module should get its own, self-consistent report when called stand-alone, but the site should contain an aggregate with a different structure or maybe no report from that plugin at all. The default would then pollute the site directory. This is why on the ML I asked you (@michael-o), if overriding a `@Parameter` annotation on a base class field by another `@Parameter` annotation on a setter in a subclass it is the right or canonical way to implement such a default override.
> 
> BTW, like I also said before, Maven Javadoc Plugin, even though it does not use the abstract base class, implements the default correctly: build dir for stand-alone, report dir in site generation context.

The javadoc is, BTW, still correct and does not need to be changed: In a site generation context, the reporting base directory will be set here automatically without any further changes due to:

{code:java}
    @Override
    public void setReportOutputDirectory(File reportOutputDirectory) {
        this.reportOutputDirectory = reportOutputDirectory;
        this.outputDirectory = reportOutputDirectory;
    }
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)