@Override public List<Record> invoke(File baseDir, VirtualChannel channel) throws IOException { List<Record> results = new ArrayList<Record>(); FileSet src = Util.createFileSet(baseDir,targets); DirectoryScanner ds = src.getDirectoryScanner(); for( String f : ds.getIncludedFiles() ) { File file = new File(baseDir,f); // consider the file to be produced by this build only if the timestamp // is newer than when the build has started. // 2000ms is an error margin since since VFAT only retains timestamp at 2sec precision boolean produced = buildTimestamp <= file.lastModified()+2000; try { results.add(new Record(produced,f,file.getName(),new FilePath(file).digest())); } catch (IOException e) { throw new IOException(Messages.Fingerprinter_DigestFailed(file),e); } catch (InterruptedException e) { throw new IOException(Messages.Fingerprinter_Aborted(),e); } } return results; }
public List<Record> invoke(File baseDir, VirtualChannel channel) throws IOException { List<Record> results = new ArrayList<Record>(); FileSet src = Util.createFileSet(baseDir,targets); DirectoryScanner ds = src.getDirectoryScanner(); for( String f : ds.getIncludedFiles() ) { File file = new File(baseDir,f); // consider the file to be produced by this build only if the timestamp // is newer than when the build has started. // 2000ms is an error margin since since VFAT only retains timestamp at 2sec precision boolean produced = buildTimestamp <= file.lastModified()+2000; try { results.add(new Record(produced,f,file.getName(),new FilePath(file).digest())); } catch (IOException e) { throw new IOException(Messages.Fingerprinter_DigestFailed(file),e); } catch (InterruptedException e) { throw new IOException(Messages.Fingerprinter_Aborted(),e); } } return results; } });
public List<Record> invoke(File baseDir, VirtualChannel channel) throws IOException { List<Record> results = new ArrayList<Record>(); FileSet src = Util.createFileSet(baseDir,targets); DirectoryScanner ds = src.getDirectoryScanner(); for( String f : ds.getIncludedFiles() ) { File file = new File(baseDir,f); // consider the file to be produced by this build only if the timestamp // is newer than when the build has started. // 2000ms is an error margin since since VFAT only retains timestamp at 2sec precision boolean produced = buildTimestamp <= file.lastModified()+2000; try { results.add(new Record(produced,f,file.getName(),new FilePath(file).digest())); } catch (IOException e) { throw new IOException2(Messages.Fingerprinter_DigestFailed(file),e); } catch (InterruptedException e) { throw new IOException2(Messages.Fingerprinter_Aborted(),e); } } return results; } });
public List<Record> invoke(File baseDir, VirtualChannel channel) throws IOException { List<Record> results = new ArrayList<Record>(); FileSet src = Util.createFileSet(baseDir,targets); DirectoryScanner ds = src.getDirectoryScanner(); for( String f : ds.getIncludedFiles() ) { File file = new File(baseDir,f); // consider the file to be produced by this build only if the timestamp // is newer than when the build has started. // 2000ms is an error margin since since VFAT only retains timestamp at 2sec precision boolean produced = buildTimestamp <= file.lastModified()+2000; try { results.add(new Record(produced,f,file.getName(),new FilePath(file).digest())); } catch (IOException e) { throw new IOException2(Messages.Fingerprinter_DigestFailed(file),e); } catch (InterruptedException e) { throw new IOException2(Messages.Fingerprinter_Aborted(),e); } } return results; } });
public List<Record> invoke(File baseDir, VirtualChannel channel) throws IOException { List<Record> results = new ArrayList<Record>(); FileSet src = Util.createFileSet(baseDir,targets); DirectoryScanner ds = src.getDirectoryScanner(); for( String f : ds.getIncludedFiles() ) { File file = new File(baseDir,f); // consider the file to be produced by this build only if the timestamp // is newer than when the build has started. // 2000ms is an error margin since since VFAT only retains timestamp at 2sec precision boolean produced = buildTimestamp <= file.lastModified()+2000; try { results.add(new Record(produced,f,file.getName(),new FilePath(file).digest())); } catch (IOException e) { throw new IOException2(Messages.Fingerprinter_DigestFailed(file),e); } catch (InterruptedException e) { throw new IOException2(Messages.Fingerprinter_Aborted(),e); } } return results; } });
public List<Record> invoke(File baseDir, VirtualChannel channel) throws IOException { List<Record> results = new ArrayList<Record>(); FileSet src = Util.createFileSet(baseDir, targets); DirectoryScanner ds = src.getDirectoryScanner(); for (String f : ds.getIncludedFiles()) { File file = new File(baseDir, f); // consider the file to be produced by this build only if the timestamp // is newer than when the build has started. // 2000ms is an error margin since since VFAT only retains timestamp at 2sec precision boolean produced = buildTimestamp <= file.lastModified() + 2000; try { results.add(new Record(produced, f, file.getName(), new FilePath(file).digest())); } catch (IOException e) { throw new IOException2(Messages.Fingerprinter_DigestFailed(file), e); } catch (InterruptedException e) { throw new IOException2(Messages.Fingerprinter_Aborted(), e); } } return results; } });