@@ -373,6 +373,6 @@ public class AntTypeDefinition { | |||||
} | } | ||||
private String extractClassname(Class<?> c) { | private String extractClassname(Class<?> c) { | ||||
return (c == null) ? "<null>" : c.getClass().getName(); | |||||
return (c == null) ? "<null>" : c.getName(); | |||||
} | } | ||||
} | } |
@@ -126,7 +126,7 @@ public class ArgumentProcessorRegistry { | |||||
processor = processorClass.getConstructor().newInstance(); | processor = processorClass.getConstructor().newInstance(); | ||||
} catch (Exception e) { | } catch (Exception e) { | ||||
throw new BuildException("The argument processor class" | throw new BuildException("The argument processor class" | ||||
+ processorClass.getClass().getName() | |||||
+ processorClass.getName() | |||||
+ " could not be instantiated with a default constructor", | + " could not be instantiated with a default constructor", | ||||
e); | e); | ||||
} | } | ||||
@@ -18,7 +18,6 @@ | |||||
package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
import java.io.IOException; | |||||
import java.io.File; | import java.io.File; | ||||
import java.nio.file.Files; | import java.nio.file.Files; | ||||
import java.nio.file.Path; | import java.nio.file.Path; | ||||
@@ -227,10 +227,7 @@ public class Sync extends Task { | |||||
// set the case sensitivity of the directory scanner based on the | // set the case sensitivity of the directory scanner based on the | ||||
// directory we are scanning, if we are able to determine that detail. | // directory we are scanning, if we are able to determine that detail. | ||||
// Else let the directory scanner default it to whatever it does internally | // Else let the directory scanner default it to whatever it does internally | ||||
final Optional<Boolean> caseSensitive = FileUtils.isCaseSensitiveFileSystem(toDir.toPath()); | |||||
if (caseSensitive.isPresent()) { | |||||
ds.setCaseSensitive(caseSensitive.get()); | |||||
} | |||||
FileUtils.isCaseSensitiveFileSystem(toDir.toPath()).ifPresent(ds::setCaseSensitive); | |||||
} | } | ||||
ds.addExcludes(excls); | ds.addExcludes(excls); | ||||
@@ -183,10 +183,8 @@ public class LauncherSupport { | |||||
final List<TestRequest> requests = new ArrayList<>(); | final List<TestRequest> requests = new ArrayList<>(); | ||||
for (final TestDefinition test : tests) { | for (final TestDefinition test : tests) { | ||||
final List<TestRequest> testRequests; | final List<TestRequest> testRequests; | ||||
if (test instanceof SingleTestClass) { | |||||
testRequests = createTestRequests((SingleTestClass) test); | |||||
} else if (test instanceof TestClasses) { | |||||
testRequests = createTestRequests((TestClasses) test); | |||||
if (test instanceof SingleTestClass || test instanceof TestClasses) { | |||||
testRequests = createTestRequests(test); | |||||
} else { | } else { | ||||
throw new BuildException("Unexpected test definition type " + test.getClass().getName()); | throw new BuildException("Unexpected test definition type " + test.getClass().getName()); | ||||
} | } | ||||
@@ -37,9 +37,6 @@ import org.apache.tools.ant.taskdefs.condition.Os; | |||||
*/ | */ | ||||
public final class JavaEnvUtils { | public final class JavaEnvUtils { | ||||
private JavaEnvUtils() { | |||||
} | |||||
/** Are we on a DOS-based system */ | /** Are we on a DOS-based system */ | ||||
private static final boolean IS_DOS = Os.isFamily("dos"); | private static final boolean IS_DOS = Os.isFamily("dos"); | ||||
/** Are we on Novell NetWare */ | /** Are we on Novell NetWare */ | ||||
@@ -146,6 +143,8 @@ public final class JavaEnvUtils { | |||||
/** array of packages in the runtime */ | /** array of packages in the runtime */ | ||||
private static Vector<String> jrePackages; | private static Vector<String> jrePackages; | ||||
private JavaEnvUtils() { | |||||
} | |||||
static { | static { | ||||
@@ -22,43 +22,38 @@ import java.io.File; | |||||
import java.io.FileReader; | import java.io.FileReader; | ||||
import java.io.FileWriter; | import java.io.FileWriter; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.junit.Rule; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.junit.rules.TemporaryFolder; | |||||
import static org.hamcrest.Matchers.containsString; | import static org.hamcrest.Matchers.containsString; | ||||
import static org.junit.Assert.assertThat; | import static org.junit.Assert.assertThat; | ||||
public class PropertyFileCLITest { | public class PropertyFileCLITest { | ||||
@Rule | |||||
public TemporaryFolder testFolder = new TemporaryFolder(); | |||||
@Test | @Test | ||||
public void testPropertyResolution() throws Exception { | public void testPropertyResolution() throws Exception { | ||||
FileUtils fu = FileUtils.getFileUtils(); | |||||
File props = fu.createTempFile("propertyfilecli", ".properties", | |||||
null, true, true); | |||||
File build = fu.createTempFile("propertyfilecli", ".xml", null, true, | |||||
true); | |||||
File log = fu.createTempFile("propertyfilecli", ".log", null, true, | |||||
true); | |||||
FileWriter fw = null; | |||||
FileReader fr = null; | |||||
try { | |||||
fw = new FileWriter(props); | |||||
File props = testFolder.newFile("propertyfilecli.properties"); | |||||
try (FileWriter fw = new FileWriter(props)) { | |||||
fw.write("w=world\nmessage=Hello, ${w}\n"); | fw.write("w=world\nmessage=Hello, ${w}\n"); | ||||
fw.close(); | |||||
fw = new FileWriter(build); | |||||
} | |||||
File build = testFolder.newFile("propertyfilecli.xml"); | |||||
try (FileWriter fw = new FileWriter(build)) { | |||||
fw.write("<project><echo>${message}</echo></project>"); | fw.write("<project><echo>${message}</echo></project>"); | ||||
fw.close(); | |||||
fw = null; | |||||
Main m = new NoExitMain(); | |||||
m.startAnt(new String[] { | |||||
"-propertyfile", props.getAbsolutePath(), | |||||
"-f", build.getAbsolutePath(), | |||||
"-l", log.getAbsolutePath() | |||||
}, null, null); | |||||
String l = FileUtils.safeReadFully(fr = new FileReader(log)); | |||||
assertThat(l, containsString("Hello, world")); | |||||
} finally { | |||||
FileUtils.close(fw); | |||||
FileUtils.close(fr); | |||||
} | |||||
Main m = new NoExitMain(); | |||||
File log = testFolder.newFile("propertyfilecli.log"); | |||||
m.startAnt(new String[] { | |||||
"-propertyfile", props.getAbsolutePath(), | |||||
"-f", build.getAbsolutePath(), | |||||
"-l", log.getAbsolutePath() | |||||
}, null, null); | |||||
try (FileReader fr = new FileReader(log)) { | |||||
assertThat(FileUtils.safeReadFully(fr), containsString("Hello, world")); | |||||
} | } | ||||
} | } | ||||
@@ -43,9 +43,6 @@ public class PropertyTest { | |||||
@Rule | @Rule | ||||
public ExpectedException thrown = ExpectedException.none(); | public ExpectedException thrown = ExpectedException.none(); | ||||
/** Utilities used for file operations */ | |||||
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); | |||||
@Before | @Before | ||||
public void setUp() { | public void setUp() { | ||||
buildRule.configureProject("src/etc/testcases/taskdefs/property.xml"); | buildRule.configureProject("src/etc/testcases/taskdefs/property.xml"); | ||||
@@ -85,7 +82,7 @@ public class PropertyTest { | |||||
@Test | @Test | ||||
public void test5() { | public void test5() { | ||||
String baseDir = buildRule.getProject().getProperty(MagicNames.PROJECT_BASEDIR); | String baseDir = buildRule.getProject().getProperty(MagicNames.PROJECT_BASEDIR); | ||||
String uri = FILE_UTILS.toURI(baseDir + "/property3.properties"); | |||||
String uri = FileUtils.getFileUtils().toURI(baseDir + "/property3.properties"); | |||||
buildRule.getProject().setNewProperty("test5.url", uri); | buildRule.getProject().setNewProperty("test5.url", uri); | ||||
buildRule.executeTarget("test5"); | buildRule.executeTarget("test5"); | ||||
@@ -20,13 +20,10 @@ package org.apache.tools.ant.taskdefs; | |||||
import org.apache.tools.ant.BuildFileRule; | import org.apache.tools.ant.BuildFileRule; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
import org.junit.Assume; | |||||
import org.junit.Before; | import org.junit.Before; | ||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import java.util.Optional; | |||||
import static org.hamcrest.Matchers.containsString; | import static org.hamcrest.Matchers.containsString; | ||||
import static org.hamcrest.Matchers.not; | import static org.hamcrest.Matchers.not; | ||||
import static org.junit.Assert.assertFalse; | import static org.junit.Assert.assertFalse; | ||||
@@ -187,8 +187,7 @@ public class TouchTest { | |||||
* @param time long | * @param time long | ||||
*/ | */ | ||||
public void assertTimesNearlyMatch(long timestamp, long time) { | public void assertTimesNearlyMatch(long timestamp, long time) { | ||||
long granularity = FILE_UTILS.getFileTimestampGranularity(); | |||||
assertTimesNearlyMatch(timestamp, time, granularity); | |||||
assertTimesNearlyMatch(timestamp, time, FILE_UTILS.getFileTimestampGranularity()); | |||||
} | } | ||||
/** | /** | ||||
@@ -18,19 +18,19 @@ | |||||
package org.apache.tools.ant.taskdefs.email; | package org.apache.tools.ant.taskdefs.email; | ||||
import java.io.File; | |||||
import java.io.FileOutputStream; | import java.io.FileOutputStream; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.PrintStream; | import java.io.PrintStream; | ||||
import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
import org.apache.tools.ant.util.FileUtils; | |||||
import org.junit.After; | |||||
import org.junit.Rule; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.junit.rules.TemporaryFolder; | |||||
public class MessageTest { | public class MessageTest { | ||||
private static final File f = new File(System.getProperty("java.io.tmpdir"), | |||||
"message.txt"); | |||||
@Rule | |||||
public TemporaryFolder testFolder = new TemporaryFolder(); | |||||
/** | /** | ||||
* test for bugzilla 48932 | * test for bugzilla 48932 | ||||
*/ | */ | ||||
@@ -40,23 +40,9 @@ public class MessageTest { | |||||
Project p = new Project(); | Project p = new Project(); | ||||
ms.setProject(p); | ms.setProject(p); | ||||
ms.addText("hi, this is an email"); | ms.addText("hi, this is an email"); | ||||
FileOutputStream fis = null; | |||||
try { | |||||
fis = new FileOutputStream(f); | |||||
ms.print(new PrintStream(fis)); | |||||
fis.write(120); | |||||
} finally { | |||||
FileUtils.close(fis); | |||||
} | |||||
} | |||||
@After | |||||
public void tearDown() { | |||||
if (f.exists()) { | |||||
FileUtils fu = FileUtils.getFileUtils(); | |||||
fu.tryHardToDelete(f); | |||||
try (FileOutputStream fos = new FileOutputStream(testFolder.newFile("message.txt"))) { | |||||
ms.print(new PrintStream(fos)); | |||||
fos.write(120); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -20,18 +20,18 @@ package org.apache.tools.ant.types; | |||||
import org.apache.tools.ant.BuildException; | import org.apache.tools.ant.BuildException; | ||||
import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
import org.apache.tools.ant.util.FileUtils; | |||||
import org.junit.Before; | import org.junit.Before; | ||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.junit.rules.ExpectedException; | import org.junit.rules.ExpectedException; | ||||
import org.junit.rules.TemporaryFolder; | |||||
import java.io.File; | import java.io.File; | ||||
import java.io.FileOutputStream; | import java.io.FileOutputStream; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.OutputStream; | |||||
import java.io.OutputStreamWriter; | import java.io.OutputStreamWriter; | ||||
import java.io.Writer; | import java.io.Writer; | ||||
import java.nio.charset.Charset; | |||||
import java.nio.charset.StandardCharsets; | import java.nio.charset.StandardCharsets; | ||||
import static org.junit.Assert.assertArrayEquals; | import static org.junit.Assert.assertArrayEquals; | ||||
@@ -45,6 +45,9 @@ import static org.junit.Assert.assertEquals; | |||||
public class PatternSetTest { | public class PatternSetTest { | ||||
@Rule | |||||
public TemporaryFolder testFolder = new TemporaryFolder(); | |||||
@Rule | @Rule | ||||
public ExpectedException thrown = ExpectedException.none(); | public ExpectedException thrown = ExpectedException.none(); | ||||
@@ -222,23 +225,15 @@ public class PatternSetTest { | |||||
@Test | @Test | ||||
public void testEncodingOfIncludesFile() throws IOException { | public void testEncodingOfIncludesFile() throws IOException { | ||||
File testFile = File.createTempFile("ant-", ".pattern"); | |||||
testFile.deleteOnExit(); | |||||
OutputStream o = null; | |||||
Writer w = null; | |||||
try { | |||||
o = new FileOutputStream(testFile); | |||||
w = new OutputStreamWriter(o, StandardCharsets.UTF_16LE); | |||||
File testFile = testFolder.newFile("ant.pattern"); | |||||
Charset cs = StandardCharsets.UTF_16LE; | |||||
try (Writer w = new OutputStreamWriter(new FileOutputStream(testFile), cs)) { | |||||
w.write("\u00e4\n"); | w.write("\u00e4\n"); | ||||
} finally { | |||||
FileUtils.close(w); | |||||
FileUtils.close(o); | |||||
} | } | ||||
PatternSet p = new PatternSet(); | |||||
PatternSet.PatternFileNameEntry ne = | PatternSet.PatternFileNameEntry ne = | ||||
(PatternSet.PatternFileNameEntry) p.createIncludesFile(); | |||||
(PatternSet.PatternFileNameEntry) p.createIncludesFile(); | |||||
ne.setName(testFile.getAbsolutePath()); | ne.setName(testFile.getAbsolutePath()); | ||||
ne.setEncoding("UTF-16LE"); | |||||
assertArrayEquals(new String[] { "\u00e4" }, p.getIncludePatterns(project)); | |||||
ne.setEncoding(cs.name()); | |||||
assertArrayEquals(new String[] {"\u00e4"}, p.getIncludePatterns(project)); | |||||
} | } | ||||
} | } |
@@ -48,8 +48,6 @@ public class ResourceOutputTest { | |||||
@Rule | @Rule | ||||
public BuildFileRule buildRule = new BuildFileRule(); | public BuildFileRule buildRule = new BuildFileRule(); | ||||
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); | |||||
private Project project; | private Project project; | ||||
@Before | @Before | ||||
@@ -121,7 +119,7 @@ public class ResourceOutputTest { | |||||
// TODO assert exception message | // TODO assert exception message | ||||
File f = project.resolveFile("testurloutput"); | File f = project.resolveFile("testurloutput"); | ||||
try { | try { | ||||
FILE_UTILS.createNewFile(f); | |||||
FileUtils.getFileUtils().createNewFile(f); | |||||
testoutput(new URLResource(f)); | testoutput(new URLResource(f)); | ||||
} finally { | } finally { | ||||
if (!f.delete()) { | if (!f.delete()) { | ||||
@@ -20,6 +20,7 @@ package org.apache.tools.ant.types.selectors; | |||||
import java.io.File; | import java.io.File; | ||||
import java.io.FileWriter; | import java.io.FileWriter; | ||||
import java.io.IOException; | |||||
import java.text.RuleBasedCollator; | import java.text.RuleBasedCollator; | ||||
import java.util.Arrays; | import java.util.Arrays; | ||||
import java.util.Comparator; | import java.util.Comparator; | ||||
@@ -41,12 +42,12 @@ import org.apache.tools.ant.types.selectors.modifiedselector.EqualComparator; | |||||
import org.apache.tools.ant.types.selectors.modifiedselector.HashvalueAlgorithm; | import org.apache.tools.ant.types.selectors.modifiedselector.HashvalueAlgorithm; | ||||
import org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector; | import org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector; | ||||
import org.apache.tools.ant.types.selectors.modifiedselector.PropertiesfileCache; | import org.apache.tools.ant.types.selectors.modifiedselector.PropertiesfileCache; | ||||
import org.apache.tools.ant.util.FileUtils; | |||||
import org.junit.Before; | import org.junit.Before; | ||||
import org.junit.Ignore; | import org.junit.Ignore; | ||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.junit.rules.ExpectedException; | import org.junit.rules.ExpectedException; | ||||
import org.junit.rules.TemporaryFolder; | |||||
import static org.hamcrest.Matchers.containsString; | import static org.hamcrest.Matchers.containsString; | ||||
import static org.hamcrest.Matchers.startsWith; | import static org.hamcrest.Matchers.startsWith; | ||||
@@ -70,8 +71,8 @@ public class ModifiedSelectorTest { | |||||
@Rule | @Rule | ||||
public ExpectedException thrown = ExpectedException.none(); | public ExpectedException thrown = ExpectedException.none(); | ||||
/** Utilities used for file operations */ | |||||
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); | |||||
@Rule | |||||
public TemporaryFolder testFolder = new TemporaryFolder(); | |||||
// ===================== fixtures ===================== | // ===================== fixtures ===================== | ||||
@@ -344,11 +345,10 @@ public class ModifiedSelectorTest { | |||||
* configure() method of ModifiedSelector. This testcase tests that. | * configure() method of ModifiedSelector. This testcase tests that. | ||||
*/ | */ | ||||
@Test | @Test | ||||
public void testCreatePropertiesCacheViaCustomSelector() { | |||||
File cachefile = FILE_UTILS.createTempFile("tmp-cache-", ".properties", null, false, false); | |||||
public void testCreatePropertiesCacheViaCustomSelector() throws IOException { | |||||
File cachefile = testFolder.newFile("tmp-cache.properties"); | |||||
// Configure the selector | // Configure the selector | ||||
ExtendSelector s = new ExtendSelector(); | ExtendSelector s = new ExtendSelector(); | ||||
s.setClassname("org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"); | s.setClassname("org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"); | ||||
s.addParam(createParam("update", "true")); | s.addParam(createParam("update", "true")); | ||||
@@ -359,7 +359,6 @@ public class ModifiedSelectorTest { | |||||
// evaluate correctness | // evaluate correctness | ||||
assertTrue("Cache file is not created.", cachefile.exists()); | assertTrue("Cache file is not created.", cachefile.exists()); | ||||
cachefile.delete(); | |||||
} | } | ||||
@Test | @Test | ||||
@@ -21,7 +21,6 @@ package org.apache.tools.ant.util; | |||||
import java.io.File; | import java.io.File; | ||||
import java.io.FileOutputStream; | import java.io.FileOutputStream; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.nio.file.FileSystem; | |||||
import java.nio.file.Files; | import java.nio.file.Files; | ||||
import java.nio.file.Path; | import java.nio.file.Path; | ||||
import java.nio.file.Paths; | import java.nio.file.Paths; | ||||
@@ -705,7 +704,7 @@ public class FileUtilsTest { | |||||
final boolean existsAsUpperCase = Files.exists(Paths.get(tmpDir.toString(), tmpFile.getFileName().toString().toUpperCase(Locale.US))); | final boolean existsAsUpperCase = Files.exists(Paths.get(tmpDir.toString(), tmpFile.getFileName().toString().toUpperCase(Locale.US))); | ||||
// if the temp file that we created is found to not exist in a particular "case", then | // if the temp file that we created is found to not exist in a particular "case", then | ||||
// the filesystem is case sensitive | // the filesystem is case sensitive | ||||
final Boolean expectedCaseSensitivity = existsAsLowerCase == false || existsAsUpperCase == false; | |||||
final Boolean expectedCaseSensitivity = !existsAsLowerCase || !existsAsUpperCase; | |||||
// call the method and pass it a directory | // call the method and pass it a directory | ||||
Optional<Boolean> actualCaseSensitivity = FileUtils.isCaseSensitiveFileSystem(tmpDir); | Optional<Boolean> actualCaseSensitivity = FileUtils.isCaseSensitiveFileSystem(tmpDir); | ||||