This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push: new ce9e6c3 Align with 9.0.x onwards ce9e6c3 is described below commit ce9e6c321241ecfae6f86378c59e12131cf2738c Author: Mark Thomas <ma...@apache.org> AuthorDate: Mon Feb 7 21:10:59 2022 +0000 Align with 9.0.x onwards --- java/org/apache/tomcat/buildutil/CheckEol.java | 48 +++++++++++++++++++------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/java/org/apache/tomcat/buildutil/CheckEol.java b/java/org/apache/tomcat/buildutil/CheckEol.java index e33fddf..f9b9839 100644 --- a/java/org/apache/tomcat/buildutil/CheckEol.java +++ b/java/org/apache/tomcat/buildutil/CheckEol.java @@ -32,17 +32,21 @@ import org.apache.tools.ant.types.FileSet; /** * Ant task that checks that all the files in the given fileset have end-of-line - * delimiters that are appropriate for the current OS. + * delimiters that are appropriate. * * <p> - * The goal is to check whether we have problems with svn:eol-style property - * when files are committed on one OS and then checked on another one. + * The goal is to check whether we have problems with Subversion's svn:eol-style + * property or Git's autocrlf setting when files are committed on one OS and then + * checked on another one. */ public class CheckEol extends Task { /** The files to be checked */ private final List<FileSet> filesets = new LinkedList<>(); + /** The line ending mode (either LF, CRLF, or null for OS specific) */ + private Mode mode; + /** * Sets the files to be checked * @@ -53,6 +57,29 @@ public class CheckEol extends Task { } /** + * Sets the line ending mode. + * + * @param mode The line ending mode (either LF or CRLF) + */ + public void setMode( String mode ) { + this.mode = Mode.valueOf( mode.toUpperCase() ); + } + + private Mode getMode() { + if ( mode != null ) { + return mode; + } else { + if ("\n".equals(System.lineSeparator())) { + return Mode.LF; + } else if ("\r\n".equals(System.lineSeparator())) { + return Mode.CRLF; + } + } + + return null; + } + + /** * Perform the check * * @throws BuildException if an error occurs during execution of @@ -61,14 +88,9 @@ public class CheckEol extends Task { @Override public void execute() throws BuildException { - Mode mode = null; - if ("\n".equals(System.lineSeparator())) { - mode = Mode.LF; - } else if ("\r\n".equals(System.lineSeparator())) { - mode = Mode.CRLF; - } else { - log("Line ends check skipped, because OS line ends setting is neither LF nor CRLF.", - Project.MSG_VERBOSE); + Mode mode = getMode(); + if ( mode == null ) { + log("Line ends check skipped, because OS line ends setting is neither LF nor CRLF.", Project.MSG_VERBOSE); return; } @@ -83,8 +105,8 @@ public class CheckEol extends Task { String[] files = ds.getIncludedFiles(); if (files.length > 0) { log("Checking line ends in " + files.length + " file(s)"); - for (int i = 0; i < files.length; i++) { - File file = new File(basedir, files[i]); + for (String filename : files) { + File file = new File(basedir, filename); log("Checking file '" + file + "' for correct line ends", Project.MSG_DEBUG); try { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org