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

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git


The following commit(s) were added to refs/heads/master by this push:
     new 8353560  [DOXIASITETOOLS-268] Don't open version resource file on 
every call to render
8353560 is described below

commit 8353560e73c8c13a02918d4d53f598afce1ca7fa
Author: John Dimeo <jdi...@us.ci.org>
AuthorDate: Wed Oct 19 16:15:31 2022 +0200

    [DOXIASITETOOLS-268] Don't open version resource file on every call to 
render
    
    This closes #65
---
 .../doxia/siterenderer/DefaultSiteRenderer.java    | 48 +++++++++++++---------
 1 file changed, 29 insertions(+), 19 deletions(-)

diff --git 
a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
 
b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
index 5a5a0e1..96b8211 100644
--- 
a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
+++ 
b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
@@ -151,6 +151,8 @@ public class DefaultSiteRenderer
 
     private static final String TOOLS_LOCATION = 
"META-INF/maven/site-tools.xml";
 
+    private static final String DOXIA_SITE_RENDERER_VERSION = 
getSiteRendererVersion();
+
     // ----------------------------------------------------------------------
     // Renderer implementation
     // ----------------------------------------------------------------------
@@ -555,26 +557,9 @@ public class DefaultSiteRenderer
 
         context.put( "publishDate", siteRenderingContext.getPublishDate() );
 
-        // doxiaSiteRendererVersion
-        InputStream inputStream = this.getClass().getResourceAsStream( 
"/META-INF/"
-            + 
"maven/org.apache.maven.doxia/doxia-site-renderer/pom.properties" );
-        if ( inputStream == null )
+        if ( DOXIA_SITE_RENDERER_VERSION != null )
         {
-            LOGGER.debug( "pom.properties for doxia-site-renderer could not be 
found." );
-        }
-        else
-        {
-            Properties properties = new Properties();
-            try ( InputStream in = inputStream )
-            {
-                properties.load( in );
-                context.put( "doxiaSiteRendererVersion", 
properties.getProperty( "version" ) );
-            }
-            catch ( IOException e )
-            {
-                LOGGER.debug( "Failed to load pom.properties, so 
doxiaSiteRendererVersion is not available"
-                        + " in the Velocity context." );
-            }
+            context.put( "doxiaSiteRendererVersion", 
DOXIA_SITE_RENDERER_VERSION );
         }
 
         // Add user properties
@@ -1138,4 +1123,29 @@ public class DefaultSiteRenderer
             // ignore
         }
     }
+
+    private static String getSiteRendererVersion()
+    {
+        InputStream inputStream = 
DefaultSiteRenderer.class.getResourceAsStream( "/META-INF/"
+            + 
"maven/org.apache.maven.doxia/doxia-site-renderer/pom.properties" );
+        if ( inputStream == null )
+        {
+            LOGGER.debug( "pom.properties for doxia-site-renderer not found" );
+        }
+        else
+        {
+            Properties properties = new Properties();
+            try ( InputStream in = inputStream )
+            {
+                properties.load( in );
+                return properties.getProperty( "version" );
+            }
+            catch ( IOException e )
+            {
+                LOGGER.debug( "Failed to load pom.properties, so Doxia 
SiteRenderer version will not be available", e );
+            }
+        }
+
+        return null;
+    }
 }

Reply via email to