private void expandArchiveStream()

in src/main/org/apache/ant/compress/taskdefs/ExpandBase.java [154:176]


    private void expandArchiveStream(String name, ArchiveInputStream is,
                                     File dir)
        throws IOException {
        FileNameMapper mapper = getMapper();
        log("Expanding: " + name + " into " + dir, Project.MSG_INFO);
        boolean empty = true;
        ArchiveEntry ent = null;
        while ((ent = is.getNextEntry()) != null) {
            if (skipUnreadable && !is.canReadEntryData(ent)) {
                log(Messages.skippedIsUnreadable(ent));
                continue;
            }
            empty = false;
            log("extracting " + ent.getName(), Project.MSG_DEBUG);
            extractFile(FileUtils.getFileUtils(), null, dir, is,
                        ent.getName(), ent.getLastModifiedDate(),
                        ent.isDirectory(), mapper);
        }
        if (empty && getFailOnEmptyArchive()) {
            throw new BuildException("archive '" + name + "' is empty");
        }
        log("expand complete", Project.MSG_VERBOSE);
    }