@@ -28,10 +28,7 @@ import org.eclipse.aether.graph.DependencyNode
28
28
import org.ossreviewtoolkit.analyzer.AbstractPackageManagerFactory
29
29
import org.ossreviewtoolkit.analyzer.PackageManager
30
30
import org.ossreviewtoolkit.analyzer.PackageManagerResult
31
- import org.ossreviewtoolkit.downloader.VersionControlSystem
32
31
import org.ossreviewtoolkit.model.DependencyGraph
33
- import org.ossreviewtoolkit.model.Identifier
34
- import org.ossreviewtoolkit.model.Project
35
32
import org.ossreviewtoolkit.model.ProjectAnalyzerResult
36
33
import org.ossreviewtoolkit.model.Severity
37
34
import org.ossreviewtoolkit.model.config.AnalyzerConfiguration
@@ -41,12 +38,9 @@ import org.ossreviewtoolkit.model.utils.DependencyGraphBuilder
41
38
import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.LocalProjectWorkspaceReader
42
39
import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.MavenDependencyHandler
43
40
import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.MavenSupport
44
- import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.getOriginalScm
41
+ import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.identifier
45
42
import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.isTychoProject
46
- import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.parseAuthors
47
- import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.parseLicenses
48
- import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.parseVcsInfo
49
- import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.processDeclaredLicenses
43
+ import org.ossreviewtoolkit.plugins.packagemanagers.maven.utils.toOrtProject
50
44
import org.ossreviewtoolkit.utils.common.searchUpwardsForSubdirectory
51
45
52
46
/* *
@@ -112,23 +106,7 @@ class Maven(
112
106
val workingDir = definitionFile.parentFile
113
107
val projectBuildingResult = mavenSupport.buildMavenProject(definitionFile)
114
108
val mavenProject = projectBuildingResult.project
115
- val projectId = Identifier (
116
- type = projectType,
117
- namespace = mavenProject.groupId,
118
- name = mavenProject.artifactId,
119
- version = mavenProject.version
120
- )
121
-
122
- projectBuildingResult.dependencies.filterNot {
123
- excludes.isScopeExcluded(it.dependency.scope)
124
- }.forEach { node ->
125
- graphBuilder.addDependency(DependencyGraph .qualifyScope(projectId, node.dependency.scope), node)
126
- }
127
-
128
- val declaredLicenses = parseLicenses(mavenProject)
129
- val declaredLicensesProcessed = processDeclaredLicenses(declaredLicenses)
130
-
131
- val vcsFromPackage = parseVcsInfo(mavenProject)
109
+ val projectId = mavenProject.identifier(projectType)
132
110
133
111
// If running in SBT mode expect that POM files were generated in a "target" subdirectory and that the correct
134
112
// project directory is the parent directory of this.
@@ -138,20 +116,17 @@ class Maven(
138
116
workingDir
139
117
}
140
118
141
- val browsableScmUrl = getOriginalScm(mavenProject)?.url
142
- val homepageUrl = mavenProject.url
143
- val vcsFallbackUrls = listOfNotNull(browsableScmUrl, homepageUrl).toTypedArray()
144
-
145
- val project = Project (
146
- id = projectId,
147
- definitionFilePath = VersionControlSystem .getPathInfo(definitionFile).path,
148
- authors = parseAuthors(mavenProject),
149
- declaredLicenses = declaredLicenses,
150
- declaredLicensesProcessed = declaredLicensesProcessed,
151
- vcs = vcsFromPackage,
152
- vcsProcessed = processProjectVcs(projectDir, vcsFromPackage, * vcsFallbackUrls),
153
- homepageUrl = homepageUrl.orEmpty(),
154
- scopeNames = graphBuilder.scopesFor(projectId)
119
+ projectBuildingResult.dependencies.filterNot {
120
+ excludes.isScopeExcluded(it.dependency.scope)
121
+ }.forEach { node ->
122
+ graphBuilder.addDependency(DependencyGraph .qualifyScope(projectId, node.dependency.scope), node)
123
+ }
124
+
125
+ val project = mavenProject.toOrtProject(
126
+ projectId,
127
+ definitionFile,
128
+ projectDir,
129
+ graphBuilder.scopesFor(projectId)
155
130
)
156
131
157
132
val issues = graphBuilder.packages().mapNotNull { pkg ->
0 commit comments