You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2023/05/02 06:26:00 UTC

[jira] [Commented] (MASSEMBLY-986) Minimal default Manifest configuration of jar archiver should be respected

    [ https://issues.apache.org/jira/browse/MASSEMBLY-986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17718447#comment-17718447 ] 

ASF GitHub Bot commented on MASSEMBLY-986:
------------------------------------------

hboutemy commented on code in PR #134:
URL: https://github.com/apache/maven-assembly-plugin/pull/134#discussion_r1182127757


##########
src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java:
##########
@@ -351,6 +349,23 @@ protected Archiver createArchiver(
         return archiver;
     }
 
+    private void configureJarArchiver(
+            JarArchiver archiver, String mergeManifestMode, MavenArchiveConfiguration configuration) {
+
+        if (mergeManifestMode != null) {
+            archiver.setFilesetmanifest(JarArchiver.FilesetManifestConfig.valueOf(mergeManifestMode));
+        }
+
+        archiver.setMinimalDefaultManifest(true);

Review Comment:
   what if mergeManifestMode is set to `skip`?
   I find it surprising to have `true` hardcoded



##########
src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java:
##########
@@ -351,6 +349,23 @@ protected Archiver createArchiver(
         return archiver;
     }
 
+    private void configureJarArchiver(
+            JarArchiver archiver, String mergeManifestMode, MavenArchiveConfiguration configuration) {
+
+        if (mergeManifestMode != null) {
+            archiver.setFilesetmanifest(JarArchiver.FilesetManifestConfig.valueOf(mergeManifestMode));
+        }
+
+        archiver.setMinimalDefaultManifest(true);
+
+        if (configuration != null) {
+            archiver.setCompress(configuration.isCompress());
+            archiver.setForced(configuration.isForced());
+            archiver.setIndex(configuration.isIndex());

Review Comment:
   does this have to be checked against mergeManifestmode or not?





> Minimal default Manifest configuration of jar archiver should be respected
> --------------------------------------------------------------------------
>
>                 Key: MASSEMBLY-986
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-986
>             Project: Maven Assembly Plugin
>          Issue Type: Bug
>            Reporter: Slawomir Jaranowski
>            Assignee: Slawomir Jaranowski
>            Priority: Major
>             Fix For: 3.6.0
>
>
> When we configure plugin with:
> {code}
> <archive>
>   <manifest>
>     <addDefaultEntries>false</addDefaultEntries>
>    </manifest>
> </archive>
> {code}
> like in Maven Assembly Plugin "reproducible" IT (https://github.com/apache/maven-assembly-plugin/blob/f73f48fc68d44ac2bc1ffd5e1241c427c2885522/src/it/projects/reproducible/pom.xml#L42), we expect that minimal Manifest will be created with content:
> {code}
> Manifest-Version: 1.0
> {code}
> but we have:
> {code}
> Manifest-Version: 1.0
> Created-By: Plexus Archiver 4.6.0
> {code}
> Manifest content depends on version of Plexus Archiver and in such case change output binary, then break Reproducible Builds IT checksum for the plugin (as in MASSEMBLY-987).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)