You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2026/04/09 18:39:31 UTC

(maven-doxia-sitetools) branch bugfix/fix-ise-in-documentrenderingcontext-constructor created (now f5a19cd)

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a change to branch bugfix/fix-ise-in-documentrenderingcontext-constructor
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git


      at f5a19cd  Prevent IllegalStateException when using deprecated DocumentRenderingContext constructors with basedirRelativePath being null

This branch includes the following new commits:

     new f5a19cd  Prevent IllegalStateException when using deprecated DocumentRenderingContext constructors with basedirRelativePath being null

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(maven-doxia-sitetools) 01/01: Prevent IllegalStateException when using deprecated DocumentRenderingContext constructors with basedirRelativePath being null

Posted by kw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch bugfix/fix-ise-in-documentrenderingcontext-constructor
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git

commit f5a19cd9c3f688e3f44e79dafc779ef4d7821f91
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Apr 9 20:39:24 2026 +0200

    Prevent IllegalStateException when using deprecated
    DocumentRenderingContext constructors with basedirRelativePath being
    null
    
    In case basedirRelativePath is null neither rootDirectory nor
    siteRootDirectory should be set, as in that case also basedir is a
    pseudo directory.
---
 .../maven/doxia/siterenderer/DocumentRenderingContext.java    | 11 ++++++-----
 .../doxia/siterenderer/DocumentRenderingContextTest.java      |  7 +++++++
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContext.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContext.java
index 8d2be1e..e4d8733 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContext.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContext.java
@@ -59,7 +59,7 @@ public class DocumentRenderingContext {
      */
     private final Collection<File> sourceDirectories;
 
-    /** The project's build directory, may be {@code null} rendered from a Doxia source) */
+    /** The project's build directory, may be {@code null} if not rendered from a Doxia source */
     private final File rootDirectory;
 
     /** The site's root directory, must be below {@link #rootDirectory}, may be {@code null} if not rendered from a Doxia source */
@@ -106,7 +106,7 @@ public class DocumentRenderingContext {
     /**
      *
      * @param basedir
-     * @param basedirRelativePath
+     * @param basedirRelativePath (may be null if not a Doxia source)
      * @param document
      * @param parserId
      * @param extension
@@ -183,10 +183,11 @@ public class DocumentRenderingContext {
                 document,
                 parserId,
                 extension,
-                stripSuffixFromPath(basedir, basedirRelativePath),
+                // only generate root directory when basedirRelativePath is provided (for a doxia source)
+                basedirRelativePath == null ? null :  stripSuffixFromPath(basedir, basedirRelativePath),
                 // assume that site root is the parent of basedir (i.e. module specific source directory is directly
-                // below site root)
-                basedir.getParentFile(),
+                // below site root), only when basedirRelativePath is provided (for a doxia source)
+                basedirRelativePath == null ? null : basedir.getParentFile(),
                 editable ? Collections.singleton(basedir) : Collections.emptySet(),
                 generator);
     }
diff --git a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContextTest.java b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContextTest.java
index e455b0d..aa757d0 100644
--- a/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContextTest.java
+++ b/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContextTest.java
@@ -113,4 +113,11 @@ class DocumentRenderingContextTest {
         assertEquals("path/file.html", docRenderingContext.getOutputPath());
         assertEquals("..", docRenderingContext.getRelativePath());
     }
+
+    @Test
+    void testConstructorWithNullBasedirRelativePath() {
+        File basedir = new File(".");
+        new DocumentRenderingContext(basedir, null, "document", "markdown", "md", false);
+        new DocumentRenderingContext(basedir, null, "document", "markdown", "md", false, "generator");
+    }
 }