Skip to content

Commit

Permalink
Rename ScanResult to AnalyzerResult
Browse files Browse the repository at this point in the history
Because this is actually created by the analyzer, not by the scanner
module.

Change-Id: Iae73b17241b3af855c8755ade57602f6fd074876
  • Loading branch information
sschuberth authored and mnonnenmacher committed Nov 6, 2017
1 parent 7a1aec7 commit 2840847
Show file tree
Hide file tree
Showing 15 changed files with 43 additions and 47 deletions.
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -175,15 +175,15 @@ object Main {

// Print the list of dependencies.
val results = manager.resolveDependencies(absoluteProjectPath, paths)
results.forEach { definitionFile, scanResult ->
results.forEach { definitionFile, analyzerResult ->
// Mirror the directory structure from the project in the output.
val outputDir = File(absoluteOutputPath,
definitionFile.parentFile.toRelativeString(absoluteProjectPath))
if (outputDir.mkdirs()) {
val outputFile = File(outputDir, definitionFile.name.replace('.', '-') +
"-dependencies." + outputFormat.fileEnding)
println("Writing results for\n\t$definitionFile\nto\n\t$outputFile")
mapper.writerWithDefaultPrettyPrinter().writeValue(outputFile, scanResult)
mapper.writerWithDefaultPrettyPrinter().writeValue(outputFile, analyzerResult)
println("done.")
} else {
log.error { "Unable to create output directory '$outputDir'." }
Expand Down
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/PackageManager.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer

import com.here.ort.analyzer.managers.*
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File
import java.nio.file.FileSystems
Expand Down Expand Up @@ -64,5 +64,5 @@ abstract class PackageManager(
* Return a tree of resolved dependencies (not necessarily declared dependencies, in case conflicts were resolved)
* for each provided path.
*/
abstract fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult>
abstract fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult>
}
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/Bower.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File

Expand All @@ -14,7 +14,7 @@ object Bower : PackageManager(
return "bower"
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/Bundler.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File

Expand All @@ -15,7 +15,7 @@ object Bundler : PackageManager(
return "bundle"
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/CocoaPods.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File

Expand All @@ -14,7 +14,7 @@ object CocoaPods : PackageManager(
return "pod"
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/Godep.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File

Expand All @@ -14,7 +14,7 @@ object Godep : PackageManager(
return "godep"
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/Gradle.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult
import com.here.ort.util.OS

import java.io.File
Expand All @@ -28,7 +28,7 @@ object Gradle : PackageManager(
return if (File(workingDir, wrapper).isFile) wrapper else gradle
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/Maven.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File

Expand All @@ -14,7 +14,7 @@ object Maven : PackageManager(
return "mvn"
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
10 changes: 5 additions & 5 deletions analyzer/src/main/kotlin/managers/NPM.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import com.here.ort.analyzer.PackageManager
import com.here.ort.model.Package
import com.here.ort.model.PackageReference
import com.here.ort.model.Project
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult
import com.here.ort.model.Scope
import com.here.ort.util.OS
import com.here.ort.util.ProcessCapture
Expand Down Expand Up @@ -53,13 +53,13 @@ object NPM : PackageManager(
return if (File(workingDir, "yarn.lock").isFile) yarn else npm
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
// We do not actually depend on any features specific to an NPM 5.x or Yarn version, but we still want to
// stick to fixed versions to be sure to get consistent results.
checkCommandVersion(npm, Semver("5.3.0", SemverType.NPM), ignoreActualVersion = Main.ignoreVersions)
checkCommandVersion(yarn, Semver("1.1.0", SemverType.NPM), ignoreActualVersion = Main.ignoreVersions)

val result = mutableMapOf<File, ScanResult>()
val result = mutableMapOf<File, AnalyzerResult>()

definitionFiles.forEach { definitionFile ->
val workingDir = definitionFile.parentFile
Expand Down Expand Up @@ -320,7 +320,7 @@ object NPM : PackageManager(
}
}

private fun parseProject(packageJson: File, scopes: List<Scope>, packages: SortedSet<Package>): ScanResult {
private fun parseProject(packageJson: File, scopes: List<Scope>, packages: SortedSet<Package>): AnalyzerResult {
log.debug { "Parsing project info from ${packageJson.absolutePath}." }

val json = jsonMapper.readTree(packageJson)
Expand All @@ -347,7 +347,7 @@ object NPM : PackageManager(
scopes = scopes
)

return ScanResult(project, packages)
return AnalyzerResult(project, packages)
}

/**
Expand Down
8 changes: 4 additions & 4 deletions analyzer/src/main/kotlin/managers/PIP.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.here.ort.analyzer.PackageManager
import com.here.ort.model.Package
import com.here.ort.model.PackageReference
import com.here.ort.model.Project
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult
import com.here.ort.model.Scope
import com.here.ort.util.OkHttpClientHelper
import com.here.ort.util.OS
Expand Down Expand Up @@ -69,12 +69,12 @@ object PIP : PackageManager(
return process
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
// virtualenv bundles pip. In order to get pip 9.0.1 inside a virtualenv, which is a version that supports
// installing packages from a Git URL that include a commit SHA1, we need at least virtualenv 15.1.0.
checkCommandVersion("virtualenv", Semver("15.1.0"), ignoreActualVersion = Main.ignoreVersions)

val result = mutableMapOf<File, ScanResult>()
val result = mutableMapOf<File, AnalyzerResult>()

definitionFiles.forEach { definitionFile ->
val (virtualEnvDir, workingDir) = setupVirtualEnv(definitionFile)
Expand Down Expand Up @@ -174,7 +174,7 @@ object PIP : PackageManager(
scopes = scopes
)

result[definitionFile] = ScanResult(project, packages)
result[definitionFile] = AnalyzerResult(project, packages)

// Remove the virtualenv by simply deleting the directory.
virtualEnvDir.deleteRecursively()
Expand Down
4 changes: 2 additions & 2 deletions analyzer/src/main/kotlin/managers/SBT.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.here.ort.analyzer.managers

import com.here.ort.analyzer.PackageManager
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult

import java.io.File

Expand All @@ -14,7 +14,7 @@ object SBT : PackageManager(
return "sbt"
}

override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, ScanResult> {
override fun resolveDependencies(projectDir: File, definitionFiles: List<File>): Map<File, AnalyzerResult> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
9 changes: 4 additions & 5 deletions downloader/src/main/kotlin/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.beust.jcommander.ParameterException

import com.here.ort.model.OutputFormat
import com.here.ort.model.Package
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult
import com.here.ort.util.jsonMapper
import com.here.ort.util.log
import com.here.ort.util.safeMkdirs
Expand Down Expand Up @@ -128,16 +128,15 @@ object Main {

outputDir.safeMkdirs()

val scanResult = mapper.readValue(dependenciesFile, ScanResult::class.java)

val analyzerResult = mapper.readValue(dependenciesFile, AnalyzerResult::class.java)
val packages = mutableListOf<Package>()

if (entities.contains(DataEntity.PROJECT)) {
packages.add(scanResult.project.toPackage())
packages.add(analyzerResult.project.toPackage())
}

if (entities.contains(DataEntity.PACKAGES)) {
packages.addAll(scanResult.packages)
packages.addAll(analyzerResult.packages)
}

packages.forEach { pkg ->
Expand Down
11 changes: 4 additions & 7 deletions graph/src/main/kotlin/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.beust.jcommander.Parameter

import com.here.ort.model.OutputFormat
import com.here.ort.model.PackageReference
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult
import com.here.ort.util.jsonMapper
import com.here.ort.util.log
import com.here.ort.util.yamlMapper
Expand Down Expand Up @@ -87,16 +87,13 @@ object Main {
else -> throw IllegalArgumentException("Provided input file is neither JSON or YAML.")
}

val scanResult = mapper.readValue(dependenciesFile, ScanResult::class.java)

showGraph(scanResult)
showGraph(mapper.readValue(dependenciesFile, AnalyzerResult::class.java))
}

private fun showGraph(scanResult: ScanResult) {
private fun showGraph(analyzerResult: AnalyzerResult) {
System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer")

val project = scanResult.project

val project = analyzerResult.project
val graph = SingleGraph(project.name)

graph.setStrict(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package com.here.ort.model
import java.util.SortedSet

/**
* A class that bundles all information generated during a scan.
* A class that bundles all information generated during an analysis.
*/
data class ScanResult(
data class AnalyzerResult(
/**
* The project that was scanned. The tree of dependencies is implicitly contained in the scopes in the form
* The project that was analyzed. The tree of dependencies is implicitly contained in the scopes in the form
* of package references.
*/
val project: Project,
Expand Down
10 changes: 5 additions & 5 deletions scanner/src/main/kotlin/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import com.beust.jcommander.ParameterException
import com.here.ort.model.OutputFormat
import com.here.ort.model.Package
import com.here.ort.model.Project
import com.here.ort.model.ScanResult
import com.here.ort.model.AnalyzerResult
import com.here.ort.scanner.scanners.ScanCode
import com.here.ort.util.jsonMapper
import com.here.ort.util.log
Expand Down Expand Up @@ -148,18 +148,18 @@ object Main {
"The output directory '${outputDir.absolutePath}' must not exist yet."
}

val scanResult = mapper.readValue(dependenciesFile, ScanResult::class.java)
val analyzerResult = mapper.readValue(dependenciesFile, AnalyzerResult::class.java)

println("Using scanner '$scanner'.")

val packages = mutableListOf(scanResult.project.toPackage())
packages.addAll(scanResult.packages)
val packages = mutableListOf(analyzerResult.project.toPackage())
packages.addAll(analyzerResult.packages)

val summary = mutableMapOf<String, SummaryEntry>()

packages.forEach { pkg ->
val entry = summary.getOrPut(pkg.identifier) { SummaryEntry() }
entry.scopes.addAll(findScopesForPackage(pkg, scanResult.project))
entry.scopes.addAll(findScopesForPackage(pkg, analyzerResult.project))
try {
println("Scanning ${pkg.identifier}")
entry.licenses.addAll(scanner.scan(pkg, outputDir).sorted())
Expand Down

0 comments on commit 2840847

Please sign in to comment.