51
51
import org .apache .maven .project .ProjectBuildingException ;
52
52
import org .apache .maven .project .ProjectBuildingRequest ;
53
53
import org .apache .maven .report .projectinfo .AbstractProjectInfoRenderer ;
54
+ import org .apache .maven .report .projectinfo .LicenseMapping ;
54
55
import org .apache .maven .report .projectinfo .ProjectInfoReportUtils ;
55
56
import org .apache .maven .report .projectinfo .dependencies .Dependencies ;
56
57
import org .apache .maven .report .projectinfo .dependencies .DependenciesReportConfiguration ;
@@ -132,6 +133,8 @@ public Object put( String key, Object value )
132
133
133
134
private final ProjectBuildingRequest buildingRequest ;
134
135
136
+ private final Map <String , String > licenseMappings ;
137
+
135
138
static
136
139
{
137
140
Set <String > jarSubtype = new HashSet <>();
@@ -161,12 +164,13 @@ public Object put( String key, Object value )
161
164
* @param repositorySystem {@link RepositorySystem}
162
165
* @param projectBuilder {@link ProjectBuilder}
163
166
* @param buildingRequest {@link ProjectBuildingRequest}
167
+ * @param licenseMappings {@link LicenseMapping}
164
168
*/
165
169
public DependenciesRenderer ( Sink sink , Locale locale , I18N i18n , Log log ,
166
170
Dependencies dependencies , DependencyNode dependencyTreeNode ,
167
171
DependenciesReportConfiguration config , RepositoryUtils repoUtils ,
168
172
RepositorySystem repositorySystem , ProjectBuilder projectBuilder ,
169
- ProjectBuildingRequest buildingRequest )
173
+ ProjectBuildingRequest buildingRequest , Map < String , String > licenseMappings )
170
174
{
171
175
super ( sink , i18n , locale );
172
176
@@ -178,6 +182,7 @@ public DependenciesRenderer( Sink sink, Locale locale, I18N i18n, Log log,
178
182
this .repositorySystem = repositorySystem ;
179
183
this .projectBuilder = projectBuilder ;
180
184
this .buildingRequest = buildingRequest ;
185
+ this .licenseMappings = licenseMappings ;
181
186
182
187
// Using the right set of symbols depending of the locale
183
188
DEFAULT_DECIMAL_FORMAT .setDecimalFormatSymbols ( new DecimalFormatSymbols ( locale ) );
@@ -800,7 +805,12 @@ private void renderArtifactRow( Artifact artifact, boolean withClassifier, boole
800
805
List <License > licenses = artifactProject .getLicenses ();
801
806
for ( License license : licenses )
802
807
{
803
- sb .append ( ProjectInfoReportUtils .getArtifactIdCell ( license .getName (), license .getUrl () ) );
808
+ String name = license .getName ();
809
+ if ( licenseMappings != null && licenseMappings .containsKey ( name ) )
810
+ {
811
+ name = licenseMappings .get ( name );
812
+ }
813
+ sb .append ( ProjectInfoReportUtils .getArtifactIdCell ( name , license .getUrl () ) );
804
814
}
805
815
}
806
816
catch ( ProjectBuildingException e )
@@ -956,6 +966,10 @@ private void printDescriptionsAndURLs( DependencyNode node, String uid )
956
966
License license = it .next ();
957
967
958
968
String licenseName = license .getName ();
969
+ if ( licenseMappings != null && licenseMappings .containsKey ( licenseName ) )
970
+ {
971
+ licenseName = licenseMappings .get ( licenseName );
972
+ }
959
973
if ( StringUtils .isEmpty ( licenseName ) )
960
974
{
961
975
licenseName = getI18nString ( "unnamed" );
0 commit comments