Krystian Nowak created JCRVLT-324:
-------------------------------------
Summary: In case of a long project description in CDATA the
resulting MANIFEST.MF is invalid
Key: JCRVLT-324
URL: https://issues.apache.org/jira/browse/JCRVLT-324
Project: Jackrabbit FileVault
Issue Type: Bug
Components: package maven plugin
Reporter: Krystian Nowak
In case of a long project description in CDATA e.g.:
{noformat}
<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>
{noformat}
a package with the following MANIFEST.MF is produced:
{noformat}
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
{noformat}
This MANIFEST.MF is incorrect, as when reading it by _java.util.jar.Manifest_
an exception on invalid format is thrown:
{noformat}
java.io.IOException: invalid manifest format
at java.util.jar.Manifest.read(Manifest.java:225)
at java.util.jar.Manifest.<init>(Manifest.java:69)
{noformat}
Only when the description of the project is reformatted into:
{noformat}
<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>
{noformat}
the MANIFEST.MF produced is:
{noformat}
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
{noformat}
and the Manifest class properly reads the file (especially the
Content-Package-Description coming from description project tag).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)