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);
}
}
}