in src/main/org/apache/ant/compress/resources/SevenZScanner.java [78:121]
protected void fillMapsFromArchive(Resource src, String encoding,
Map fileEntries, Map matchFileEntries,
Map dirEntries, Map matchDirEntries) {
FileProvider fp = (FileProvider) src.as(FileProvider.class);
if (fp == null) {
super.fillMapsFromArchive(src, encoding, fileEntries,
matchFileEntries, dirEntries,
matchDirEntries);
return;
}
File srcFile = fp.getFile();
SevenZArchiveEntry entry = null;
try (SevenZFile zf = new SevenZFile(srcFile)) {
entry = zf.getNextEntry();
while (entry != null) {
/* TODO implement canReadEntryData in CC
if (getSkipUnreadableEntries() && !zf.canReadEntryData(entry)) {
log(Messages.skippedIsUnreadable(entry));
continue;
}
*/
Resource r = new SevenZResource(srcFile, encoding, entry);
String name = entry.getName();
if (entry.isDirectory()) {
name = trimSeparator(name);
dirEntries.put(name, r);
if (match(name)) {
matchDirEntries.put(name, r);
}
} else {
fileEntries.put(name, r);
if (match(name)) {
matchFileEntries.put(name, r);
}
}
entry = zf.getNextEntry();
}
} catch (IOException ex) {
throw new BuildException("Problem opening " + srcFile, ex);
}
}