ParsedDependency.kt
package com.depanalyzer.parser
enum class DependencySection {
DEPENDENCIES,
DEPENDENCY_MANAGEMENT
}
data class ParsedDependency(
val groupId: String,
val artifactId: String,
val version: String?,
val scope: String,
val section: DependencySection,
val ecosystem: Ecosystem = Ecosystem.MAVEN
) {
val coordinateKey: String
get() = "$groupId:$artifactId:$version"
val packageName: String
get() = when (ecosystem) {
Ecosystem.MAVEN -> "$groupId:$artifactId"
Ecosystem.NPM -> if (groupId == "npm") artifactId else "$groupId/$artifactId"
Ecosystem.PYPI -> artifactId
}
}