mabrarov commented on code in PR #148:
URL: 
https://github.com/apache/maven-assembly-plugin/pull/148#discussion_r1254863967


##########
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:
   Current implementation of Plexus Archiver (used by Maven Assembly Plugin) - 
`org.codehaus.plexus.archiver.AbstractArchiver` class - applies its default 
umask (which is `022`) only when `configureReproducibleBuild` method is called. 
Current version of Maven Assembly Plugin invokes that method only when 
`project.build.outputTimestamp` maven property is specified. It means that `0` 
as value of `overrideUmask` configuration option changes behavior of Maven 
Assembly Plugin only when  `project.build.outputTimestamp` maven property is 
specified. It's sad (complicated for the users of Maven Assembly Plugin) 
behavior, but it's an issue of Plexus Archiver, which should not apply its 
default umask to file/directory permissions for the case when user explicitly 
specifies `fileMode`/`directoryMode` in assembly descriptor and when the 
assembly format (like `tar`, `zip` and `jar`) supports configuration of 
file/directory permissions independent of OS. This is the reason 
`overrideUmask` configura
 tion option of Maven Assembly Plugin is introduced:
   
   1. It helps to workaround bug in Plexus Archiver (the case my team needs).
   1. It provides additional flexibility for the users of Maven Assembly Plugin 
(but they need to realize that not every assembly format - like `dir` - 
supports setting same permissions as defined in assembly descriptor or source 
file/directory has in an OS independent way).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to