From f3a5a432526743bba8e4d96ca24a4d740d44607b Mon Sep 17 00:00:00 2001 From: Jens Keim Date: Wed, 29 May 2024 16:24:34 +0200 Subject: [PATCH] NestedProvenance: Move from scanner to model Moving the `NestedProvenance` data structure to model, allows it to be used within the model without creating a circular dependency between scanner and model. This would enable a future AnalayzerInput class [1] to utilze it and still be placed into the model, where its predecessor `Repostory` is already located. [1] https://github.com/oss-review-toolkit/ort/issues/2896#issuecomment-2069742269 Signed-off-by: Jens Keim --- .../src/main/kotlin}/NestedProvenance.kt | 6 +----- plugins/scanners/fossid/src/main/kotlin/FossId.kt | 2 +- plugins/scanners/fossid/src/test/kotlin/TestUtils.kt | 2 +- .../provenance/AbstractNestedProvenanceStorageFunTest.kt | 1 + .../provenance/DefaultNestedProvenanceResolverFunTest.kt | 1 + scanner/src/main/kotlin/ScanController.kt | 2 +- scanner/src/main/kotlin/ScanStorage.kt | 2 +- scanner/src/main/kotlin/ScanStorages.kt | 2 +- scanner/src/main/kotlin/Scanner.kt | 2 +- scanner/src/main/kotlin/ScannerWrapper.kt | 2 +- .../src/main/kotlin/provenance/NestedProvenanceResolver.kt | 1 + .../main/kotlin/provenance/NestedProvenanceScanResult.kt | 1 + .../src/main/kotlin/provenance/NestedProvenanceStorage.kt | 1 + scanner/src/main/kotlin/provenance/ProvenanceDownloader.kt | 1 + .../main/kotlin/storages/AbstractPackageBasedScanStorage.kt | 2 +- scanner/src/test/kotlin/ScannerTest.kt | 2 +- .../kotlin/provenance/NestedProvenanceScanResultTest.kt | 1 + 17 files changed, 17 insertions(+), 14 deletions(-) rename {scanner/src/main/kotlin/provenance => model/src/main/kotlin}/NestedProvenance.kt (90%) diff --git a/scanner/src/main/kotlin/provenance/NestedProvenance.kt b/model/src/main/kotlin/NestedProvenance.kt similarity index 90% rename from scanner/src/main/kotlin/provenance/NestedProvenance.kt rename to model/src/main/kotlin/NestedProvenance.kt index 66aea16af156a..5c97b1b5e89e3 100644 --- a/scanner/src/main/kotlin/provenance/NestedProvenance.kt +++ b/model/src/main/kotlin/NestedProvenance.kt @@ -17,14 +17,10 @@ * License-Filename: LICENSE */ -package org.ossreviewtoolkit.scanner.provenance +package org.ossreviewtoolkit.model import com.fasterxml.jackson.annotation.JsonIgnore -import org.ossreviewtoolkit.model.ArtifactProvenance -import org.ossreviewtoolkit.model.KnownProvenance -import org.ossreviewtoolkit.model.RepositoryProvenance - /** * This class contains information about a [root] provenance and all nested [subRepositories]. */ diff --git a/plugins/scanners/fossid/src/main/kotlin/FossId.kt b/plugins/scanners/fossid/src/main/kotlin/FossId.kt index 536a40c81c5b8..466db3db55bf0 100644 --- a/plugins/scanners/fossid/src/main/kotlin/FossId.kt +++ b/plugins/scanners/fossid/src/main/kotlin/FossId.kt @@ -72,6 +72,7 @@ import org.ossreviewtoolkit.clients.fossid.unmarkAsIdentified import org.ossreviewtoolkit.downloader.VersionControlSystem import org.ossreviewtoolkit.model.Issue import org.ossreviewtoolkit.model.LicenseFinding +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Provenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.ScanResult @@ -91,7 +92,6 @@ import org.ossreviewtoolkit.scanner.ScanContext import org.ossreviewtoolkit.scanner.ScannerMatcher import org.ossreviewtoolkit.scanner.ScannerWrapperConfig import org.ossreviewtoolkit.scanner.ScannerWrapperFactory -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.utils.common.Options import org.ossreviewtoolkit.utils.common.enumSetOf import org.ossreviewtoolkit.utils.common.replaceCredentialsInUri diff --git a/plugins/scanners/fossid/src/test/kotlin/TestUtils.kt b/plugins/scanners/fossid/src/test/kotlin/TestUtils.kt index 53cb34b4fe422..69f1a6ce45ee6 100644 --- a/plugins/scanners/fossid/src/test/kotlin/TestUtils.kt +++ b/plugins/scanners/fossid/src/test/kotlin/TestUtils.kt @@ -69,6 +69,7 @@ import org.ossreviewtoolkit.downloader.VersionControlSystem import org.ossreviewtoolkit.model.ArtifactProvenance import org.ossreviewtoolkit.model.Hash import org.ossreviewtoolkit.model.Identifier +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.PackageType import org.ossreviewtoolkit.model.RemoteArtifact @@ -82,7 +83,6 @@ import org.ossreviewtoolkit.model.config.Excludes import org.ossreviewtoolkit.model.config.SnippetChoices import org.ossreviewtoolkit.scanner.ScanContext import org.ossreviewtoolkit.scanner.ScannerWrapperConfig -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.utils.spdx.SpdxExpression /** A test user ID. */ diff --git a/scanner/src/funTest/kotlin/provenance/AbstractNestedProvenanceStorageFunTest.kt b/scanner/src/funTest/kotlin/provenance/AbstractNestedProvenanceStorageFunTest.kt index 04cb753404d5a..78450f02f0849 100644 --- a/scanner/src/funTest/kotlin/provenance/AbstractNestedProvenanceStorageFunTest.kt +++ b/scanner/src/funTest/kotlin/provenance/AbstractNestedProvenanceStorageFunTest.kt @@ -24,6 +24,7 @@ import io.kotest.core.spec.style.WordSpec import io.kotest.matchers.shouldBe import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.VcsInfo import org.ossreviewtoolkit.model.VcsType diff --git a/scanner/src/funTest/kotlin/provenance/DefaultNestedProvenanceResolverFunTest.kt b/scanner/src/funTest/kotlin/provenance/DefaultNestedProvenanceResolverFunTest.kt index 8ec4de190df98..edbb037ebab66 100644 --- a/scanner/src/funTest/kotlin/provenance/DefaultNestedProvenanceResolverFunTest.kt +++ b/scanner/src/funTest/kotlin/provenance/DefaultNestedProvenanceResolverFunTest.kt @@ -30,6 +30,7 @@ import java.io.IOException import org.ossreviewtoolkit.model.ArtifactProvenance import org.ossreviewtoolkit.model.Hash +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.RemoteArtifact import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.VcsInfo diff --git a/scanner/src/main/kotlin/ScanController.kt b/scanner/src/main/kotlin/ScanController.kt index e5d7031caf25c..77f3fa6a92e4c 100644 --- a/scanner/src/main/kotlin/ScanController.kt +++ b/scanner/src/main/kotlin/ScanController.kt @@ -22,13 +22,13 @@ package org.ossreviewtoolkit.scanner import org.ossreviewtoolkit.model.Identifier import org.ossreviewtoolkit.model.Issue import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.Provenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.ScanResult import org.ossreviewtoolkit.model.ScanSummary import org.ossreviewtoolkit.model.config.ScannerConfiguration -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceScanResult import org.ossreviewtoolkit.utils.common.PATH_STRING_COMPARATOR diff --git a/scanner/src/main/kotlin/ScanStorage.kt b/scanner/src/main/kotlin/ScanStorage.kt index 23d3c221caea9..e210ba2db9f1f 100644 --- a/scanner/src/main/kotlin/ScanStorage.kt +++ b/scanner/src/main/kotlin/ScanStorage.kt @@ -21,12 +21,12 @@ package org.ossreviewtoolkit.scanner import org.ossreviewtoolkit.model.ArtifactProvenance import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.Provenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.ScanResult import org.ossreviewtoolkit.model.UnknownProvenance -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceScanResult /** diff --git a/scanner/src/main/kotlin/ScanStorages.kt b/scanner/src/main/kotlin/ScanStorages.kt index 51b7f685a8d22..084892d088881 100644 --- a/scanner/src/main/kotlin/ScanStorages.kt +++ b/scanner/src/main/kotlin/ScanStorages.kt @@ -19,6 +19,7 @@ package org.ossreviewtoolkit.scanner +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.ScanResult import org.ossreviewtoolkit.model.config.ClearlyDefinedStorageConfiguration @@ -29,7 +30,6 @@ import org.ossreviewtoolkit.model.config.ScannerConfiguration import org.ossreviewtoolkit.model.config.StorageType import org.ossreviewtoolkit.model.config.Sw360StorageConfiguration import org.ossreviewtoolkit.model.utils.DatabaseUtils -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceScanResult import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceStorage import org.ossreviewtoolkit.scanner.provenance.PackageProvenanceStorage diff --git a/scanner/src/main/kotlin/Scanner.kt b/scanner/src/main/kotlin/Scanner.kt index f9ce8dc3a4c9d..72eaa2cfe7fc2 100644 --- a/scanner/src/main/kotlin/Scanner.kt +++ b/scanner/src/main/kotlin/Scanner.kt @@ -36,6 +36,7 @@ import org.ossreviewtoolkit.model.FileList import org.ossreviewtoolkit.model.Identifier import org.ossreviewtoolkit.model.Issue import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.OrtResult import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.PackageType @@ -56,7 +57,6 @@ import org.ossreviewtoolkit.model.utils.FileArchiver import org.ossreviewtoolkit.model.utils.ProvenanceFileStorage import org.ossreviewtoolkit.model.utils.getKnownProvenancesWithoutVcsPath import org.ossreviewtoolkit.model.utils.vcsPath -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceResolver import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceScanResult import org.ossreviewtoolkit.scanner.provenance.PackageProvenanceResolver diff --git a/scanner/src/main/kotlin/ScannerWrapper.kt b/scanner/src/main/kotlin/ScannerWrapper.kt index 3023d0abad19a..a36416df76b7c 100644 --- a/scanner/src/main/kotlin/ScannerWrapper.kt +++ b/scanner/src/main/kotlin/ScannerWrapper.kt @@ -22,6 +22,7 @@ package org.ossreviewtoolkit.scanner import java.io.File import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.Provenance import org.ossreviewtoolkit.model.ScanResult @@ -29,7 +30,6 @@ import org.ossreviewtoolkit.model.ScanSummary import org.ossreviewtoolkit.model.ScannerDetails import org.ossreviewtoolkit.model.config.PluginConfiguration import org.ossreviewtoolkit.model.config.ScannerConfiguration -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance /** * The base interface for all types of wrappers for scanners. diff --git a/scanner/src/main/kotlin/provenance/NestedProvenanceResolver.kt b/scanner/src/main/kotlin/provenance/NestedProvenanceResolver.kt index 3a5c7572534e7..9dcea1907f06c 100644 --- a/scanner/src/main/kotlin/provenance/NestedProvenanceResolver.kt +++ b/scanner/src/main/kotlin/provenance/NestedProvenanceResolver.kt @@ -25,6 +25,7 @@ import org.apache.logging.log4j.kotlin.logger import org.ossreviewtoolkit.model.ArtifactProvenance import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Provenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.scanner.utils.WorkingTreeCache diff --git a/scanner/src/main/kotlin/provenance/NestedProvenanceScanResult.kt b/scanner/src/main/kotlin/provenance/NestedProvenanceScanResult.kt index 5205e84a848ba..14ba6e1a5d7b4 100644 --- a/scanner/src/main/kotlin/provenance/NestedProvenanceScanResult.kt +++ b/scanner/src/main/kotlin/provenance/NestedProvenanceScanResult.kt @@ -20,6 +20,7 @@ package org.ossreviewtoolkit.scanner.provenance import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.OrtResult import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.ScanResult diff --git a/scanner/src/main/kotlin/provenance/NestedProvenanceStorage.kt b/scanner/src/main/kotlin/provenance/NestedProvenanceStorage.kt index 65dd4eccc7d80..5192a6c079220 100644 --- a/scanner/src/main/kotlin/provenance/NestedProvenanceStorage.kt +++ b/scanner/src/main/kotlin/provenance/NestedProvenanceStorage.kt @@ -19,6 +19,7 @@ package org.ossreviewtoolkit.scanner.provenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.config.ScannerConfiguration import org.ossreviewtoolkit.model.utils.DatabaseUtils diff --git a/scanner/src/main/kotlin/provenance/ProvenanceDownloader.kt b/scanner/src/main/kotlin/provenance/ProvenanceDownloader.kt index 2650b3ddbf664..e2a00ed2ed32c 100644 --- a/scanner/src/main/kotlin/provenance/ProvenanceDownloader.kt +++ b/scanner/src/main/kotlin/provenance/ProvenanceDownloader.kt @@ -31,6 +31,7 @@ import org.ossreviewtoolkit.downloader.DownloadException import org.ossreviewtoolkit.downloader.Downloader import org.ossreviewtoolkit.model.ArtifactProvenance import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.config.DownloaderConfiguration diff --git a/scanner/src/main/kotlin/storages/AbstractPackageBasedScanStorage.kt b/scanner/src/main/kotlin/storages/AbstractPackageBasedScanStorage.kt index 467cef1064057..96cda54661e27 100644 --- a/scanner/src/main/kotlin/storages/AbstractPackageBasedScanStorage.kt +++ b/scanner/src/main/kotlin/storages/AbstractPackageBasedScanStorage.kt @@ -25,13 +25,13 @@ import org.apache.logging.log4j.kotlin.logger import org.ossreviewtoolkit.model.Identifier import org.ossreviewtoolkit.model.KnownProvenance +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.ScanResult import org.ossreviewtoolkit.model.UnknownProvenance import org.ossreviewtoolkit.scanner.PackageBasedScanStorage import org.ossreviewtoolkit.scanner.ScanStorageException import org.ossreviewtoolkit.scanner.ScannerMatcher -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceScanResult import org.ossreviewtoolkit.scanner.toNestedProvenanceScanResult diff --git a/scanner/src/test/kotlin/ScannerTest.kt b/scanner/src/test/kotlin/ScannerTest.kt index 89c8becd9bca0..bc325ec9bf98a 100644 --- a/scanner/src/test/kotlin/ScannerTest.kt +++ b/scanner/src/test/kotlin/ScannerTest.kt @@ -42,6 +42,7 @@ import org.ossreviewtoolkit.model.HashAlgorithm import org.ossreviewtoolkit.model.Identifier import org.ossreviewtoolkit.model.KnownProvenance import org.ossreviewtoolkit.model.LicenseFinding +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.Package import org.ossreviewtoolkit.model.PackageType import org.ossreviewtoolkit.model.Provenance @@ -59,7 +60,6 @@ import org.ossreviewtoolkit.model.config.DownloaderConfiguration import org.ossreviewtoolkit.model.config.FileArchiverConfiguration import org.ossreviewtoolkit.model.config.ScannerConfiguration import org.ossreviewtoolkit.model.toYaml -import org.ossreviewtoolkit.scanner.provenance.NestedProvenance import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceResolver import org.ossreviewtoolkit.scanner.provenance.NestedProvenanceScanResult import org.ossreviewtoolkit.scanner.provenance.PackageProvenanceResolver diff --git a/scanner/src/test/kotlin/provenance/NestedProvenanceScanResultTest.kt b/scanner/src/test/kotlin/provenance/NestedProvenanceScanResultTest.kt index fa45f7e5f1ea6..ba1c3b0b12012 100644 --- a/scanner/src/test/kotlin/provenance/NestedProvenanceScanResultTest.kt +++ b/scanner/src/test/kotlin/provenance/NestedProvenanceScanResultTest.kt @@ -27,6 +27,7 @@ import io.kotest.matchers.shouldBe import org.ossreviewtoolkit.model.CopyrightFinding import org.ossreviewtoolkit.model.LicenseFinding +import org.ossreviewtoolkit.model.NestedProvenance import org.ossreviewtoolkit.model.RepositoryProvenance import org.ossreviewtoolkit.model.ScanResult import org.ossreviewtoolkit.model.ScanSummary