diff --git a/plugins/package-managers/node/src/main/kotlin/utils/NpmDetection.kt b/plugins/package-managers/node/src/main/kotlin/NpmDetection.kt similarity index 98% rename from plugins/package-managers/node/src/main/kotlin/utils/NpmDetection.kt rename to plugins/package-managers/node/src/main/kotlin/NpmDetection.kt index d3fd8776675d1..e07a1d6e5f763 100644 --- a/plugins/package-managers/node/src/main/kotlin/utils/NpmDetection.kt +++ b/plugins/package-managers/node/src/main/kotlin/NpmDetection.kt @@ -17,7 +17,7 @@ * License-Filename: LICENSE */ -package org.ossreviewtoolkit.plugins.packagemanagers.node.utils +package org.ossreviewtoolkit.plugins.packagemanagers.node import java.io.File import java.nio.file.FileSystems @@ -31,7 +31,7 @@ import org.ossreviewtoolkit.utils.common.collectMessages /** * A class to detect the package managers used for the give [definitionFiles]. */ -class NpmDetection(private val definitionFiles: Collection<File>) { +internal class NpmDetection(private val definitionFiles: Collection<File>) { /** * A map of project directories to the set of package managers that are most likely responsible for the project. If * the set is empty, none of the package managers is responsible. @@ -110,7 +110,7 @@ class NpmDetection(private val definitionFiles: Collection<File>) { /** * An enum of all supported Node package managers. */ -enum class NodePackageManager( +internal enum class NodePackageManager( val lockfileName: String, val markerFileName: String? = null, val workspaceFileName: String = NodePackageManager.DEFINITION_FILE diff --git a/plugins/package-managers/node/src/main/kotlin/utils/NpmSupport.kt b/plugins/package-managers/node/src/main/kotlin/NpmSupport.kt similarity index 98% rename from plugins/package-managers/node/src/main/kotlin/utils/NpmSupport.kt rename to plugins/package-managers/node/src/main/kotlin/NpmSupport.kt index 1f3766e3ff386..074576d16c85c 100644 --- a/plugins/package-managers/node/src/main/kotlin/utils/NpmSupport.kt +++ b/plugins/package-managers/node/src/main/kotlin/NpmSupport.kt @@ -17,7 +17,7 @@ * License-Filename: LICENSE */ -package org.ossreviewtoolkit.plugins.packagemanagers.node.utils +package org.ossreviewtoolkit.plugins.packagemanagers.node import java.io.File import java.lang.invoke.MethodHandles @@ -37,14 +37,14 @@ import org.ossreviewtoolkit.model.Project import org.ossreviewtoolkit.model.RemoteArtifact import org.ossreviewtoolkit.model.VcsInfo import org.ossreviewtoolkit.model.VcsType -import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson -import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson import org.ossreviewtoolkit.utils.common.realFile import org.ossreviewtoolkit.utils.common.toUri import org.ossreviewtoolkit.utils.spdx.SpdxConstants internal const val NON_EXISTING_SEMVER = "0.0.0" +private val logger = loggerOf(MethodHandles.lookup().lookupClass()) + /** * Expand an NPM shortcut [url] to a regular URL as used for dependencies, see * https://docs.npmjs.com/cli/v7/configuring-npm/package-json#urls-as-dependencies. @@ -247,8 +247,6 @@ internal fun parsePackage( return module } -private val logger = loggerOf(MethodHandles.lookup().lookupClass()) - internal fun parseProject(packageJsonFile: File, analysisRoot: File, managerName: String): Project { logger.debug { "Parsing project info from '$packageJsonFile'." } diff --git a/plugins/package-managers/node/src/main/kotlin/npm/Npm.kt b/plugins/package-managers/node/src/main/kotlin/npm/Npm.kt index 6a5d30173c6b6..3c24b7bed216b 100644 --- a/plugins/package-managers/node/src/main/kotlin/npm/Npm.kt +++ b/plugins/package-managers/node/src/main/kotlin/npm/Npm.kt @@ -29,9 +29,10 @@ import org.ossreviewtoolkit.analyzer.AbstractPackageManagerFactory import org.ossreviewtoolkit.model.config.AnalyzerConfiguration import org.ossreviewtoolkit.model.config.PackageManagerConfiguration import org.ossreviewtoolkit.model.config.RepositoryConfiguration +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager +import org.ossreviewtoolkit.plugins.packagemanagers.node.NpmDetection import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NpmDetection +import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson import org.ossreviewtoolkit.plugins.packagemanagers.node.yarn.Yarn import org.ossreviewtoolkit.utils.common.Os import org.ossreviewtoolkit.utils.common.ProcessCapture @@ -95,7 +96,7 @@ class Npm( return runCatching { val process = run(workingDir, "info", "--json", packageName) - org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson(process.stdout) + parsePackageJson(process.stdout) }.onFailure { e -> logger.warn { "Error getting details for $packageName in directory $workingDir: ${e.message.orEmpty()}" } }.onSuccess { diff --git a/plugins/package-managers/node/src/main/kotlin/pnpm/Pnpm.kt b/plugins/package-managers/node/src/main/kotlin/pnpm/Pnpm.kt index 90a3a88109c98..f62ae55eb2624 100644 --- a/plugins/package-managers/node/src/main/kotlin/pnpm/Pnpm.kt +++ b/plugins/package-managers/node/src/main/kotlin/pnpm/Pnpm.kt @@ -31,11 +31,11 @@ import org.ossreviewtoolkit.model.ProjectAnalyzerResult import org.ossreviewtoolkit.model.config.AnalyzerConfiguration import org.ossreviewtoolkit.model.config.RepositoryConfiguration import org.ossreviewtoolkit.model.utils.DependencyGraphBuilder +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager +import org.ossreviewtoolkit.plugins.packagemanagers.node.NpmDetection import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NpmDetection -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.parseProject +import org.ossreviewtoolkit.plugins.packagemanagers.node.parseProject import org.ossreviewtoolkit.utils.common.CommandLineTool import org.ossreviewtoolkit.utils.common.Os import org.ossreviewtoolkit.utils.common.stashDirectories diff --git a/plugins/package-managers/node/src/main/kotlin/pnpm/PnpmDependencyHandler.kt b/plugins/package-managers/node/src/main/kotlin/pnpm/PnpmDependencyHandler.kt index a3b0f29fa12d3..edeff23ef7562 100644 --- a/plugins/package-managers/node/src/main/kotlin/pnpm/PnpmDependencyHandler.kt +++ b/plugins/package-managers/node/src/main/kotlin/pnpm/PnpmDependencyHandler.kt @@ -27,9 +27,9 @@ import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.PackageLinkage import org.ossreviewtoolkit.model.utils.DependencyHandler import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson +import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackage import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson import org.ossreviewtoolkit.plugins.packagemanagers.node.pnpm.ModuleInfo.Dependency -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.parsePackage import org.ossreviewtoolkit.utils.common.realFile internal class PnpmDependencyHandler(private val pnpm: Pnpm) : DependencyHandler<Dependency> { diff --git a/plugins/package-managers/node/src/main/kotlin/yarn/Yarn.kt b/plugins/package-managers/node/src/main/kotlin/yarn/Yarn.kt index bd1be49ff8e1f..d2c990ff8891f 100644 --- a/plugins/package-managers/node/src/main/kotlin/yarn/Yarn.kt +++ b/plugins/package-managers/node/src/main/kotlin/yarn/Yarn.kt @@ -50,13 +50,13 @@ import org.ossreviewtoolkit.model.config.RepositoryConfiguration import org.ossreviewtoolkit.model.createAndLogIssue import org.ossreviewtoolkit.model.readTree import org.ossreviewtoolkit.model.utils.DependencyGraphBuilder +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager +import org.ossreviewtoolkit.plugins.packagemanagers.node.NpmDetection import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson import org.ossreviewtoolkit.plugins.packagemanagers.node.npm.groupLines import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NpmDetection -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.parseProject -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.splitNpmNamespaceAndName +import org.ossreviewtoolkit.plugins.packagemanagers.node.parseProject +import org.ossreviewtoolkit.plugins.packagemanagers.node.splitNpmNamespaceAndName import org.ossreviewtoolkit.utils.common.CommandLineTool import org.ossreviewtoolkit.utils.common.DiskCache import org.ossreviewtoolkit.utils.common.Os diff --git a/plugins/package-managers/node/src/main/kotlin/yarn/YarnDependencyHandler.kt b/plugins/package-managers/node/src/main/kotlin/yarn/YarnDependencyHandler.kt index b40409e274876..0ecc3962e22da 100644 --- a/plugins/package-managers/node/src/main/kotlin/yarn/YarnDependencyHandler.kt +++ b/plugins/package-managers/node/src/main/kotlin/yarn/YarnDependencyHandler.kt @@ -27,7 +27,7 @@ import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.PackageLinkage import org.ossreviewtoolkit.model.Project import org.ossreviewtoolkit.model.utils.DependencyHandler -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.parsePackage +import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackage /** * A data class storing information about a specific NPM module and its dependencies. diff --git a/plugins/package-managers/node/src/main/kotlin/yarn2/Yarn2.kt b/plugins/package-managers/node/src/main/kotlin/yarn2/Yarn2.kt index 067cf0e9a6f35..8ce2afd47a9d5 100644 --- a/plugins/package-managers/node/src/main/kotlin/yarn2/Yarn2.kt +++ b/plugins/package-managers/node/src/main/kotlin/yarn2/Yarn2.kt @@ -53,16 +53,16 @@ import org.ossreviewtoolkit.model.config.RepositoryConfiguration import org.ossreviewtoolkit.model.createAndLogIssue import org.ossreviewtoolkit.model.utils.DependencyGraphBuilder import org.ossreviewtoolkit.model.utils.DependencyHandler +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager +import org.ossreviewtoolkit.plugins.packagemanagers.node.NpmDetection import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson +import org.ossreviewtoolkit.plugins.packagemanagers.node.fixNpmDownloadUrl +import org.ossreviewtoolkit.plugins.packagemanagers.node.mapNpmLicenses +import org.ossreviewtoolkit.plugins.packagemanagers.node.parseNpmAuthor +import org.ossreviewtoolkit.plugins.packagemanagers.node.parseNpmVcsInfo import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJson import org.ossreviewtoolkit.plugins.packagemanagers.node.parsePackageJsons -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NpmDetection -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.fixNpmDownloadUrl -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.mapNpmLicenses -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.parseNpmAuthor -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.parseNpmVcsInfo -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.splitNpmNamespaceAndName +import org.ossreviewtoolkit.plugins.packagemanagers.node.splitNpmNamespaceAndName import org.ossreviewtoolkit.utils.common.CommandLineTool import org.ossreviewtoolkit.utils.common.Os import org.ossreviewtoolkit.utils.ort.runBlocking diff --git a/plugins/package-managers/node/src/test/kotlin/utils/NpmDetectionTest.kt b/plugins/package-managers/node/src/test/kotlin/NpmDetectionTest.kt similarity index 96% rename from plugins/package-managers/node/src/test/kotlin/utils/NpmDetectionTest.kt rename to plugins/package-managers/node/src/test/kotlin/NpmDetectionTest.kt index 5a5da244be844..c9c9a82f4f73e 100644 --- a/plugins/package-managers/node/src/test/kotlin/utils/NpmDetectionTest.kt +++ b/plugins/package-managers/node/src/test/kotlin/NpmDetectionTest.kt @@ -17,7 +17,7 @@ * License-Filename: LICENSE */ -package org.ossreviewtoolkit.plugins.packagemanagers.node.utils +package org.ossreviewtoolkit.plugins.packagemanagers.node import io.kotest.core.spec.style.WordSpec import io.kotest.engine.spec.tempdir @@ -30,10 +30,10 @@ import io.kotest.matchers.should import io.kotest.matchers.shouldBe import org.ossreviewtoolkit.analyzer.PackageManager -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager.NPM -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager.PNPM -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager.YARN -import org.ossreviewtoolkit.plugins.packagemanagers.node.utils.NodePackageManager.YARN2 +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager.NPM +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager.PNPM +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager.YARN +import org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager.YARN2 import org.ossreviewtoolkit.utils.common.withoutPrefix import org.ossreviewtoolkit.utils.test.getAssetFile diff --git a/plugins/package-managers/node/src/test/kotlin/utils/NpmSupportTest.kt b/plugins/package-managers/node/src/test/kotlin/NpmSupportTest.kt similarity index 97% rename from plugins/package-managers/node/src/test/kotlin/utils/NpmSupportTest.kt rename to plugins/package-managers/node/src/test/kotlin/NpmSupportTest.kt index 51d0ffc91153b..8d9e33ff7f998 100644 --- a/plugins/package-managers/node/src/test/kotlin/utils/NpmSupportTest.kt +++ b/plugins/package-managers/node/src/test/kotlin/NpmSupportTest.kt @@ -17,7 +17,7 @@ * License-Filename: LICENSE */ -package org.ossreviewtoolkit.plugins.packagemanagers.node.utils +package org.ossreviewtoolkit.plugins.packagemanagers.node import io.kotest.core.spec.style.WordSpec import io.kotest.inspectors.forAll @@ -25,7 +25,6 @@ import io.kotest.matchers.shouldBe import org.ossreviewtoolkit.model.VcsInfo import org.ossreviewtoolkit.model.VcsType -import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson.Author import org.ossreviewtoolkit.plugins.packagemanagers.node.PackageJson.Repository diff --git a/plugins/package-managers/node/src/test/kotlin/utils/NpmDependencyHandlerTest.kt b/plugins/package-managers/node/src/test/kotlin/yarn/YarnDependencyHandlerTest.kt similarity index 93% rename from plugins/package-managers/node/src/test/kotlin/utils/NpmDependencyHandlerTest.kt rename to plugins/package-managers/node/src/test/kotlin/yarn/YarnDependencyHandlerTest.kt index cc13e2aa85a49..b5d85cc5fba23 100644 --- a/plugins/package-managers/node/src/test/kotlin/utils/NpmDependencyHandlerTest.kt +++ b/plugins/package-managers/node/src/test/kotlin/yarn/YarnDependencyHandlerTest.kt @@ -17,7 +17,7 @@ * License-Filename: LICENSE */ -package org.ossreviewtoolkit.plugins.packagemanagers.node.utils +package org.ossreviewtoolkit.plugins.packagemanagers.node.yarn import io.kotest.core.spec.style.StringSpec import io.kotest.matchers.collections.containExactly @@ -32,11 +32,9 @@ import org.ossreviewtoolkit.model.PackageLinkage import org.ossreviewtoolkit.model.config.AnalyzerConfiguration import org.ossreviewtoolkit.model.config.RepositoryConfiguration import org.ossreviewtoolkit.plugins.packagemanagers.node.npm.Npm -import org.ossreviewtoolkit.plugins.packagemanagers.node.yarn.NpmModuleInfo -import org.ossreviewtoolkit.plugins.packagemanagers.node.yarn.YarnDependencyHandler import org.ossreviewtoolkit.utils.test.USER_DIR -class NpmDependencyHandlerTest : StringSpec({ +class YarnDependencyHandlerTest : StringSpec({ "identifierFor extracts the correct identifier" { val id = createIdentifier("foo") val module = createModuleInfo(id)