in ruler-gradle-plugin/src/main/kotlin/com/spotify/ruler/plugin/dependency/EntryParser.kt [66:94]
override fun transform(artifacts: Collection<ResolvedArtifactResult>): List<DependencyEntry> {
return artifacts.flatMap { artifactResult ->
val artifactFiles = artifactResult.file.walkTopDown().filter(File::isFile)
val component = getComponentIdentifier(artifactResult)
if (isJarOrClass) {
artifactFiles.map { artifactFile ->
when (artifactFile.extension.lowercase()) {
"jar" -> ArtifactResult.JarArtifact(artifactFile, component)
"class" -> ArtifactResult.ClassArtifact(
artifactFile,
artifactResult.file,
component,
)
// in case there are files we don't recognize on the classpath,
// fallback to a default artifact
else -> ArtifactResult.DefaultArtifact(
artifactFile,
artifactResult.file,
component,
)
}
}
} else {
artifactFiles.map { artifactFile ->
ArtifactResult.DefaultArtifact(artifactFile, artifactResult.file, component)
}
}
}.run(parser::parse)
}