@After public void cleanup() { HollowCodeGenerationCompileUtil.cleanupFolder(new File(sourceFolder), null); HollowCodeGenerationCompileUtil.cleanupFolder(new File(clazzFolder), null); } }
/** * Cleanup specified folder based on file older than specified timestamp * * @param folder - folder to be cleaned up * @param timestamp - specify timestamp to cleanup older files */ public static void cleanupFolder(File folder, Long timestamp) { System.out.println("Cleaning up folder: " + folder.getAbsolutePath()); if (folder.exists()) { for (File file : folder.listFiles()) { if (file.isDirectory()) { cleanupFolder(file, timestamp); file.delete(); } else if (timestamp == null || (timestamp.longValue() - file.lastModified() >= 5000)) { // cleanup file if it is older than specified timestamp with some buffer time System.out.println(String.format("\t deleting file: %s, lastModified=%s", file.getName(), new Date(file.lastModified()))); file.delete(); } } folder.delete(); } } }
void runGenerator(String apiClassName, String packageName, Class<?> clazz, UnaryOperator<HollowAPIGenerator.Builder> generatorCustomizer) throws Exception { System.out.println(String.format("Folders (%s) : \n\tsource=%s \n\tclasses=%s", getClass().getSimpleName(), sourceFolder, clazzFolder)); // Setup Folders HollowCodeGenerationCompileUtil.cleanupFolder(new File(sourceFolder), null); HollowCodeGenerationCompileUtil.cleanupFolder(new File(clazzFolder), null); // Run Generator HollowAPIGenerator generator = generatorCustomizer.apply(new HollowAPIGenerator.Builder()) .withDataModel(clazz).withAPIClassname(apiClassName).withPackageName(packageName) .withDestination(sourceFolder).build(); generator.generateSourceFiles(); // Compile to validate generated files HollowCodeGenerationCompileUtil.compileSrcFiles(sourceFolder, clazzFolder); }