Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
In case of a long project description in CDATA e.g.:
<description> <![CDATA[ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, velit velit laoreet quam, id dignissim elit ex nec magna. Vivamus non diam non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hendrerit massa diam. - Quisque commodo vitae tellus vitae: Morbi finibus nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis quis, cursus et urna. Donec ornare eget lectus at vestibulum. Etiam venenatis nulla aliquet quam dapibus rhoncus. Aliquam eget turpis vitae leo maximus porttitor non eget augue. Curabitur aliquam imperdiet vulputate. - Duis viverra posuere est nec vehicula fringilla: Mauris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet malesuada varius, ante metus accumsan ex, id ornare lectus lorem ac felis. Vivamus sed nibh nec arcu sodales commodo. - Quisque molestie feugiat sem quis rhoncus lectus ornare: Fusce consectetur varius enim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Maecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla vestibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, faucibus in quam fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc sed libero purus. Pellentesque lobortis placerat lectus eleifend: <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Manifest_Specification">Praesent sapien sem</a> <a href="https://issues.apache.org/jira/projects/JCRVLT">Sed egestas luctus sapien</a> ]]> </description>
a package with the following MANIFEST.MF is produced:
Manifest-Version: 1.0 Implementation-Title: Lorem Ipsum - Package Implementation-Version: 2.2.2-SNAPSHOT Archiver-Version: Plexus Archiver Built-By: krystian Implementation-Vendor-Id: org.lorem.ipsum Content-Package-Dependencies: a/b/c:d:2.1.0 Content-Package-Type: mixed Content-Package-Description: Lorem ipsum dolor sit amet, consectetur a dipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, vel it velit laoreet quam, id dignissim elit ex nec magna. Vivamus non di am non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hen drerit massa diam. - Quisque commodo vitae tellus vitae: Morbi finib us nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis quis, cursus et urna. Donec ornare eget lectus at vestibulum. Etiam v enenatis nulla aliquet quam dapibus rhoncus. Aliquam eget turpis vita e leo maximus porttitor non eget augue. Curabitur aliquam imperdiet v ulputate. - Duis viverra posuere est nec vehicula fringilla: Mauris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet male suada varius, ante metus accumsan ex, id ornare lectus lorem ac felis . Vivamus sed nibh nec arcu sodales commodo. - Quisque molestie feug iat sem quis rhoncus lectus ornare: Fusce consectetur varius enim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Maecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla v estibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, fau cibus in quam fermentum. Class aptent taciti sociosqu ad litora torqu ent per conubia nostra, per inceptos himenaeos. Nunc sed libero purus . Pellentesque lobortis placerat lectus eleifend: <a href="https://d ocs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Manifest_S pecification">Praesent sapien sem</a> <a href="https://issues.apache. org/jira/projects/JCRVLT">Sed egestas luctus sapien</a> Content-Package-Roots: /foo/bar,/foo/baz Created-By: Apache Maven Build-Jdk: 1.8.0_181 Content-Package-Id: org/lorem/ipsum:lorem-ipsum-pkg:2.2.2-SNAPSHOT
This MANIFEST.MF is incorrect, as when reading it by java.util.jar.Manifest an exception on invalid format is thrown:
java.io.IOException: invalid manifest format at java.util.jar.Manifest.read(Manifest.java:225) at java.util.jar.Manifest.<init>(Manifest.java:69)
Only when the description of the project is reformatted into:
<description> <![CDATA[ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, velit velit laoreet quam, id dignissim elit ex nec magna. Vivamus non diam non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hendrerit massa diam. - Quisque commodo vitae tellus vitae: Morbi finibus nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis quis, cursus et urna. Donec ornare eget lectus at vestibulum. Etiam venenatis nulla aliquet quam dapibus rhoncus. Aliquam eget turpis vitae leo maximus porttitor non eget augue. Curabitur aliquam imperdiet vulputate. - Duis viverra posuere est nec vehicula fringilla: Mauris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet malesuada varius, ante metus accumsan ex, id ornare lectus lorem ac felis. Vivamus sed nibh nec arcu sodales commodo. - Quisque molestie feugiat sem quis rhoncus lectus ornare: Fusce consectetur varius enim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Maecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla vestibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, faucibus in quam fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc sed libero purus. Pellentesque lobortis placerat lectus eleifend: <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Manifest_Specification">Praesent sapien sem</a> <a href="https://issues.apache.org/jira/projects/JCRVLT">Sed egestas luctus sapien</a> ]]> </description>
the MANIFEST.MF produced is:
Manifest-Version: 1.0 Implementation-Title: Lorem Ipsum - Package Implementation-Version: 2.2.2-SNAPSHOT Archiver-Version: Plexus Archiver Built-By: krystian Implementation-Vendor-Id: org.lorem.ipsum Content-Package-Dependencies: a/b/c:d:2.1.0 Content-Package-Type: mixed Content-Package-Description: Lorem ipsum dolor sit amet, consectetur a dipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, vel it velit laoreet quam, id dignissim elit ex nec magna. Vivamus non di am non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hen drerit massa diam. - Quisque commodo vitae tellus vitae: Morbi fini bus nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis quis, cursus et urna. Donec ornare eget lectus at vestibulum. Etiam venenatis nulla aliquet quam dapibus rhoncus. Aliquam eget turpis v itae leo maximus porttitor non eget augue. Curabitur aliquam imperdi et vulputate. - Duis viverra posuere est nec vehicula fringilla: Ma uris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet malesuada varius, ante metus accumsan ex, id ornare lectus lorem ac felis. Vivamus sed nibh nec arcu sodales commodo. - Quisque molesti e feugiat sem quis rhoncus lectus ornare: Fusce consectetur varius e nim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Ma ecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla vestibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, faucibus in quam fermentum. Class aptent taciti sociosqu ad lito ra torquent per conubia nostra, per inceptos himenaeos. Nunc sed libe ro purus. Pellentesque lobortis placerat lectus eleifend: <a href=" https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#M anifest_Specification">Praesent sapien sem</a> <a href="https://issu es.apache.org/jira/projects/JCRVLT">Sed egestas luctus sapien</a> Content-Package-Roots: /foo/bar,/foo/baz Created-By: Apache Maven Build-Jdk: 1.8.0_181 Content-Package-Id: org/lorem/ipsum:lorem-ipsum-pkg:2.2.2-SNAPSHOT
and the Manifest class properly reads the file (especially the Content-Package-Description coming from description project tag).
Attachments
Issue Links
- relates to
-
MSHARED-815 Maven Archiver: MavenArchiver.addManifestAttribute does not escape empty lines in value
- Open