private void unpacked()

in src/main/java/org/apache/maven/plugins/assembly/archive/task/AddArtifactTask.java [165:211]


    private void unpacked(Archiver archiver, String destDirectory) throws ArchiveCreationException {
        String outputLocation = destDirectory;

        if ((outputLocation.length() > 0) && !outputLocation.endsWith("/")) {
            outputLocation += "/";
        }

        String[] includesArray = TypeConversionUtils.toStringArray(includes);
        if (includesArray == null) {
            includesArray = DEFAULT_INCLUDES_ARRAY;
        }
        final String[] excludesArray = TypeConversionUtils.toStringArray(excludes);

        try {

            final File artifactFile = artifact.getFile();
            if (artifactFile == null) {
                LOGGER.warn("Skipping artifact: " + artifact.getId()
                        + "; it does not have an associated file or directory.");
            } else if (artifactFile.isDirectory()) {
                LOGGER.debug("Adding artifact directory contents for: " + artifact + " to: " + outputLocation);

                DefaultFileSet fs = DefaultFileSet.fileSet(artifactFile);
                fs.setIncludes(includesArray);
                fs.setExcludes(excludesArray);
                fs.setPrefix(outputLocation);
                fs.setStreamTransformer(transformer);
                fs.setUsingDefaultExcludes(usingDefaultExcludes);
                archiver.addFileSet(fs);
            } else {
                LOGGER.debug("Unpacking artifact contents for: " + artifact + " to: " + outputLocation);
                LOGGER.debug("includes:\n" + StringUtils.join(includesArray, "\n") + "\n");
                LOGGER.debug("excludes:\n" + (excludesArray == null ? "none" : StringUtils.join(excludesArray, "\n"))
                        + "\n");
                DefaultArchivedFileSet afs = DefaultArchivedFileSet.archivedFileSet(artifactFile);
                afs.setIncludes(includesArray);
                afs.setExcludes(excludesArray);
                afs.setPrefix(outputLocation);
                afs.setStreamTransformer(transformer);
                afs.setUsingDefaultExcludes(usingDefaultExcludes);
                archiver.addArchivedFileSet(afs, encoding);
            }
        } catch (final ArchiverException e) {
            throw new ArchiveCreationException(
                    "Error adding file-set for '" + artifact.getId() + "' to archive: " + e.getMessage(), e);
        }
    }