From 6262c73a6b3bb9126b6df857991fc7b86f8c4fe5 Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Fri, 19 Aug 2011 13:17:41 +0000 Subject: [PATCH] [MNG-5155] 'inherited' flag of report sets ignored git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@1159625 13f79535-47bb-0310-9956-ffa450edef68 --- .../maven/model/merge/MavenModelMerger.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java index 79a358fd38..4b41858961 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java @@ -550,6 +550,40 @@ protected void mergePluginExecution_Goals( PluginExecution target, PluginExecuti } } + @Override + protected void mergeReportPlugin_ReportSets( ReportPlugin target, ReportPlugin source, boolean sourceDominant, + Map context ) + { + List src = source.getReportSets(); + if ( !src.isEmpty() ) + { + List tgt = target.getReportSets(); + Map merged = new LinkedHashMap( ( src.size() + tgt.size() ) * 2 ); + + for ( ReportSet element : src ) + { + if ( sourceDominant || ( element.getInherited() != null ? element.isInherited() : source.isInherited() ) ) + { + Object key = getReportSetKey( element ); + merged.put( key, element ); + } + } + + for ( ReportSet element : tgt ) + { + Object key = getReportSetKey( element ); + ReportSet existing = merged.get( key ); + if ( existing != null ) + { + mergeReportSet( element, existing, sourceDominant, context ); + } + merged.put( key, element ); + } + + target.setReportSets( new ArrayList( merged.values() ) ); + } + } + @Override protected Object getDependencyKey( Dependency dependency ) {