You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jukka Matilainen (Jira)" <ji...@apache.org> on 2022/01/30 12:54:00 UTC
[jira] [Updated] (MPIR-412) Dependency report generates non-well-formed output if the POM of a depdendency cannot be parsed
[ https://issues.apache.org/jira/browse/MPIR-412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Matilainen updated MPIR-412:
----------------------------------
Description:
If there is dependency whose POM cannot be parsed, the output from the dependency report is not well-formed, with start and end tags not matching each other.
This causes problems when using maven-pdf-plugin, which skips the depedency report entirely if it is not well-formed.
h3. How to reproduce
1. Use the following POM:
{code:xml}
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fi.iki.jkmatila</groupId>
<artifactId>repro-dependency-report-bug</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- an example of a dependency which will trigger this problem: -->
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis-ext</artifactId>
<version>1.3.04</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
</project>
{code}
2. Run this command:
{code:bash}
mvn project-info-reports:dependencies
{code}
Note that since there is a problem with the POM of xml-apis:xml-apis-ext:jar:1.3.04 (the {{distributionManagement}} tag contains a {{status}} tag inside), there is a message displayed about that:
{quote}[INFO] Unable to create Maven project from repository for artifact 'xml-apis:xml-apis-ext:jar:1.3.04', for more information run with -X
{quote}
h3. Expected results
Even if there is a dependency with problems in its POM, I would expect the generated dependency report to be well-formed (even if the details for that dependency are missing), so that maven-pdf-plugin can process that dependency report.
h3. Observed results
The generated Dependency Tree secion in the dependency report is not well-formed, with start tags and end tags not matching each other. This causes problems with maven-pdf-plugin.
{code:bash}
$ xmllint --noout target/site/dependencies.html
target/site/dependencies.html:94: parser error : Opening and ending tag mismatch: div line 94 and td
; vertical-align: text-bottom;"></img><div id="_dep2" style="display:none"></td>
[...]{code}
Here is an excerpt from the generated file {{{}target/site/dependencies.html{}}}, with whitespace and indentation manually added to make it more clear:
{code:xml}
<section>
<h3><a name="Dependency_Tree"></a>Dependency Tree</h3>
<ul>
<li>
fi.iki.jkmatila:repro-dependency-report-bug:jar:1.0-SNAPSHOT
<img id="_img1" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep0', '_img1' );" style="cursor: pointer; vertical-align: text-bottom;"></img>
<div id="_dep0" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>repro-dependency-report-bug</th>
</tr>
<tr class="b">
<td>
<p><b>Description: </b>There is currently no description associated with this project.</p>
<p><b>Project Licenses: </b>No licenses are defined for this project.</p>
</td>
</tr>
</table>
</div>
<ul>
<li>
xml-apis:xml-apis-ext:jar:1.3.04 (compile)
<img id="_img3" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep2', '_img3' );" style="cursor: pointer; vertical-align: text-bottom;"></img>
<div id="_dep2" style="display:none">
</td>
</tr>
</table>
</div>
</li>
</ul>
</li>
</ul>
</section>
{code}
There are end tags {{</td></tr></table>}} generated in the output without the corresponding start tags.
was:
If there is dependency whose POM cannot be parsed, the output from the dependency report is not well-formed, with start and end tags not matching each other.
This causes problems when using maven-pdf-plugin, which skips the depedency report entirely if it is not well-formed.
h3. How to reproduce
1. Use the following POM:
{code:xml}
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fi.iki.jkmatila</groupId>
<artifactId>repro-dependency-report-bug</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- an example of a dependency which will trigger this problem: -->
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis-ext</artifactId>
<version>1.3.04</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
</project>
{code}
2. Run this command:
{code:bash}
mvn project-info-reports:dependencies
{code}
Note that since there is a problem with the POM of xml-apis:xml-apis-ext:jar:1.3.04 (the {{distributionManagement}} tag contains a {{status}} tag inside), there is a message displayed about that:
{quote}[INFO] Unable to create Maven project from repository for artifact 'xml-apis:xml-apis-ext:jar:1.3.04', for more information run with -X
{quote}
h3. Expected results
Even if there is a dependency with problems in its POM, I would expect the generated dependency report to be well-formed (even if the details for that dependency are missing), so that maven-pdf-plugin can process that dependency report.
h3. Observed results
The generated Dependency Tree secion in the dependency report is not well-formed, with start tags and end tags not matching each other. This causes problems with maven-pdf-plugin.
Here is an excerpt from the generated file {{{}target/site/dependencies.html{}}}, with whitespace and indentation manually added to make it more clear:
{code:xml}
<section>
<h3><a name="Dependency_Tree"></a>Dependency Tree</h3>
<ul>
<li>
fi.iki.jkmatila:repro-dependency-report-bug:jar:1.0-SNAPSHOT
<img id="_img1" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep0', '_img1' );" style="cursor: pointer; vertical-align: text-bottom;"></img>
<div id="_dep0" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>repro-dependency-report-bug</th>
</tr>
<tr class="b">
<td>
<p><b>Description: </b>There is currently no description associated with this project.</p>
<p><b>Project Licenses: </b>No licenses are defined for this project.</p>
</td>
</tr>
</table>
</div>
<ul>
<li>
xml-apis:xml-apis-ext:jar:1.3.04 (compile)
<img id="_img3" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep2', '_img3' );" style="cursor: pointer; vertical-align: text-bottom;"></img>
<div id="_dep2" style="display:none">
</td>
</tr>
</table>
</div>
</li>
</ul>
</li>
</ul>
</section>
{code}
There are end tags {{</td></tr></table>}} generated in the output without the corresponding start tags.
> Dependency report generates non-well-formed output if the POM of a depdendency cannot be parsed
> -----------------------------------------------------------------------------------------------
>
> Key: MPIR-412
> URL: https://issues.apache.org/jira/browse/MPIR-412
> Project: Maven Project Info Reports Plugin
> Issue Type: Bug
> Components: dependencies
> Affects Versions: 3.1.2
> Reporter: Jukka Matilainen
> Priority: Minor
>
> If there is dependency whose POM cannot be parsed, the output from the dependency report is not well-formed, with start and end tags not matching each other.
> This causes problems when using maven-pdf-plugin, which skips the depedency report entirely if it is not well-formed.
> h3. How to reproduce
> 1. Use the following POM:
> {code:xml}
> <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/maven-v4_0_0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>fi.iki.jkmatila</groupId>
> <artifactId>repro-dependency-report-bug</artifactId>
> <version>1.0-SNAPSHOT</version>
> <dependencies>
> <!-- an example of a dependency which will trigger this problem: -->
> <dependency>
> <groupId>xml-apis</groupId>
> <artifactId>xml-apis-ext</artifactId>
> <version>1.3.04</version>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-project-info-reports-plugin</artifactId>
> <version>3.1.2</version>
> </plugin>
> </plugins>
> </build>
> </project>
> {code}
> 2. Run this command:
> {code:bash}
> mvn project-info-reports:dependencies
> {code}
> Note that since there is a problem with the POM of xml-apis:xml-apis-ext:jar:1.3.04 (the {{distributionManagement}} tag contains a {{status}} tag inside), there is a message displayed about that:
> {quote}[INFO] Unable to create Maven project from repository for artifact 'xml-apis:xml-apis-ext:jar:1.3.04', for more information run with -X
> {quote}
> h3. Expected results
> Even if there is a dependency with problems in its POM, I would expect the generated dependency report to be well-formed (even if the details for that dependency are missing), so that maven-pdf-plugin can process that dependency report.
> h3. Observed results
> The generated Dependency Tree secion in the dependency report is not well-formed, with start tags and end tags not matching each other. This causes problems with maven-pdf-plugin.
> {code:bash}
> $ xmllint --noout target/site/dependencies.html
> target/site/dependencies.html:94: parser error : Opening and ending tag mismatch: div line 94 and td
> ; vertical-align: text-bottom;"></img><div id="_dep2" style="display:none"></td>
> [...]{code}
> Here is an excerpt from the generated file {{{}target/site/dependencies.html{}}}, with whitespace and indentation manually added to make it more clear:
> {code:xml}
> <section>
> <h3><a name="Dependency_Tree"></a>Dependency Tree</h3>
> <ul>
> <li>
> fi.iki.jkmatila:repro-dependency-report-bug:jar:1.0-SNAPSHOT
> <img id="_img1" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep0', '_img1' );" style="cursor: pointer; vertical-align: text-bottom;"></img>
> <div id="_dep0" style="display:none">
> <table border="0" class="bodyTable">
> <tr class="a">
> <th>repro-dependency-report-bug</th>
> </tr>
> <tr class="b">
> <td>
> <p><b>Description: </b>There is currently no description associated with this project.</p>
> <p><b>Project Licenses: </b>No licenses are defined for this project.</p>
> </td>
> </tr>
> </table>
> </div>
> <ul>
> <li>
> xml-apis:xml-apis-ext:jar:1.3.04 (compile)
> <img id="_img3" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep2', '_img3' );" style="cursor: pointer; vertical-align: text-bottom;"></img>
> <div id="_dep2" style="display:none">
> </td>
> </tr>
> </table>
> </div>
> </li>
> </ul>
> </li>
> </ul>
> </section>
> {code}
> There are end tags {{</td></tr></table>}} generated in the output without the corresponding start tags.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)