This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push: new dd6298a Fix BZ 64784. Don't include timestamp in .java file when pre-compiling dd6298a is described below commit dd6298af2726fc5be58fd65460dfc117e2c329e5 Author: Mark Thomas <ma...@apache.org> AuthorDate: Fri Oct 9 14:02:50 2020 +0100 Fix BZ 64784. Don't include timestamp in .java file when pre-compiling --- java/org/apache/jasper/JspC.java | 13 +++++++++++++ java/org/apache/jasper/Options.java | 11 +++++++++++ java/org/apache/jasper/compiler/Generator.java | 6 ++++-- webapps/docs/changelog.xml | 6 ++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/JspC.java b/java/org/apache/jasper/JspC.java index f211f31..15f983d 100644 --- a/java/org/apache/jasper/JspC.java +++ b/java/org/apache/jasper/JspC.java @@ -1136,6 +1136,19 @@ public class JspC extends Task implements Options { return tagPluginManager; } + + /** + * {@inheritDoc} + * <p> + * Hard-coded to {@code false} for pre-compiled code to enable repeatable + * builds. + */ + @Override + public boolean getGeneratedJavaAddTimestamp() { + return false; + } + + /** * Adds servlet declaration and mapping for the JSP page servlet to the * generated web.xml fragment. diff --git a/java/org/apache/jasper/Options.java b/java/org/apache/jasper/Options.java index 9d0fbf9..248750a 100644 --- a/java/org/apache/jasper/Options.java +++ b/java/org/apache/jasper/Options.java @@ -256,4 +256,15 @@ public interface Options { * the quoting rules in JSP.1.6 applied to the expression. */ public boolean getQuoteAttributeEL(); + + /** + * Should the container include the time the file was generated in the + * comments at the start of a Java file generated from a JSP or tag. + * Defaults to {@code true}. + * + * @return {@code true} to include the timestamp, otherwise don't include it + */ + public default boolean getGeneratedJavaAddTimestamp() { + return true; + } } diff --git a/java/org/apache/jasper/compiler/Generator.java b/java/org/apache/jasper/compiler/Generator.java index 656e122..7f8f7d6 100644 --- a/java/org/apache/jasper/compiler/Generator.java +++ b/java/org/apache/jasper/compiler/Generator.java @@ -3680,8 +3680,10 @@ class Generator { out.println("/*"); out.println(" * Generated by the Jasper component of Apache Tomcat"); out.println(" * Version: " + ctxt.getServletContext().getServerInfo()); - out.println(" * Generated at: " + timestampFormat.format(new Date()) + - " UTC"); + if (ctxt.getOptions().getGeneratedJavaAddTimestamp()) { + out.println(" * Generated at: " + timestampFormat.format(new Date()) + + " UTC"); + } out.println(" * Note: The last modified time of this file was set to"); out.println(" * the last modified time of the source file after"); out.println(" * generation to assist with modification tracking."); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 07b69ba..8696eb9 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -74,6 +74,12 @@ <subsection name="Jasper"> <changelog> <fix> + <bug>64784</bug>: Don't include the time the Java file was generated as + a comment when generating Java files for JSPs and/or tags if the Java + file was created during pre-compilation. This is to aid repeatable + builds. (markt) + </fix> + <fix> <bug>64794</bug>: Security exception reading system property on JspRuntimeLibrary use. (remm) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org