private void addNormalArtifact()

in src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java [203:245]


    private void addNormalArtifact(
            final DependencySet dependencySet,
            final Artifact depArtifact,
            final MavenProject depProject,
            final Archiver archiver,
            final AssemblerConfigurationSource configSource,
            InputStreamTransformer fileSetTransformers)
            throws AssemblyFormattingException, ArchiveCreationException {
        LOGGER.debug("Adding dependency artifact " + depArtifact.getId() + ".");

        String encoding = isUnpackWithOptions(dependencySet)
                ? dependencySet.getUnpackOptions().getEncoding()
                : null;
        Charset charset = encoding != null ? Charset.forName(encoding) : null;
        final AddArtifactTask task = new AddArtifactTask(depArtifact, fileSetTransformers, charset);

        task.setProject(depProject);
        task.setModuleProject(moduleProject);
        task.setModuleArtifact(moduleArtifact);
        task.setOutputDirectory(dependencySet.getOutputDirectory(), defaultOutputDirectory);
        task.setFileNameMapping(dependencySet.getOutputFileNameMapping(), defaultOutputFileNameMapping);

        final int dirMode = TypeConversionUtils.modeToInt(dependencySet.getDirectoryMode(), LOGGER);
        if (dirMode != -1) {
            task.setDirectoryMode(dirMode);
        }

        final int fileMode = TypeConversionUtils.modeToInt(dependencySet.getFileMode(), LOGGER);
        if (fileMode != -1) {
            task.setFileMode(fileMode);
        }

        task.setUnpack(dependencySet.isUnpack());

        final UnpackOptions opts = dependencySet.getUnpackOptions();
        if (isUnpackWithOptions(dependencySet)) {
            task.setIncludes(opts.getIncludes());
            task.setExcludes(opts.getExcludes());
            task.setUsingDefaultExcludes(opts.isUseDefaultExcludes());
        }

        task.execute(archiver, configSource);
    }