@@ -32,10 +32,10 @@ import io.kotest.matchers.should
32
32
33
33
import java.io.File
34
34
35
- import org.ossreviewtoolkit.model.config.AnalyzerConfiguration
36
35
import org.ossreviewtoolkit.model.config.Excludes
37
36
import org.ossreviewtoolkit.model.config.PathExclude
38
37
import org.ossreviewtoolkit.model.config.PathExcludeReason
38
+ import org.ossreviewtoolkit.plugins.api.PluginConfig
39
39
40
40
class PackageManagerFunTest : WordSpec ({
41
41
val definitionFiles = listOf(
@@ -73,7 +73,7 @@ class PackageManagerFunTest : WordSpec({
73
73
)
74
74
75
75
val projectDir = tempdir()
76
- val packageManagers = PackageManagerFactory .ALL .values.map { it.create(AnalyzerConfiguration ()) }
76
+ val packageManagers = PackageManagerFactory .ALL .values.map { it.create(PluginConfig ()) }
77
77
78
78
beforeSpec {
79
79
definitionFiles.writeFiles(projectDir)
@@ -85,75 +85,75 @@ class PackageManagerFunTest : WordSpec({
85
85
86
86
// The test project contains at least one file per package manager, so the result should also contain an
87
87
// entry for each package manager.
88
- managedFiles.keys.map { it.managerName } shouldContainExactlyInAnyOrder
89
- PackageManagerFactory .ALL .values.map { it.type }.filterNot { it == " Unmanaged" }
88
+ managedFiles.keys.map { it.descriptor.id } shouldContainExactlyInAnyOrder
89
+ PackageManagerFactory .ALL .values.map { it.descriptor.id }.filterNot { it == " Unmanaged" }
90
90
91
- val managedFilesByName = managedFiles.groupByName (projectDir)
91
+ val managedFilesById = managedFiles.groupById (projectDir)
92
92
93
93
assertSoftly {
94
- managedFilesByName [" Bazel" ] should containExactly("bazel/MODULE .bazel")
95
- managedFilesByName [" Bower" ] should containExactly("bower/bower.json")
96
- managedFilesByName [" Bundler" ] should containExactly("bundler/Gemfile ")
97
- managedFilesByName [" Cargo" ] should containExactly("cargo/Cargo .toml")
98
- managedFilesByName [" Carthage" ] should containExactly("carthage/Cartfile .resolved")
99
- managedFilesByName [" CocoaPods" ] should containExactly("cocoapods/Podfile ")
100
- managedFilesByName [" Composer" ] should containExactly("composer/composer.json")
101
- managedFilesByName [" Conan" ] should containExactlyInAnyOrder(
94
+ managedFilesById [" Bazel" ] should containExactly("bazel/MODULE .bazel")
95
+ managedFilesById [" Bower" ] should containExactly("bower/bower.json")
96
+ managedFilesById [" Bundler" ] should containExactly("bundler/Gemfile ")
97
+ managedFilesById [" Cargo" ] should containExactly("cargo/Cargo .toml")
98
+ managedFilesById [" Carthage" ] should containExactly("carthage/Cartfile .resolved")
99
+ managedFilesById [" CocoaPods" ] should containExactly("cocoapods/Podfile ")
100
+ managedFilesById [" Composer" ] should containExactly("composer/composer.json")
101
+ managedFilesById [" Conan" ] should containExactlyInAnyOrder(
102
102
"conan-py/conanfile.py",
103
103
"conan-txt/conanfile.txt"
104
104
)
105
- managedFilesByName [" GoMod" ] should containExactly("gomod/go.mod")
106
- managedFilesByName [" GradleInspector" ] should containExactlyInAnyOrder(
105
+ managedFilesById [" GoMod" ] should containExactly("gomod/go.mod")
106
+ managedFilesById [" GradleInspector" ] should containExactlyInAnyOrder(
107
107
"gradle-groovy/build.gradle",
108
108
"gradle-kotlin/build.gradle.kts"
109
109
)
110
- managedFilesByName [" Maven" ] should containExactly("maven/pom.xml")
111
- managedFilesByName [" NPM" ] should containExactly("npm-pnpm-and-yarn/package.json")
112
- managedFilesByName [" NuGet" ] should containExactlyInAnyOrder(
110
+ managedFilesById [" Maven" ] should containExactly("maven/pom.xml")
111
+ managedFilesById [" NPM" ] should containExactly("npm-pnpm-and-yarn/package.json")
112
+ managedFilesById [" NuGet" ] should containExactlyInAnyOrder(
113
113
"dotnet/test.csproj",
114
114
"nuget/packages.config"
115
115
)
116
- managedFilesByName [" PIP" ] should containExactlyInAnyOrder(
116
+ managedFilesById [" PIP" ] should containExactlyInAnyOrder(
117
117
"pip-requirements/requirements.txt",
118
118
"pip-setup/setup.py"
119
119
)
120
- managedFilesByName [" Pipenv" ] should containExactly("pipenv/Pipfile .lock")
121
- managedFilesByName [" PNPM" ] should containExactly("npm-pnpm-and-yarn/package.json")
122
- managedFilesByName [" Poetry" ] should containExactly("poetry/poetry.lock")
123
- managedFilesByName [" Pub" ] should containExactly("pub/pubspec.yaml")
124
- managedFilesByName [" SBT" ] should containExactly("sbt/build.sbt")
125
- managedFilesByName [" SpdxDocumentFile" ] should containExactlyInAnyOrder(
120
+ managedFilesById [" Pipenv" ] should containExactly("pipenv/Pipfile .lock")
121
+ managedFilesById [" PNPM" ] should containExactly("npm-pnpm-and-yarn/package.json")
122
+ managedFilesById [" Poetry" ] should containExactly("poetry/poetry.lock")
123
+ managedFilesById [" Pub" ] should containExactly("pub/pubspec.yaml")
124
+ managedFilesById [" SBT" ] should containExactly("sbt/build.sbt")
125
+ managedFilesById [" SpdxDocumentFile" ] should containExactlyInAnyOrder(
126
126
"spdx-package/package.spdx.yml",
127
127
"spdx-project/project.spdx.yml"
128
128
)
129
- managedFilesByName [" SwiftPM" ] should containExactlyInAnyOrder(
129
+ managedFilesById [" SwiftPM" ] should containExactlyInAnyOrder(
130
130
"spm-app/Package .resolved",
131
131
"spm-lib/Package .swift"
132
132
)
133
- managedFilesByName [" Stack" ] should containExactly("stack/stack.yaml")
134
- managedFilesByName [" Yarn" ] should containExactly("npm-pnpm-and-yarn/package.json")
133
+ managedFilesById [" Stack" ] should containExactly("stack/stack.yaml")
134
+ managedFilesById [" Yarn" ] should containExactly("npm-pnpm-and-yarn/package.json")
135
135
}
136
136
}
137
137
138
138
" find only files for active package managers" {
139
139
val managedFiles = PackageManager .findManagedFiles(
140
140
projectDir,
141
- packageManagers.filter { it.managerName in listOf ("GradleInspector ", "PIP ", "SBT ") }
141
+ packageManagers.filter { it.descriptor.id in setOf ("GradleInspector ", "PIP ", "SBT ") }
142
142
)
143
143
144
144
managedFiles shouldHaveSize 3
145
145
146
- val managedFilesByName = managedFiles.groupByName (projectDir)
146
+ val managedFilesById = managedFiles.groupById (projectDir)
147
147
148
- managedFilesByName [" GradleInspector" ] should containExactlyInAnyOrder(
148
+ managedFilesById [" GradleInspector" ] should containExactlyInAnyOrder(
149
149
"gradle-groovy/build.gradle",
150
150
"gradle-kotlin/build.gradle.kts"
151
151
)
152
- managedFilesByName [" PIP" ] should containExactlyInAnyOrder(
152
+ managedFilesById [" PIP" ] should containExactlyInAnyOrder(
153
153
"pip-requirements/requirements.txt",
154
154
"pip-setup/setup.py"
155
155
)
156
- managedFilesByName [" SBT" ] should containExactly("sbt/build.sbt")
156
+ managedFilesById [" SBT" ] should containExactly("sbt/build.sbt")
157
157
}
158
158
159
159
" find no files if no package managers are active" {
@@ -172,25 +172,25 @@ class PackageManagerFunTest : WordSpec({
172
172
val pathExclude = PathExclude ("$tempDir**", PathExcludeReason .TEST_OF )
173
173
val excludes = Excludes (paths = listOf(pathExclude))
174
174
175
- val managedFilesByName = PackageManager .findManagedFiles(rootDir, packageManagers, excludes = excludes)
176
- .groupByName (rootDir)
175
+ val managedFilesById = PackageManager .findManagedFiles(rootDir, packageManagers, excludes = excludes)
176
+ .groupById (rootDir)
177
177
178
- managedFilesByName [" GradleInspector" ] should containExactlyInAnyOrder(
178
+ managedFilesById [" GradleInspector" ] should containExactlyInAnyOrder(
179
179
"gradle-groovy/build.gradle",
180
180
"gradle-kotlin/build.gradle.kts"
181
181
)
182
- managedFilesByName [" Maven" ] should containExactly("maven/pom.xml")
183
- managedFilesByName [" SBT" ] should containExactly("sbt/build.sbt")
182
+ managedFilesById [" Maven" ] should containExactly("maven/pom.xml")
183
+ managedFilesById [" SBT" ] should containExactly("sbt/build.sbt")
184
184
}
185
185
186
186
" handle specific excluded definition files" {
187
187
val pathExclude = PathExclude ("gradle-groovy/build.gradle", PathExcludeReason .OTHER )
188
188
val excludes = Excludes (paths = listOf(pathExclude))
189
189
190
190
val managedFiles = PackageManager .findManagedFiles(projectDir, packageManagers, excludes = excludes)
191
- val managedFilesByName = managedFiles.groupByName (projectDir)
191
+ val managedFilesById = managedFiles.groupById (projectDir)
192
192
193
- managedFilesByName [" GradleInspector" ] should containExactly(
193
+ managedFilesById [" GradleInspector" ] should containExactly(
194
194
"gradle-kotlin/build.gradle.kts"
195
195
)
196
196
}
@@ -208,9 +208,9 @@ class PackageManagerFunTest : WordSpec({
208
208
* package managers can be easily accessed. The keys in expected and actual maps of definition files are different
209
209
* instances of package manager factories. So to compare values use the package manager types as keys instead.
210
210
*/
211
- private fun ManagedProjectFiles.groupByName (projectDir : File ) =
211
+ private fun ManagedProjectFiles.groupById (projectDir : File ) =
212
212
map { (manager, files) ->
213
- manager.managerName to files.map { it.relativeTo(projectDir).invariantSeparatorsPath }
213
+ manager.descriptor.id to files.map { it.relativeTo(projectDir).invariantSeparatorsPath }
214
214
}.toMap()
215
215
216
216
/* *
0 commit comments