@@ -22,6 +22,7 @@ package org.ossreviewtoolkit.reporter
2222import java.time.Duration
2323import java.time.Instant
2424
25+ import kotlin.collections.filterNot
2526import kotlin.time.toKotlinDuration
2627
2728import org.ossreviewtoolkit.model.Identifier
@@ -33,6 +34,7 @@ import org.ossreviewtoolkit.model.config.RuleViolationResolution
3334import org.ossreviewtoolkit.model.licenses.LicenseInfoResolver
3435import org.ossreviewtoolkit.model.licenses.LicenseView
3536import org.ossreviewtoolkit.model.licenses.ResolvedLicenseInfo
37+ import org.ossreviewtoolkit.model.utils.isScopeIncluded
3638
3739/* *
3840 * This class calculates [Statistics] for a given [OrtResult] and the applicable [IssueResolution]s and
@@ -94,15 +96,27 @@ object StatisticsCalculator {
9496 .flatMap { project ->
9597 val scopes = ortResult.dependencyNavigator.scopeNames(project)
9698 MutableList (scopes.size) { project }.zip(scopes)
97- }.filterNot { (_, scope) -> ignoreExcluded && ortResult.repository.config.excludes.isScopeExcluded(scope) }
99+ }.filterNot { (_, scope) ->
100+ ignoreExcluded && ! isScopeIncluded(
101+ scope,
102+ ortResult.repository.config.excludes,
103+ ortResult.repository.config.includes
104+ )
105+ }
98106 .maxOfOrNull { (project, scope) -> ortResult.dependencyNavigator.dependencyTreeDepth(project, scope) } ? : 0
99107
100108 private fun getIncludedScopes (ortResult : OrtResult ): Set <String > =
101109 ortResult
102110 .getProjects()
103111 .filterNot { project -> ortResult.isExcluded(project.id) }
104112 .flatMap { project -> ortResult.dependencyNavigator.scopeNames(project) }
105- .filterNot { scope -> ortResult.repository.config.excludes.isScopeExcluded(scope) }
113+ .filter { scope ->
114+ isScopeIncluded(
115+ scope,
116+ ortResult.repository.config.excludes,
117+ ortResult.repository.config.includes
118+ )
119+ }
106120 .toSet()
107121
108122 private fun getExcludedScopes (ortResult : OrtResult ): Set <String > =
0 commit comments