void addModuleArtifact()

in src/main/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhase.java [318:357]


    void addModuleArtifact(
            final Artifact artifact,
            final MavenProject project,
            final Archiver archiver,
            final AssemblerConfigurationSource configSource,
            final ModuleBinaries binaries)
            throws ArchiveCreationException, AssemblyFormattingException {
        if (artifact.getFile() == null) {
            throw new ArchiveCreationException(
                    "Artifact: " + artifact.getId() + " (included by module) does not have an artifact with a file. "
                            + "Please ensure the package phase is run before the assembly is generated.");
        }

        final AddArtifactTask task = new AddArtifactTask(artifact, null);

        task.setFileNameMapping(binaries.getOutputFileNameMapping());
        task.setOutputDirectory(binaries.getOutputDirectory());
        task.setProject(project);
        task.setModuleProject(project);
        task.setModuleArtifact(artifact);

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

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

        task.setUnpack(binaries.isUnpack());

        if (binaries.isUnpack() && binaries.getUnpackOptions() != null) {
            task.setIncludes(binaries.getUnpackOptions().getIncludes());
            task.setExcludes(binaries.getUnpackOptions().getExcludes());
        }

        task.execute(archiver, configSource);
    }