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

Hervé Boutemy edited comment on MPH-160 at 2/19/19 8:04 AM:
------------------------------------------------------------

initial implementation of Modello {{xpp3-extended-writer}} in 
https://github.com/codehaus-plexus/modello/tree/xpp3-extended-writer
integrated in maven-help-plugin branch 
https://github.com/apache/maven-help-plugin/tree/MPH-160

works well, with known limitations:
- does not display input location for plugins configuration: information not 
calculated by Maven core when merging DOM objects, not so easy to track, need 
to find a strategy...
- -does not display input location for properties-
- -does not display input location for lists of Strings (reports, roles, 
otherArchives, goals, modules),- not sure it is well tracked by Maven core when 
doing inheritance
- does not display input location for lines inherited from [Maven 
super-POM|https://maven.apache.org/ref/current/maven-model-builder/super-pom.html]:
 requires Maven core improvement MNG-6593


was (Author: hboutemy):
initial implementation of Modello {{xpp3-extended-writer}} in 
https://github.com/codehaus-plexus/modello/tree/xpp3-extended-writer
integrated in maven-help-plugin branch 
https://github.com/apache/maven-help-plugin/tree/MPH-160

works well, with known limitations:
- does not display input location for plugins configuration: information not 
calculated by Maven core when merging DOM objects, not so easy to track, need 
to find a strategy...
- -does not display input location for properties-
- does not display input location for lists of Strings (reports, roles, 
otherArchives, goals, modules), not sure it is well tracked by Maven core when 
doing inheritance
- does not display input location for lines inherited from [Maven 
super-POM|https://maven.apache.org/ref/current/maven-model-builder/super-pom.html]:
 requires Maven core improvement MNG-6593

> add source location in comments to effective pom.xml
> ----------------------------------------------------
>
>                 Key: MPH-160
>                 URL: https://issues.apache.org/jira/browse/MPH-160
>             Project: Maven Help Plugin
>          Issue Type: New Feature
>          Components: effective-pom
>    Affects Versions: 3.1.0
>            Reporter: Hervé Boutemy
>            Priority: Major
>
> during in-memory effective pom building (by maven-model-builder), the source 
> location of content is kept in memory: see [Modello documentation on location 
> tracking|https://codehaus-plexus.github.io/modello/location-tracking.html] 
> and MNG-1803 for its integration into Maven model
> adding this information as comment on every line of generated XML would ease 
> tracking for end users (and not only m2e users, who get "Jump to location" 
> hint when editing their pom.xml in Eclipse...)
> This will require a Modello enhancement (see [Modello 
> #28|https://github.com/codehaus-plexus/modello/issues/28]) then integration
> (idea found during Devoxx 2018 Maven BoF, since users were missing ways to 
> diagnose unexpected result in effective pom)
> Sample result is the addition of comments with modelId and "line xxx" at the 
> end of each line of generated XML:
> {code:xml}$ mvn -Dverbose 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT:effective-pom
> [INFO] Scanning for projects...
> [INFO] 
> [INFO] -------------< org.apache.maven.plugins:maven-help-plugin 
> >-------------
> [INFO] Building Apache Maven Help Plugin 3.1.2-SNAPSHOT
> [INFO] ----------------------------[ maven-plugin 
> ]----------------------------
> [INFO] 
> [INFO] --- maven-help-plugin:3.1.2-SNAPSHOT:effective-pom (default-cli) @ 
> maven-help-plugin ---
> [INFO] 
> Effective POMs, after inheritance, interpolation, and profiles are applied:
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- ====================================================================== 
> -->
> <!--                                                                        
> -->
> <!-- Generated by Maven Help Plugin on 2019-02-15T12:52:00+01:00            
> -->
> <!-- See: http://maven.apache.org/plugins/maven-help-plugin/                
> -->
> <!--                                                                        
> -->
> <!-- ====================================================================== 
> -->
> <!-- ====================================================================== 
> -->
> <!--                                                                        
> -->
> <!-- Effective POM for project                                              
> -->
> <!-- 'org.apache.maven.plugins:maven-help-plugin:maven-plugin:3.1.2-SNAPSHOT' 
> -->
> <!--                                                                        
> -->
> <!-- ====================================================================== 
> -->
> <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/xsd/maven-4.0.0.xsd";>
>   <modelVersion>4.0.0</modelVersion>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 23 -->
>   <parent>
>     <artifactId>maven-plugins</artifactId>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 26 -->
>     <groupId>org.apache.maven.plugins</groupId>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 27 -->
>     <version>33</version>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 28 -->
>     <relativePath>../../pom/maven/maven-plugins/pom.xml</relativePath>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 29 -->
>   </parent>
>   <groupId>org.apache.maven.plugins</groupId>  <!-- 
> org.apache.maven.plugins:maven-plugins:[unknown-version] 
> /home/herve/.m2/repository/org/apache/maven/plugins/maven-plugins/33/maven-plugins-33.pom,
>  line 31 -->
>   <artifactId>maven-help-plugin</artifactId>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 32 -->
>   <version>3.1.2-SNAPSHOT</version>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 33 -->
>   <packaging>maven-plugin</packaging>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 34 -->
>   <name>Apache Maven Help Plugin</name>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 36 -->
>   <description>The Maven Help plugin provides goals aimed at helping to make 
> sense out of
>     the build environment. It includes the ability to view the effective
>     POM and settings files, after inheritance and active profiles
>     have been applied, as well as a describe a particular plugin goal to give 
> usage information.</description>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 37 -->
>   <url>https://maven.apache.org/plugins/maven-help-plugin/</url>  <!-- 
> org.apache.maven.plugins:maven-plugins:[unknown-version] 
> /home/herve/.m2/repository/org/apache/maven/plugins/maven-plugins/33/maven-plugins-33.pom,
>  line 37 -->
>   <inceptionYear>2001</inceptionYear>  <!-- 
> org.apache.maven.plugins:maven-help-plugin:3.1.2-SNAPSHOT, line 43 -->
>   <organization>
>     <name>The Apache Software Foundation</name>  <!-- org.apache:apache:21, 
> line 41 -->
>     <url>https://www.apache.org/</url>  <!-- org.apache:apache:21, line 42 -->
>   </organization>
>   <licenses>
>     <license>
>       <name>Apache License, Version 2.0</name>  <!-- org.apache:apache:21, 
> line 46 -->
>       <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>  <!-- 
> org.apache:apache:21, line 47 -->
>       <distribution>repo</distribution>  <!-- org.apache:apache:21, line 48 
> -->
>     </license>
>   </licenses>
> ...{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to