public void execute()

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


    public void execute(final Archiver archiver, final AssemblerConfigurationSource configSource)
            throws ArchiveCreationException, AssemblyFormattingException {
        if (artifactIsArchiverDestination(archiver)) {
            artifact.setFile(moveArtifactSomewhereElse(configSource));
        }

        String destDirectory = AssemblyFormatUtils.getOutputDirectory(
                outputDirectory,
                configSource.getFinalName(),
                configSource,
                AssemblyFormatUtils.moduleProjectInterpolator(moduleProject),
                AssemblyFormatUtils.artifactProjectInterpolator(project));

        boolean fileModeSet = false;
        boolean dirModeSet = false;

        final int oldDirMode = archiver.getOverrideDirectoryMode();
        final int oldFileMode = archiver.getOverrideFileMode();

        if (fileMode != -1) {
            archiver.setFileMode(fileMode);
            fileModeSet = true;
        }

        if (directoryMode != -1) {
            archiver.setDirectoryMode(directoryMode);
            dirModeSet = true;
        }
        try {

            if (unpack) {
                unpacked(archiver, destDirectory);
            } else {
                asFile(archiver, configSource, destDirectory);
            }
        } finally {
            if (dirModeSet) {
                archiver.setDirectoryMode(oldDirMode);
            }

            if (fileModeSet) {
                archiver.setFileMode(oldFileMode);
            }
        }
    }