elharo commented on code in PR #297:
URL: https://github.com/apache/maven-enforcer/pull/297#discussion_r1908631102


##########
enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/files/RequireFilesExist.java:
##########
@@ -31,35 +30,11 @@ public final class RequireFilesExist extends 
AbstractRequireFiles {
     @Override
     boolean checkFile(File file) {
         // if we get here and the handle is null, treat it as a success
-        return file == null ? true : file.exists() && 
osIndependentNameMatch(file, true);
+        return file == null ? true : file.exists();

Review Comment:
   IMHO
   
   return file == null || file.exists()
   
   is clearer, but up to you



##########
enforcer-rules/src/site/apt/requireFilesExist.apt.vm:
##########
@@ -26,7 +26,10 @@
 Require Files Exist
 
   This rule checks that the specified list of files exist.
-
+  
+  The mounted filesystem(s) will dictate the case-sensitive rules when 
checking files. If you require checks that your

Review Comment:
   case-sensitivity



##########
enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/files/TestRequireFilesDontExist.java:
##########
@@ -107,15 +106,58 @@ void testEmptyFileListAllowNull() {
     @Test
     void testFileDoesNotExist() throws EnforcerRuleException, IOException {
         File f = File.createTempFile("junit", null, temporaryFolder);
+        rule.setFilesList(Collections.singletonList(f));
+
+        EnforcerRuleException e = assertThrows(EnforcerRuleException.class, 
rule::execute);
+        assertNotNull(e.getMessage());
+
         f.delete();
 
         assertFalse(f.exists());
 
-        rule.setFilesList(Collections.singletonList(f));
-
         rule.execute();
     }
 
+    @Test
+    void testSymbolicLinkDoesNotExist() throws Exception {
+        File canonicalFile = File.createTempFile("canonical_", null, 
temporaryFolder);
+        File linkFile = Files.createSymbolicLink(
+                        Paths.get(temporaryFolder.getAbsolutePath(), 
"symbolic.link"),
+                        Paths.get(canonicalFile.getAbsolutePath()))
+                .toFile();
+
+        try {
+            rule.setFilesList(Collections.singletonList(linkFile));
+            EnforcerRuleException e = 
assertThrows(EnforcerRuleException.class, rule::execute);
+            assertNotNull(e.getMessage());
+
+            linkFile.delete();
+            rule.execute();
+        } finally {

Review Comment:
   I think the temporary folder rule should take care of that



##########
enforcer-rules/src/site/apt/requireFilesSize.apt.vm:
##########
@@ -26,7 +26,10 @@
 Require File Size
 
   This rule checks that the specified list of files exist and are within the 
specified size range.
-
+  
+  The mounted filesystem(s) will dictate the case-sensitive rules when 
checking files. If you require checks that your

Review Comment:
   case-sensitivity



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to