You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2020/05/29 21:46:58 UTC

[maven-shared-utils] branch master updated: [MSHARED-898] prefer JDK classes to DirectoryScanner (#45)

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

elharo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git


The following commit(s) were added to refs/heads/master by this push:
     new 0760867  [MSHARED-898]  prefer JDK classes to DirectoryScanner (#45)
0760867 is described below

commit 07608672f79bf9ab5f6fd620d3804343c44cb92e
Author: Elliotte Rusty Harold <el...@users.noreply.github.com>
AuthorDate: Fri May 29 17:46:50 2020 -0400

    [MSHARED-898]  prefer JDK classes to DirectoryScanner (#45)
    
    deprecate much DirectoryScanner code in favor of java.nio.file.DirectoryStream and related classes available in Java 7 and later
---
 .../apache/maven/shared/utils/io/DirectoryScanResult.java   |  3 +++
 .../org/apache/maven/shared/utils/io/DirectoryScanner.java  |  8 +++++---
 .../apache/maven/shared/utils/io/DirectoryWalkListener.java | 13 +++++++------
 .../java/org/apache/maven/shared/utils/io/MatchPattern.java |  4 +++-
 .../org/apache/maven/shared/utils/io/MatchPatterns.java     |  2 ++
 .../org/apache/maven/shared/utils/io/ScanConductor.java     |  3 +++
 .../org/apache/maven/shared/utils/io/SelectorUtils.java     |  2 ++
 .../org/apache/maven/shared/utils/io/WalkCollector.java     |  5 +++--
 .../apache/maven/shared/utils/io/DirectoryScannerTest.java  |  4 ++--
 .../maven/shared/utils/testhelpers/FileTestHelper.java      | 11 +----------
 10 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanResult.java b/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanResult.java
index 42232f3..ae5de32 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanResult.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanResult.java
@@ -23,7 +23,10 @@ package org.apache.maven.shared.utils.io;
 /**
  * Scan for files in a directory at a given time and reports removed and added files
  * between captures.
+ * 
+ * @deprecated use {@code java.nio.file.DirectoryStream} and related classes
  */
+@Deprecated
 public class DirectoryScanResult
 {
     private final String[] filesAdded;
diff --git a/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java b/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java
index c22cfe3..5d03525 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java
@@ -108,7 +108,9 @@ import javax.annotation.Nullable;
  * @author Magesh Umasankar
  * @author <a href="mailto:bruce@callenish.com">Bruce Atherton</a>
  * @author <a href="mailto:levylambert@tiscali-dsl.de">Antoine Levy-Lambert</a>
+ * @deprecated use {@code java.nio.file.DirectoryStream} and related classes
  */
+@Deprecated
 public class DirectoryScanner
 {
     /**
@@ -452,9 +454,9 @@ public class DirectoryScanner
     }
 
     /**
-     * @param oldFiles array of old files.
-     * @param newFiles array of new files.
-     * @return calculated differerence.
+     * @param oldFiles array of old files
+     * @param newFiles array of new files
+     * @return calculated difference
      */
     public static DirectoryScanResult diffFiles( @Nullable String[] oldFiles, @Nullable  String[] newFiles )
     {
diff --git a/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java b/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java
index 292298c..bb142b5 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java
@@ -22,16 +22,17 @@ package org.apache.maven.shared.utils.io;
 import java.io.File;
 
 /**
- * DirectoryWalkListener
- *
- *
+ * DirectoryWalkListener.
+ * 
+ * @deprecated use {@code java.nio.file.FileVisitor} and related classes
  */
+@Deprecated
 public interface DirectoryWalkListener
 {
     /**
      * The directory walking has begun.
      *
-     * @param basedir the basedir that walk started in.
+     * @param basedir the basedir that walk started in
      */
     void directoryWalkStarting( File basedir );
 
@@ -39,7 +40,7 @@ public interface DirectoryWalkListener
      * The included entry that was encountered.
      *
      * @param percentage rough percentage of the walk completed. (inaccurate)
-     * @param file       the file that was included.
+     * @param file       the file that was included
      */
     void directoryWalkStep( int percentage, File file );
 
@@ -49,7 +50,7 @@ public interface DirectoryWalkListener
     void directoryWalkFinished();
 
     /**
-     * @param message The message for the debugging output.
+     * @param message the message for the debugging output
      */
     void debug( String message );
 }
diff --git a/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java b/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java
index 15ad148..8abff42 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java
@@ -33,7 +33,9 @@ import javax.annotation.Nonnull;
  * Significantly more efficient than using strings, since re-evaluation and re-tokenizing is avoided.
  *
  * @author Kristian Rosenvold
+ * @deprecated use {@code java.nio.filejava.nio.file.DirectoryStream.Filter<T>} and related classes
  */
+@Deprecated
 public class MatchPattern
 {
     private final String source;
@@ -98,7 +100,7 @@ public class MatchPattern
     {
         if ( regexPattern != null )
         {
-            // FIXME: ICK! But we can't do partial matches for regex, so we have to reserve judgement until we have
+            // FIXME: ICK! But we can't do partial matches for regex, so we have to reserve judgment until we have
             // a file to deal with, or we can definitely say this is an exclusion...
             return true;
         }
diff --git a/src/main/java/org/apache/maven/shared/utils/io/MatchPatterns.java b/src/main/java/org/apache/maven/shared/utils/io/MatchPatterns.java
index 8e59f48..693acb1 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/MatchPatterns.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/MatchPatterns.java
@@ -27,7 +27,9 @@ import javax.annotation.Nonnull;
  * A list of patterns to be matched
  *
  * @author Kristian Rosenvold
+ * @deprecated use {@code java.nio.filejava.nio.file.DirectoryStream.Filter<T>} and related classes
  */
+@Deprecated
 public class MatchPatterns
 {
     private final MatchPattern[] patterns;
diff --git a/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java b/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java
index bd19067..08d7a1c 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java
@@ -33,7 +33,10 @@ import java.io.File;
  * cleaned between two scan() invocations.</p>
  *
  * @author <a href="mailto:struberg@apache.org">Mark Struberg</a>
+ * 
+ * @deprecated use {@code java.nio.file.Files.walkFileTree()} and related classes
  */
+@Deprecated
 public interface ScanConductor
 {
     /**
diff --git a/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java b/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
index 396ef6a..b716e7c 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
@@ -39,7 +39,9 @@ import javax.annotation.Nonnull;
  * @author Magesh Umasankar
  * @author <a href="mailto:bruce@callenish.com">Bruce Atherton</a>
  * 
+ * @deprecated use {@code java.nio.file.Files.walkFileTree()} and related classes
  */
+@Deprecated
 public final class SelectorUtils
 {
 
diff --git a/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java b/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
index 5d48d4a..3db835a 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
@@ -23,9 +23,10 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * 
+/** 
+ * @deprecated use {@code java.nio.file.FileVisitor} and related classes
  */
+@Deprecated
 public class WalkCollector
     implements DirectoryWalkListener
 {
diff --git a/src/test/java/org/apache/maven/shared/utils/io/DirectoryScannerTest.java b/src/test/java/org/apache/maven/shared/utils/io/DirectoryScannerTest.java
index 421f635..0111006 100644
--- a/src/test/java/org/apache/maven/shared/utils/io/DirectoryScannerTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/io/DirectoryScannerTest.java
@@ -37,6 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assume.assumeFalse;
 
+@SuppressWarnings( "deprecation" )
 public class DirectoryScannerTest
 {
     private static final String[] NONE = new String[0];
@@ -214,7 +215,6 @@ public class DirectoryScannerTest
     /*
         Creates a standard directory layout with symlinks and files.
      */
-
     @Test
     public void testSimpleExcludes()
         throws Exception
@@ -243,7 +243,7 @@ public class DirectoryScannerTest
                 /* expExclDirs     */ NONE );
     }
 
-    public void testIsSymLin()
+    public void testIsSymbolicLink()
         throws IOException
     {
         File file = new File( "." );
diff --git a/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java b/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java
index f4c6b02..81d4fad 100644
--- a/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java
+++ b/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java
@@ -20,7 +20,6 @@ package org.apache.maven.shared.utils.testhelpers;
  */
 
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.apache.maven.shared.utils.io.IOUtil;
 import org.junit.rules.TemporaryFolder;
 
 import java.io.*;
@@ -71,20 +70,12 @@ public final class FileTestHelper
             throw new IOException( "Cannot create file " + file + " as the parent directory does not exist" );
         }
 
-        PrintWriter out = null;
-        try
+        try ( PrintWriter out = new PrintWriter( new OutputStreamWriter( new FileOutputStream( file ), "UTF-8" ) ) )
         {
-            out = new PrintWriter( new OutputStreamWriter( new FileOutputStream( file ), "UTF-8" ) );
             for ( String aData : data )
             {
                 out.println( aData );
             }
-            out.close();
-            out = null;
-        }
-        finally
-        {
-            IOUtil.close( out );
         }
     }