1 package org.apache.maven.report.projectinfo;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.artifact.factory.ArtifactFactory;
23 import org.apache.maven.artifact.manager.WagonManager;
24 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
25 import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
26 import org.apache.maven.plugins.annotations.Component;
27 import org.apache.maven.plugins.annotations.Mojo;
28 import org.apache.maven.plugins.annotations.ResolutionScope;
29 import org.apache.maven.project.MavenProjectBuilder;
30 import org.apache.maven.report.projectinfo.dependencies.ManagementDependencies;
31 import org.apache.maven.report.projectinfo.dependencies.RepositoryUtils;
32 import org.apache.maven.report.projectinfo.dependencies.renderer.DependencyManagementRenderer;
33
34 import java.util.Locale;
35
36
37
38
39
40
41
42
43 @Mojo( name = "dependency-management", requiresDependencyResolution = ResolutionScope.TEST )
44 public class DependencyManagementReport
45 extends AbstractProjectInfoReport
46 {
47
48
49
50
51
52
53
54 @Component
55 private MavenProjectBuilder mavenProjectBuilder;
56
57
58
59
60
61
62 @Component
63 protected ArtifactMetadataSource artifactMetadataSource;
64
65
66
67
68 @Component
69 private ArtifactFactory artifactFactory;
70
71
72
73
74
75
76 @Component
77 private WagonManager wagonManager;
78
79
80
81
82
83
84 @Component
85 private RepositoryMetadataManager repositoryMetadataManager;
86
87
88
89
90
91
92
93
94 private ManagementDependencies managementDependencies;
95
96
97
98
99
100 @Override
101 public boolean canGenerateReport()
102 {
103 boolean result = super.canGenerateReport();
104 if ( result && skipEmptyReport )
105 {
106 result = getManagementDependencies().hasDependencies();
107 }
108
109 return result;
110 }
111
112 @Override
113 public void executeReport( Locale locale )
114 {
115 @SuppressWarnings( "unchecked" ) RepositoryUtils repoUtils =
116 new RepositoryUtils( getLog(), wagonManager, settings, mavenProjectBuilder, factory, resolver,
117 project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(),
118 localRepository, repositoryMetadataManager );
119
120 DependencyManagementRenderer r =
121 new DependencyManagementRenderer( getSink(), locale, getI18N( locale ), getLog(),
122 getManagementDependencies(), artifactMetadataSource, artifactFactory,
123 mavenProjectBuilder, remoteRepositories, localRepository, repoUtils );
124 r.render();
125 }
126
127
128
129
130 public String getOutputName()
131 {
132 return "dependency-management";
133 }
134
135 @Override
136 protected String getI18Nsection()
137 {
138 return "dependencyManagement";
139 }
140
141
142
143
144
145 private ManagementDependencies getManagementDependencies()
146 {
147 if ( managementDependencies != null )
148 {
149 return managementDependencies;
150 }
151
152 if ( project.getDependencyManagement() == null )
153 {
154 managementDependencies = new ManagementDependencies( null );
155 }
156 else
157 {
158 managementDependencies = new ManagementDependencies( project.getDependencyManagement().getDependencies() );
159 }
160
161 return managementDependencies;
162 }
163 }