@@ -926,7 +926,7 @@ | |||||
<td>Yes</td> | <td>Yes</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>followlinks</td> | |||||
<td>followsymlinks</td> | |||||
<td>Must the selector follow symbolic links?</td> | <td>Must the selector follow symbolic links?</td> | ||||
<td>No; defaults to <q>false</q> (was <q>true</q> before Ant 1.10.4)</td> | <td>No; defaults to <q>false</q> (was <q>true</q> before Ant 1.10.4)</td> | ||||
</tr> | </tr> | ||||
@@ -953,7 +953,7 @@ | |||||
<td>Yes</td> | <td>Yes</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>followlinks</td> | |||||
<td>followsymlinks</td> | |||||
<td>Must the selector follow symbolic links?</td> | <td>Must the selector follow symbolic links?</td> | ||||
<td>No; defaults to <q>false</q></td> | <td>No; defaults to <q>false</q></td> | ||||
</tr> | </tr> | ||||
@@ -980,7 +980,7 @@ | |||||
<td>Yes</td> | <td>Yes</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>followlinks</td> | |||||
<td>followsymlinks</td> | |||||
<td>Must the selector follow symbolic links?</td> | <td>Must the selector follow symbolic links?</td> | ||||
<td>No; defaults to <q>false</q></td> | <td>No; defaults to <q>false</q></td> | ||||
</tr> | </tr> | ||||
@@ -42,7 +42,7 @@ public class OwnedBySelector implements FileSelector { | |||||
private String owner; | private String owner; | ||||
private boolean followLinks = false; | |||||
private boolean followSymlinks = false; | |||||
/** | /** | ||||
* Sets the user name to look for. | * Sets the user name to look for. | ||||
@@ -54,10 +54,10 @@ public class OwnedBySelector implements FileSelector { | |||||
/** | /** | ||||
* Sets the "follow links" flag. | * Sets the "follow links" flag. | ||||
* @param followLinks the user name | |||||
* @param followSymlinks the user name | |||||
*/ | */ | ||||
public void setFollowLinks(String followLinks) { | |||||
this.followLinks = PropertyHelper.toBoolean(followLinks); | |||||
public void setFollowSymlinks(String followSymlinks) { | |||||
this.followSymlinks = PropertyHelper.toBoolean(followSymlinks); | |||||
} | } | ||||
@Override | @Override | ||||
@@ -67,7 +67,7 @@ public class OwnedBySelector implements FileSelector { | |||||
} | } | ||||
if (file != null) { | if (file != null) { | ||||
try { | try { | ||||
UserPrincipal user = followLinks ? Files.getOwner(file.toPath()) | |||||
UserPrincipal user = followSymlinks ? Files.getOwner(file.toPath()) | |||||
: Files.getOwner(file.toPath(), LinkOption.NOFOLLOW_LINKS); | : Files.getOwner(file.toPath(), LinkOption.NOFOLLOW_LINKS); | ||||
return user != null && owner.equals(user.getName()); | return user != null && owner.equals(user.getName()); | ||||
} catch (UnsupportedOperationException | IOException ex) { | } catch (UnsupportedOperationException | IOException ex) { | ||||
@@ -42,7 +42,7 @@ public class PosixGroupSelector implements FileSelector { | |||||
private String group; | private String group; | ||||
private boolean followLinks = false; | |||||
private boolean followSymlinks = false; | |||||
/** | /** | ||||
* Sets the group name to look for. | * Sets the group name to look for. | ||||
@@ -54,10 +54,10 @@ public class PosixGroupSelector implements FileSelector { | |||||
/** | /** | ||||
* Sets the "follow links" flag. | * Sets the "follow links" flag. | ||||
* @param followLinks the user name | |||||
* @param followSymlinks the user name | |||||
*/ | */ | ||||
public void setFollowLinks(String followLinks) { | |||||
this.followLinks = PropertyHelper.toBoolean(followLinks); | |||||
public void setFollowSymlinks(String followSyminks) { | |||||
this.followSymlinks = PropertyHelper.toBoolean(followSymlinks); | |||||
} | } | ||||
@Override | @Override | ||||
@@ -66,7 +66,7 @@ public class PosixGroupSelector implements FileSelector { | |||||
throw new BuildException("the group attribute is required"); | throw new BuildException("the group attribute is required"); | ||||
} | } | ||||
try { | try { | ||||
GroupPrincipal actualGroup = followLinks ? Files.readAttributes(file.toPath(), | |||||
GroupPrincipal actualGroup = followSymlinks ? Files.readAttributes(file.toPath(), | |||||
PosixFileAttributes.class).group() : Files.readAttributes(file.toPath(), | PosixFileAttributes.class).group() : Files.readAttributes(file.toPath(), | ||||
PosixFileAttributes.class, LinkOption.NOFOLLOW_LINKS).group(); | PosixFileAttributes.class, LinkOption.NOFOLLOW_LINKS).group(); | ||||
return actualGroup != null && actualGroup.getName().equals(group); | return actualGroup != null && actualGroup.getName().equals(group); | ||||
@@ -41,7 +41,7 @@ public class PosixPermissionsSelector implements FileSelector { | |||||
private String permissions; | private String permissions; | ||||
private boolean followLinks = false; | |||||
private boolean followSymlinks = false; | |||||
/** | /** | ||||
* Sets the permissions to look for. | * Sets the permissions to look for. | ||||
@@ -64,10 +64,10 @@ public class PosixPermissionsSelector implements FileSelector { | |||||
/** | /** | ||||
* Sets the "follow links" flag. | * Sets the "follow links" flag. | ||||
* @param followLinks the user name | |||||
* @param followSymlinks the user name | |||||
*/ | */ | ||||
public void setFollowLinks(String followLinks) { | |||||
this.followLinks = PropertyHelper.toBoolean(followLinks); | |||||
public void setFollowSymlinks(String followSymlinks) { | |||||
this.followSymlinks = PropertyHelper.toBoolean(followSymlinks); | |||||
} | } | ||||
@Override | @Override | ||||
@@ -76,7 +76,7 @@ public class PosixPermissionsSelector implements FileSelector { | |||||
throw new BuildException("the permissions attribute is required"); | throw new BuildException("the permissions attribute is required"); | ||||
} | } | ||||
try { | try { | ||||
return PosixFilePermissions.toString(followLinks | |||||
return PosixFilePermissions.toString(followSymlinks | |||||
? Files.getPosixFilePermissions(file.toPath()) | ? Files.getPosixFilePermissions(file.toPath()) | ||||
: Files.getPosixFilePermissions(file.toPath(), LinkOption.NOFOLLOW_LINKS)) | : Files.getPosixFilePermissions(file.toPath(), LinkOption.NOFOLLOW_LINKS)) | ||||
.equals(permissions); | .equals(permissions); | ||||
@@ -217,14 +217,14 @@ public class DirectoryScannerTest { | |||||
} | } | ||||
/** | /** | ||||
* Test case for setFollowLinks() and associated functionality. | |||||
* Test case for setFollowSymlinks() and associated functionality. | |||||
* Only supports test on Linux at the moment because Java has | * Only supports test on Linux at the moment because Java has | ||||
* no real notion of symlinks built in, so an os-specfic call | * no real notion of symlinks built in, so an os-specfic call | ||||
* to Runtime.exec() must be made to create a link to test against. | * to Runtime.exec() must be made to create a link to test against. | ||||
* @throws InterruptedException if something goes wrong | * @throws InterruptedException if something goes wrong | ||||
*/ | */ | ||||
@Test | @Test | ||||
public void testSetFollowLinks() throws IOException, InterruptedException { | |||||
public void testSetFollowSymlinks() throws IOException, InterruptedException { | |||||
if (supportsSymlinks) { | if (supportsSymlinks) { | ||||
File dir = new File(buildRule.getProject().getBaseDir(), | File dir = new File(buildRule.getProject().getBaseDir(), | ||||
"../../../main/org/apache/tools"); | "../../../main/org/apache/tools"); | ||||
@@ -240,7 +240,7 @@ public class DirectoryScannerTest { | |||||
Process process = Runtime.getRuntime().exec(command); | Process process = Runtime.getRuntime().exec(command); | ||||
assertEquals("0 return code expected for external process", 0, process.waitFor()); | assertEquals("0 return code expected for external process", 0, process.waitFor()); | ||||
// followLinks should be true by default, but if this ever | |||||
// followSymlinks should be true by default, but if this ever | |||||
// changes we will need this line. | // changes we will need this line. | ||||
ds.setFollowSymlinks(true); | ds.setFollowSymlinks(true); | ||||
@@ -80,7 +80,7 @@ public class OwnedBySelectorTest { | |||||
s.setOwner(SELF); | s.setOwner(SELF); | ||||
assertTrue(s.isSelected(null, null, symbolicLink.toFile())); | assertTrue(s.isSelected(null, null, symbolicLink.toFile())); | ||||
s.setFollowLinks("yes"); | |||||
s.setFollowSymlinks("yes"); | |||||
assertFalse(s.isSelected(null, null, symbolicLink.toFile())); | assertFalse(s.isSelected(null, null, symbolicLink.toFile())); | ||||
} | } | ||||
} | } |
@@ -87,7 +87,7 @@ public class PosixGroupSelectorTest { | |||||
s.setGroup(linkGroup.getName()); | s.setGroup(linkGroup.getName()); | ||||
assertTrue(s.isSelected(null, null, symbolicLink.toFile())); | assertTrue(s.isSelected(null, null, symbolicLink.toFile())); | ||||
s.setFollowLinks("yes"); | |||||
s.setFollowSymlinks("yes"); | |||||
assertFalse(s.isSelected(null, null, symbolicLink.toFile())); | assertFalse(s.isSelected(null, null, symbolicLink.toFile())); | ||||
} | } | ||||
} | } |
@@ -125,7 +125,7 @@ public class PosixPermissionsSelectorTest { | |||||
s.setPermissions(argument); | s.setPermissions(argument); | ||||
assertFalse(s.isSelected(null, null, symbolicLink.toFile())); | assertFalse(s.isSelected(null, null, symbolicLink.toFile())); | ||||
s.setFollowLinks("yes"); | |||||
s.setFollowSymlinks("yes"); | |||||
assertTrue(s.isSelected(null, null, symbolicLink.toFile())); | assertTrue(s.isSelected(null, null, symbolicLink.toFile())); | ||||
} | } | ||||
} | } | ||||