/** * Cleans up the project, if it was only temporary. */ private void cleanup() { if (err != null) err.close(); if (err != null) err.close(); if (temporaryDirectory != null && !FileUtils.deleteRecursively(temporaryDirectory)) { temporaryDirectory.deleteOnExit(); } } }
/** * Deletes a directory recursively. * * @param directory The directory to delete. * @return whether it succeeded (see also {@link File#delete()}) */ public static boolean deleteRecursively(final File directory) { if (directory == null) return true; final File[] list = directory.listFiles(); if (list == null) return true; for (final File file : list) { if (file.isFile()) { if (!file.delete()) return false; } else if (file.isDirectory()) { if (!deleteRecursively(file)) return false; } } return directory.delete(); }
/** * Deletes a directory recursively. * * @param directory The directory to delete. * @return whether it succeeded (see also {@link File#delete()}) */ public static boolean deleteRecursively(final File directory) { if (directory == null) return true; final File[] list = directory.listFiles(); if (list == null) return true; for (final File file : list) { if (file.isFile()) { if (!file.delete()) return false; } else if (file.isDirectory()) { if (!deleteRecursively(file)) return false; } } return directory.delete(); }
if (!FileUtils.deleteRecursively(file)) {
if (!FileUtils.deleteRecursively(file)) {
@AfterClass public static void tearDown() { FileUtils.deleteRecursively(scriptsDir); }
@Test public void testUnpackedClass() throws IOException { final File tmpDir = createTemporaryDirectory("class-utils-test-"); final String path = getClass().getName().replace('.', '/') + ".class"; final File classFile = new File(tmpDir, path); assertTrue(classFile.getParentFile().exists() || classFile.getParentFile().mkdirs()); copy(getClass().getResource("/" + path).openStream(), new FileOutputStream(classFile), true); final ClassLoader classLoader = new URLClassLoader(new URL[] { tmpDir.toURI().toURL() }, null); final URL location = ClassUtils.getLocation(getClass().getName(), classLoader); assertEquals(tmpDir, FileUtils.urlToFile(location)); FileUtils.deleteRecursively(tmpDir); }
/** Tests {@link Types#location} with a class on the file system. */ @Test public void testLocationUnpackedClass() throws IOException { final File tmpDir = createTemporaryDirectory("class-utils-test-"); final String path = getClass().getName().replace('.', '/') + ".class"; final File classFile = new File(tmpDir, path); assertTrue(classFile.getParentFile().exists() || classFile.getParentFile().mkdirs()); copy(getClass().getResource("/" + path).openStream(), new FileOutputStream(classFile), true); final ClassLoader classLoader = new URLClassLoader(new URL[] { tmpDir.toURI().toURL() }, null); final Class<?> c = Types.load(getClass().getName(), classLoader); final URL location = Types.location(c); assertEquals(tmpDir, FileUtils.urlToFile(location)); FileUtils.deleteRecursively(tmpDir); }
@Test public void testGetAllVersions() throws IOException { final String withClassifier = "miglayout-3.7.3.1-swing.jar"; final String withoutClassifier = "miglayout-3.7.3.1.jar"; final File tmp = createTemporaryDirectory("delete-other-"); try { writeEmptyFile(new File(tmp, withClassifier)); writeEmptyFile(new File(tmp, withoutClassifier)); assertArrayEquals(new File[] { new File(tmp, withClassifier) }, FileUtils.getAllVersions(tmp, withClassifier)); assertArrayEquals(new File[] { new File(tmp, withoutClassifier) }, FileUtils.getAllVersions(tmp, withoutClassifier)); } finally { FileUtils.deleteRecursively(tmp); } }
/** Tests {@link ScriptInfo#getVersion()}. */ @Test public void testVersion() throws IOException { final String script = "" + // "% @LogService log\n" + // "% @OUTPUT int output"; // write script to a temporary directory on disk final File tmpDir = TestUtils.createTemporaryDirectory("script-info-test-"); final String path = "hello.bsizes"; final File scriptFile = new File(tmpDir, path); FileUtils.writeFile(scriptFile, DigestUtils.bytes(script)); // verify that the version is correct final ScriptInfo info = new ScriptInfo(context, scriptFile); final String version = info.getVersion(); final String sha1 = "28f4a2880d604774ac5d604d35f431047a087c9e"; assertTrue(version.matches("^" + sha1 + "$")); // clean up the temporary directory FileUtils.deleteRecursively(tmpDir); }
FileUtils.deleteRecursively(cacheDir);