From doxia-commits-return-118-apmail-maven-doxia-commits-archive=maven.apache.org@maven.apache.org Wed Apr 05 23:48:22 2006 Return-Path: Delivered-To: apmail-maven-doxia-commits-archive@www.apache.org Received: (qmail 97555 invoked from network); 5 Apr 2006 23:48:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 5 Apr 2006 23:48:22 -0000 Received: (qmail 85203 invoked by uid 500); 5 Apr 2006 23:48:22 -0000 Delivered-To: apmail-maven-doxia-commits-archive@maven.apache.org Received: (qmail 85175 invoked by uid 500); 5 Apr 2006 23:48:21 -0000 Mailing-List: contact doxia-commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: doxia-dev@maven.apache.org Delivered-To: mailing list doxia-commits@maven.apache.org Received: (qmail 85166 invoked by uid 99); 5 Apr 2006 23:48:21 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Apr 2006 16:48:21 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 05 Apr 2006 16:48:20 -0700 Received: (qmail 97302 invoked by uid 65534); 5 Apr 2006 23:48:00 -0000 Message-ID: <20060405234800.97301.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r391848 - in /maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer: DefaultSiteRenderer.java DocumentRenderer.java DoxiaDocumentRenderer.java Date: Wed, 05 Apr 2006 23:47:59 -0000 To: doxia-commits@maven.apache.org From: brett@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: brett Date: Wed Apr 5 16:47:59 2006 New Revision: 391848 URL: http://svn.apache.org/viewcvs?rev=391848&view=rev Log: [MSITE-40] don't regenerate doc files that are unchanged Submitted by: Jesse McConnell Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=391848&r1=391847&r2=391848&view=diff ============================================================================== --- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original) +++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Wed Apr 5 16:47:59 2006 @@ -201,22 +201,35 @@ { DocumentRenderer docRenderer = (DocumentRenderer) i.next(); - File outputFile = new File( outputDirectory, docRenderer.getOutputName() ); + RenderingContext renderingContext = docRenderer.getRenderingContext(); - if ( !outputFile.getParentFile().exists() ) - { - outputFile.getParentFile().mkdirs(); - } + File outputFile = new File ( outputDirectory, docRenderer.getOutputName() ); + + File inputFile = new File ( renderingContext.getBasedir(), renderingContext.getInputName() ); - OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream( outputFile ), outputEncoding ); - try + if ( !outputFile.exists() || inputFile.lastModified() > outputFile.lastModified() ) { - docRenderer.renderDocument( writer, this, siteRenderingContext ); + if ( !outputFile.getParentFile().exists() ) + { + outputFile.getParentFile().mkdirs(); + } + + OutputStreamWriter writer = + new OutputStreamWriter( new FileOutputStream( outputFile ), outputEncoding ); + + try + { + docRenderer.renderDocument( writer, this, siteRenderingContext ); + } + finally + { + IOUtil.close( writer ); + } } - finally + else { - IOUtil.close( writer ); + getLogger().info( inputFile + " unchanged, not regenerating..." ); } } } Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java?rev=391848&r1=391847&r2=391848&view=diff ============================================================================== --- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java (original) +++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java Wed Apr 5 16:47:59 2006 @@ -16,6 +16,8 @@ * limitations under the License. */ +import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext; + import java.io.FileNotFoundException; import java.io.Writer; @@ -26,8 +28,10 @@ */ public interface DocumentRenderer { - void renderDocument( Writer writer, Renderer renderer, SiteRenderingContext siteRenderingContext ) + public void renderDocument( Writer writer, Renderer renderer, SiteRenderingContext siteRenderingContext ) throws RendererException, FileNotFoundException; - String getOutputName(); + public String getOutputName(); + + public RenderingContext getRenderingContext(); } Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java?rev=391848&r1=391847&r2=391848&view=diff ============================================================================== --- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java (original) +++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java Wed Apr 5 16:47:59 2006 @@ -47,4 +47,9 @@ return renderingContext.getOutputName(); } + public RenderingContext getRenderingContext() + { + return renderingContext; + } + }