Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ under the License.
</parent>

<artifactId>maven-site-plugin</artifactId>
<version>4.0.0-M17-SNAPSHOT</version>
<version>3.22.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>

<name>Apache Maven Site Plugin</name>
Expand Down Expand Up @@ -198,8 +198,8 @@ under the License.
<mavenVersion>3.6.3</mavenVersion>
<!-- for dependencies -->
<jettyVersion>9.4.57.v20241219</jettyVersion>
<doxiaVersion>2.0.0</doxiaVersion>
<doxiaSitetoolsVersion>2.0.0</doxiaSitetoolsVersion>
<doxiaVersion>2.1.0-SNAPSHOT</doxiaVersion>
<doxiaSitetoolsVersion>2.1.0-SNAPSHOT</doxiaSitetoolsVersion>
<wagonVersion>3.5.3</wagonVersion>
<slf4jVersion>1.7.36</slf4jVersion>
<!-- for ITs -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,22 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
* build time mean).
* This directory is expected to have the same structure as <code>siteDirectory</code>
* (ie. one directory per Doxia-source-supported markup types).
*
* todo should we deprecate in favour of reports directly using Doxia Sink API, without this Doxia source
* intermediate step?
* This is never editable.
*/
@Parameter(alias = "workingDirectory", defaultValue = "${project.build.directory}/generated-site")
protected File generatedSiteDirectory;

/**
* Optional list of source directories to be used instead of {@link #siteDirectory} for rendering edit URLs.
* This is only used for documents rendered from {@link #siteDirectory} but not for those rendered from {@link AbstractSiteRenderingMojo#generatedSiteDirectory}.
* as the latter ones are always considered non-editable.
*
* The first directory containing a document with the given relative path is used for generating the URL (the same relative path as the document has to {@link #siteDirectory}).
* @since 3.22.0
*/
@Parameter
protected File[] alternativeSiteSourceDirectories;

/**
* The current Maven session.
*/
Expand Down Expand Up @@ -320,14 +329,21 @@ protected SiteRenderingContext createSiteRenderingContext(Locale locale)

// Generate static site
context.setRootDirectory(project.getBasedir());
final SiteDirectory mainSiteDirectory;
if (!locale.equals(SiteTool.DEFAULT_LOCALE)) {
context.addSiteDirectory(new SiteDirectory(new File(siteDirectory, locale.toString()), true));
mainSiteDirectory = new SiteDirectory(new File(this.siteDirectory, locale.toString()), true);
context.addSiteDirectory(new SiteDirectory(new File(generatedSiteDirectory, locale.toString()), false));
} else {
context.addSiteDirectory(new SiteDirectory(siteDirectory, true));
mainSiteDirectory = new SiteDirectory(siteDirectory, true);
context.addSiteDirectory(new SiteDirectory(generatedSiteDirectory, false));
}

if (alternativeSiteSourceDirectories != null) {
for (File additionalSiteSourceDirectory : alternativeSiteSourceDirectories) {
mainSiteDirectory.addAlternativeSourceDirectory(additionalSiteSourceDirectory);
}
}
context.addSiteDirectory(mainSiteDirectory);

if (moduleExcludes != null) {
context.setModuleExcludes(moduleExcludes);
}
Expand Down
Loading