1 4 package com.tc.aspectwerkz.compiler; 5 6 import org.apache.tools.ant.BuildLogger; 7 import org.apache.tools.ant.DefaultLogger; 8 import org.apache.tools.ant.Project; 9 import org.apache.tools.ant.taskdefs.Copy; 10 import org.apache.tools.ant.taskdefs.Delete; 11 import org.apache.tools.ant.types.FileSet; 12 import org.apache.tools.ant.types.selectors.FilenameSelector; 13 14 import java.io.File ; 15 16 21 public class Utility { 22 25 private Project project; 26 27 30 private BuildLogger logger; 31 32 private boolean verbose = false; 33 34 37 public Utility() { 38 project = new Project(); 39 logger = new DefaultLogger(); 40 logger.setMessageOutputLevel(0); 41 logger.setOutputPrintStream(System.out); 42 logger.setErrorPrintStream(System.err); 43 project.addBuildListener(logger); 44 } 45 46 49 public void setVerbose(boolean verbose) { 50 if (verbose) { 51 logger.setMessageOutputLevel(2); 52 verbose = true; 53 } else { 54 logger.setMessageOutputLevel(-1); 55 verbose = false; 56 } 57 } 58 59 62 public void deleteDir(File dir) { 63 Delete task = new Delete(); 64 task.setProject(project); 65 task.setTaskName("delete"); 66 FilenameSelector fns = new FilenameSelector(); 67 fns.setName("**/*"); 68 FileSet fs = new FileSet(); 69 fs.setDir(dir); 70 fs.addFilename(fns); 71 task.addFileset(fs); 72 task.setIncludeEmptyDirs(true); 73 task.perform(); 74 dir.delete(); 75 } 76 77 80 public void backupFile(File source, File dest) { 81 Copy task = new Copy(); 82 task.setProject(project); 83 task.setTaskName("backup"); 84 task.setVerbose(verbose); 85 86 if (source.isDirectory()) { 89 FilenameSelector fns = new FilenameSelector(); 90 fns.setName("**/*"); 91 FileSet fs = new FileSet(); 92 fs.setDir(source); 93 fs.addFilename(fns); 94 task.addFileset(fs); 95 task.setTodir(dest); 96 task.setIncludeEmptyDirs(true); 97 } else { 98 task.setFile(source); 99 task.setTofile(dest); 100 } 101 task.setOverwrite(true); 102 task.setPreserveLastModified(true); 103 task.execute(); 104 } 105 106 public void log(String msg) { 107 project.log(msg); 108 } 109 } | Popular Tags |