Skip to content

Commit 80343a9

Browse files
committed
overrideUmask option to ensure permissions in packaged archive match requested ones.
1 parent d607c75 commit 80343a9

File tree

4 files changed

+25
-0
lines changed

4 files changed

+25
-0
lines changed

src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,4 +223,9 @@ public interface AssemblerConfigurationSource {
223223
* @return Override group name.
224224
*/
225225
String getOverrideGroupName();
226+
227+
/**
228+
* @return Override umask.
229+
*/
230+
Integer getOverrideUmask();
226231
}

src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,10 @@ protected Archiver createArchiver(
347347
if (StringUtils.isNotBlank(configSource.getOverrideGroupName())) {
348348
archiver.setOverrideGroupName(StringUtils.trim(configSource.getOverrideGroupName()));
349349
}
350+
final Integer overrideUmask = configSource.getOverrideUmask();
351+
if (overrideUmask != null) {
352+
archiver.setUmask(overrideUmask);
353+
}
350354

351355
return archiver;
352356
}

src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,12 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
430430
@Parameter
431431
private String overrideGroupName;
432432

433+
/**
434+
* Override of umask.
435+
*/
436+
@Parameter
437+
private Integer overrideUmask;
438+
433439
public static FixedStringSearchInterpolator mainProjectInterpolator(MavenProject mainProject) {
434440
if (mainProject != null) {
435441
// 5
@@ -879,4 +885,9 @@ public Integer getOverrideGid() {
879885
public String getOverrideGroupName() {
880886
return this.overrideGroupName;
881887
}
888+
889+
@Override
890+
public Integer getOverrideUmask() {
891+
return this.overrideUmask;
892+
}
882893
}

src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,4 +451,9 @@ public Integer getOverrideGid() {
451451
public String getOverrideGroupName() {
452452
return "root";
453453
}
454+
455+
@Override
456+
public Integer getOverrideUmask() {
457+
return null;
458+
}
454459
}

0 commit comments

Comments
 (0)