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; + } }