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)

Reply via email to