@Override public void execute() { Assert.isTrue(LocationUtils.exists(sourceDir)); Assert.notNull(destinationDir); Assert.notNull(filePatterns); String sourceDirPath = LocationUtils.getCanonicalPath(new File(sourceDir)); logger.info("Starting File Copy"); logger.info("From: " + sourceDirPath); logger.info("To: " + destinationDir); logger.info("Using patterns: " + filePatterns); List<String> patterns = CollectionUtils.getTrimmedListFromCSV(filePatterns); SimpleScanner scanner = new SimpleScanner(); scanner.setBasedir(sourceDir); scanner.setIncludes(patterns.toArray(new String[patterns.size()])); List<File> sourceFiles = scanner.getFiles(); logger.info("Found " + sourceFiles.size() + " matching source files."); List<String> sourceLocations = new ArrayList<String>(sourceFiles.size()); List<File> destinationFiles = new ArrayList<File>(sourceFiles.size()); for (File f : sourceFiles) { String sourcePath = LocationUtils.getCanonicalPath(f); sourceLocations.add(sourcePath); String destinationPath = sourcePath.replace(sourceDirPath, (destinationDir + File.separator)); destinationFiles.add(new File(destinationPath)); } LocationUtils.copyLocationsToFiles(sourceLocations, destinationFiles); logger.info("File Copy Complete"); }
@Override public void execute() { Assert.notNull(mavenProperties); Assert.notNull(propertyNames); Assert.notNull(newFilesBaseDir); Assert.notNull(originalFilesBaseDir); Assert.notNull(filePattern); logger.info("Starting File List Comparison"); logger.info("Original files dir: " + originalFilesBaseDir); logger.info("New files dir: " + LocationUtils.getCanonicalPath(new File(newFilesBaseDir))); logger.info("File pattern: " + filePattern); logger.info("Property names: " + propertyNames); List<String> filePatterns = CollectionUtils.getTrimmedListFromCSV(filePattern); String[] includesArray = filePatterns.toArray(new String[filePatterns.size()]); SimpleScanner scanner = new SimpleScanner(); scanner.setBasedir(newFilesBaseDir); scanner.setIncludes(includesArray); List<String> newLocations = LocationUtils.getAbsolutePaths(scanner.getFiles()); List<String> newFileNames = LocationUtils.getFilenames(newLocations); scanner = new SimpleScanner(); scanner.setBasedir(originalFilesBaseDir); scanner.setIncludes(includesArray); List<String> originalLocations = LocationUtils.getAbsolutePaths(scanner.getFiles()); List<String> originalFileNames = LocationUtils.getFilenames(originalLocations); ComparisonResults comparison = LocationUtils.getLocationListComparison(newFileNames, originalFileNames); logger.info("Added {} files.", comparison.getAdded().size()); logger.info("Updated {} existing files.", comparison.getSame().size()); logger.info("Deleted {} files.", comparison.getDeleted().size()); PropertyUtils.addListComparisonProperties(mavenProperties, comparison, propertyNames); }
public SimpleScanner(File baseDir, List<String> includes, List<String> excludes) { if (baseDir != null) { setBasedir(baseDir); } if (!CollectionUtils.isEmpty(includes)) { setIncludes(CollectionUtils.toStringArray(includes)); } if (!CollectionUtils.isEmpty(excludes)) { setExcludes(CollectionUtils.toStringArray(excludes)); } }