[
https://issues.apache.org/jira/browse/MASSEMBLY-791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17740981#comment-17740981
]
ASF GitHub Bot commented on MASSEMBLY-791:
------------------------------------------
elharo commented on code in PR #148:
URL:
https://github.com/apache/maven-assembly-plugin/pull/148#discussion_r1255699674
##########
src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java:
##########
@@ -223,4 +223,12 @@ public interface AssemblerConfigurationSource {
* @return Override group name.
*/
String getOverrideGroupName();
+
+ /**
+ * @return mask which is applied to permissions of files/directories
before they are put into assembly.
+ * If {@code null} then the mask is not explicitly configured and remains
implementation-specific.
Review Comment:
Is it really implementation specific? Not just that there simply isn't a
mask? How many implementations are there?
##########
src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java:
##########
@@ -430,6 +430,15 @@ public abstract class AbstractAssemblyMojo extends
AbstractMojo implements Assem
@Parameter
private String overrideGroupName;
+ /**
+ * Override of mask which is applied to permissions of files/directories
before they are put into assembly.
+ * If {@code null} then the mask is not explicitly configured and remains
implementation-specific.
+ * If invalid value is specified - like negative value - then behaviour is
implementation specific, i.e. depends
Review Comment:
an invalid value
such as a negative value
the behavior
That is, it depends on the underlying
of assembly --> the assembly
##########
src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java:
##########
@@ -430,6 +430,15 @@ public abstract class AbstractAssemblyMojo extends
AbstractMojo implements Assem
@Parameter
private String overrideGroupName;
+ /**
+ * Override of mask which is applied to permissions of files/directories
before they are put into assembly.
+ * If {@code null} then the mask is not explicitly configured and remains
implementation-specific.
+ * If invalid value is specified - like negative value - then behaviour is
implementation specific, i.e. depends
+ * on underlying library which is used for building of assembly.
+ */
+ @Parameter
+ private Integer overrideUmask;
Review Comment:
Does this actually override a umask or does it set a umask? In the other
cases above — GID, username — these are set on the files and may vary from one
file to the next. umask, however, is not a per-file property. It's applied to
the permissions of the file (which is a per-file property)
##########
src/it/projects/bugs/massembly-791/pom.xml:
##########
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.plugin.assembly.test</groupId>
+ <artifactId>it-project-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>massembly-791</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0</version>
+
+ <properties>
+
<project.build.outputTimestamp>2023-06-07T10:18:31Z</project.build.outputTimestamp>
Review Comment:
Additional public API is too heavyweight a solution to work is too
heavyweight a solution for a bug that can be fixed at the source.
##########
src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java:
##########
@@ -223,4 +223,12 @@ public interface AssemblerConfigurationSource {
* @return Override group name.
*/
String getOverrideGroupName();
+
+ /**
+ * @return mask which is applied to permissions of files/directories
before they are put into assembly.
Review Comment:
the assembly
> fileMode not set in dependencySet creating format tar.gz
> --------------------------------------------------------
>
> Key: MASSEMBLY-791
> URL: https://issues.apache.org/jira/browse/MASSEMBLY-791
> Project: Maven Assembly Plugin
> Issue Type: Bug
> Components: permissions
> Affects Versions: 2.6
> Environment: Linux and Windows
> Reporter: Rick Poleshuck
> Priority: Major
>
> The fileMode is ignored within a dependencySet while creating a tar.gz
> archive. This works just fine in 2.4.
> <dependencySets>
> <dependencySet>
> <includes>
> <include>com.company:dependency-artifact</include>
> </includes>
> <unpack>true</unpack>
> <unpackOptions>
> <includes>
> <include>*.py</include>
> </includes>
> </unpackOptions>
> <outputDirectory/>
> <fileMode>0750</fileMode>
> <directoryMode>0750</directoryMode>
> </dependencySet>
> </dependencySets>
> </
--
This message was sent by Atlassian Jira
(v8.20.10#820010)