@@ -35,32 +35,20 @@ import org.ossreviewtoolkit.model.utils.prependPath
3535import org.ossreviewtoolkit.plugins.packagemanagers.gleam.GleamManifest.Package.SourceType
3636import org.ossreviewtoolkit.utils.ort.normalizeVcsUrl
3737
38- /* *
39- * A sealed interface representing a Gleam dependency from the manifest.toml lockfile.
40- */
41- internal sealed interface GleamPackageInfo {
42- val name: String
43- val dependencies: List <String >
44-
45- fun toIdentifier (context : GleamProjectContext ): Identifier
46- fun toOrtPackage (context : GleamProjectContext , issues : MutableCollection <Issue >): Package ?
47- fun isProject (context : GleamProjectContext ): Boolean
48- }
49-
5038/* *
5139 * A dependency from the manifest.toml lockfile - already resolved.
5240 */
53- internal data class ManifestPackageInfo (private val pkg : GleamManifest .Package ) : GleamPackageInfo {
54- override val name = pkg.name
55- override val dependencies = pkg.requirements
41+ internal data class ManifestPackageInfo (private val pkg : GleamManifest .Package ) {
42+ val name = pkg.name
43+ val dependencies = pkg.requirements
5644
57- override fun isProject (context : GleamProjectContext ): Boolean {
45+ fun isProject (context : GleamProjectContext ): Boolean {
5846 if (pkg.source != SourceType .LOCAL ) return false
5947 val resolvedPath = context.workingDir.resolve(pkg.localPath.orEmpty()).canonicalFile
6048 return resolvedPath in context.projectDirs
6149 }
6250
63- override fun toIdentifier (context : GleamProjectContext ): Identifier {
51+ fun toIdentifier (): Identifier {
6452 val type = when (pkg.source) {
6553 SourceType .HEX -> PACKAGE_TYPE_HEX
6654 SourceType .GIT -> PACKAGE_TYPE_OTP
@@ -75,10 +63,10 @@ internal data class ManifestPackageInfo(private val pkg: GleamManifest.Package)
7563 )
7664 }
7765
78- override fun toOrtPackage (context : GleamProjectContext , issues : MutableCollection <Issue >): Package ? =
66+ fun toOrtPackage (context : GleamProjectContext , issues : MutableCollection <Issue >): Package ? =
7967 when (pkg.source) {
8068 SourceType .HEX -> createHexPackage(context)
81- SourceType .GIT -> createGitPackage(context )
69+ SourceType .GIT -> createGitPackage()
8270 SourceType .LOCAL -> createLocalPackage(context, issues)
8371 }
8472
@@ -88,7 +76,7 @@ internal data class ManifestPackageInfo(private val pkg: GleamManifest.Package)
8876 val vcs = VcsHost .parseUrl(repositoryUrl)
8977
9078 return Package (
91- id = toIdentifier(context ),
79+ id = toIdentifier(),
9280 cpe = generateCpe(repositoryUrl, pkg.version),
9381 authors = hexInfo?.let { resolveAuthors(it.owners, context.hexClient) }.orEmpty(),
9482 declaredLicenses = hexInfo?.meta?.licenses?.toSet().orEmpty(),
@@ -107,13 +95,13 @@ internal data class ManifestPackageInfo(private val pkg: GleamManifest.Package)
10795 )
10896 }
10997
110- private fun createGitPackage (context : GleamProjectContext ): Package {
98+ private fun createGitPackage (): Package {
11199 val vcs = VcsHost .parseUrl(pkg.repo.orEmpty()).let {
112100 if (! pkg.commit.isNullOrEmpty()) it.copy(revision = pkg.commit) else it
113101 }
114102
115103 return Package (
116- id = toIdentifier(context ),
104+ id = toIdentifier(),
117105 cpe = generateCpe(pkg.repo.orEmpty(), pkg.version),
118106 authors = emptySet(),
119107 declaredLicenses = emptySet(),
@@ -132,7 +120,7 @@ internal data class ManifestPackageInfo(private val pkg: GleamManifest.Package)
132120 if (isProject(context)) return null
133121
134122 val basePackage = Package (
135- id = toIdentifier(context ),
123+ id = toIdentifier(),
136124 authors = emptySet(),
137125 declaredLicenses = emptySet(),
138126 description = " " ,
0 commit comments