Skip to content

Commit 6685442

Browse files
authored
Merge pull request #24 from Liftric/feat/update_gradle_plugin_version
feat(dependencies): update dependencies
2 parents c28e82a + 714b575 commit 6685442

File tree

8 files changed

+56
-61
lines changed

8 files changed

+56
-61
lines changed

build.gradle.kts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@ tasks {
5050
}
5151
dockerCompose.isRequiredBy(integrationTestTask)
5252

53-
val pluginPropertiesBuildFolder = file("$buildDir/compileProperties/")
53+
val pluginPropertiesBuildFolder = layout.buildDirectory.dir("compileProperties")
5454
val propertiesTask = register<WriteProperties>("writePluginProperties") {
55-
outputFile = pluginPropertiesBuildFolder.resolve("plugin.properties")
55+
val output = pluginPropertiesBuildFolder.get().file("plugin.properties").asFile
56+
destinationFile = output
5657
property("vendor", "Liftric")
5758
property("name", rootProject.name)
5859
property("version", rootProject.version)
@@ -100,10 +101,12 @@ dependencies {
100101
implementation(libs.cyclonedxGradlePlugin)
101102

102103
testImplementation(libs.junitJupiter)
104+
testImplementation(libs.junitPlatform)
103105

104106
"integrationTestImplementation"(gradleTestKit())
105107
"integrationTestImplementation"(libs.cyclonedxCoreJava)
106108
"integrationTestImplementation"(libs.junitJupiter)
109+
"integrationTestImplementation"(libs.junitPlatform)
107110
"integrationTestImplementation"(libs.ktorClientCio)
108111
"integrationTestImplementation"(libs.ktorClientContentNegotiation)
109112
"integrationTestImplementation"(libs.ktorSerializationKotlinxJson)

gradle/libs.versions.toml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[versions]
2+
cyclonedx-core-java = "11.0.1"
3+
cyclonedx-gradle-plugin = "3.1.0"
4+
junit = "6.0.1"
5+
kotlin = "2.2.21"
6+
ktor = "3.3.3"
7+
versioning = "3.1.0"
8+
dockerCompose = "0.17.12"
9+
gradlePluginPublish = "2.0.0"
10+
11+
[plugins]
12+
versioning = { id = "net.nemerosa.versioning", version.ref = "versioning" }
13+
dockerCompose = { id = "com.avast.gradle.docker-compose", version.ref = "dockerCompose" }
14+
kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
15+
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
16+
gradlePluginPublish = { id = "com.gradle.plugin-publish", version.ref = "gradlePluginPublish" }
17+
18+
[libraries]
19+
cyclonedxCoreJava = { module = "org.cyclonedx:cyclonedx-core-java", version.ref = "cyclonedx-core-java" }
20+
cyclonedxGradlePlugin = { module = "org.cyclonedx:cyclonedx-gradle-plugin", version.ref = "cyclonedx-gradle-plugin" }
21+
kotlinBom = { module = "org.jetbrains.kotlin:kotlin-bom", version.ref = "kotlin" }
22+
kotlinReflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
23+
kotlinStdlibJdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
24+
ktorClientCio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
25+
ktorClientCore = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
26+
ktorClientJson = { module = "io.ktor:ktor-client-json", version.ref = "ktor" }
27+
ktorClientSerialization = { module = "io.ktor:ktor-client-serialization", version.ref = "ktor" }
28+
ktorClientContentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
29+
ktorSerializationKotlinxJson = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
30+
junitJupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
31+
junitPlatform = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit" }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

settings.gradle.kts

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1 @@
11
rootProject.name = "dependency-track-companion-plugin"
2-
3-
pluginManagement {
4-
dependencyResolutionManagement {
5-
versionCatalogs {
6-
create("libs") {
7-
version("kotlin", "1.9.25")
8-
version("ktor", "2.3.12")
9-
version("cyclonedx-core-java", "10.1.0")
10-
version("cyclonedx-gradle-plugin", "2.1.0")
11-
version("junit-bom", "5.10.3")
12-
13-
plugin("versioning", "net.nemerosa.versioning").version("3.1.0")
14-
plugin("dockerCompose", "com.avast.gradle.docker-compose").version("0.17.7")
15-
plugin("kotlinJvm", "org.jetbrains.kotlin.jvm").versionRef("kotlin")
16-
plugin("kotlinSerialization", "org.jetbrains.kotlin.plugin.serialization").versionRef("kotlin")
17-
plugin("gradlePluginPublish", "com.gradle.plugin-publish").version("1.2.1")
18-
19-
library("kotlinStdlibJdk8", "org.jetbrains.kotlin", "kotlin-stdlib-jdk8").versionRef("kotlin")
20-
library("cyclonedxCoreJava", "org.cyclonedx", "cyclonedx-core-java").versionRef("cyclonedx-core-java")
21-
library("cyclonedxGradlePlugin", "org.cyclonedx", "cyclonedx-gradle-plugin").versionRef("cyclonedx-gradle-plugin")
22-
library("kotlinBom", "org.jetbrains.kotlin", "kotlin-bom").versionRef("kotlin")
23-
library("ktorClientCio", "io.ktor", "ktor-client-cio").versionRef("ktor")
24-
library("ktorClientCore", "io.ktor", "ktor-client-core").versionRef("ktor")
25-
library("ktorClientJson", "io.ktor", "ktor-client-json").versionRef("ktor")
26-
library("ktorClientSerialization", "io.ktor", "ktor-client-serialization").versionRef("ktor")
27-
library(
28-
"ktorClientContentNegotiation",
29-
"io.ktor",
30-
"ktor-client-content-negotiation"
31-
).versionRef("ktor")
32-
library(
33-
"ktorSerializationKotlinxJson",
34-
"io.ktor",
35-
"ktor-serialization-kotlinx-json"
36-
).versionRef("ktor")
37-
library("kotlinReflect", "org.jetbrains.kotlin", "kotlin-reflect").versionRef("kotlin")
38-
library("junitBom", "org.junit", "junit-bom").versionRef("junit-bom")
39-
library("junitJupiter", "org.junit.jupiter", "junit-jupiter").versionRef("junit-bom")
40-
}
41-
}
42-
}
43-
}

src/integrationTest/kotlin/com/liftric/dtcp/GenerateVexTest.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ import org.junit.jupiter.api.Assertions.assertNotNull
88
import org.junit.jupiter.api.Assertions.assertEquals
99
import org.junit.jupiter.api.Test
1010
import java.io.File
11-
import java.nio.file.Files
12-
import java.nio.file.Paths
13-
import java.nio.file.StandardCopyOption
1411
import org.cyclonedx.parsers.JsonParser
1512

1613
class GenerateVexTest: IntegrationTestBase() {
@@ -62,7 +59,7 @@ dependencyTrackCompanion {
6259
.withArguments("build", "generateVex")
6360
.withPluginClasspath().build()
6461

65-
val generatedVexFile = projectDir.resolve("build/reports/vex.json")
62+
val generatedVexFile = projectDir.resolve("build/reports/cyclonedx/vex.json")
6663
assertTrue(generatedVexFile.exists())
6764
assertTrue(JsonParser().isValid(generatedVexFile))
6865

src/main/kotlin/com/liftric/dtcp/DepTrackCompanionPlugin.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ class DepTrackCompanionPlugin : Plugin<Project> {
1515
project.extensions.create(extensionName, DepTrackCompanionExtension::class.java, project)
1616

1717
extension.inputFile.convention(
18-
project.layout.buildDirectory.file("reports/bom.json")
18+
project.layout.buildDirectory.file("reports/cyclonedx/bom.json")
1919
)
2020
extension.outputFile.convention(
21-
project.layout.buildDirectory.file("reports/vex.json")
21+
project.layout.buildDirectory.file("reports/cyclonedx/vex.json")
2222
)
2323
extension.autoCreate.convention(false)
2424

@@ -38,7 +38,7 @@ class DepTrackCompanionPlugin : Plugin<Project> {
3838

3939
val generateSbom = project.tasks.register("generateSbom") { task ->
4040
task.group = taskGroup
41-
task.description = "Generate SBOM file"
41+
task.description = "Generate aggregated SBOM file"
4242
task.dependsOn("cyclonedxBom")
4343
}
4444

src/main/kotlin/com/liftric/dtcp/tasks/GenerateVexTask.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import java.io.File
1313
import java.nio.file.Files
1414
import java.nio.file.Paths
1515
import org.cyclonedx.model.*
16+
import org.cyclonedx.model.metadata.ToolInformation
1617
import org.gradle.api.DefaultTask
1718
import org.gradle.api.file.RegularFileProperty
1819
import org.gradle.api.provider.ListProperty
1920
import org.gradle.api.tasks.*
2021
import java.util.*
2122

22-
2323
abstract class GenerateVexTask : DefaultTask() {
2424
@get:InputFile
2525
abstract val inputFile: RegularFileProperty
@@ -36,7 +36,7 @@ abstract class GenerateVexTask : DefaultTask() {
3636
private val vexFile = Bom()
3737

3838
@TaskAction
39-
fun generateCyclonDXVex() {
39+
fun generateCycloneDXVex() {
4040
val inputFileValue = inputFile.get().asFile
4141
val outputFileValue = outputFile.get().asFile
4242
val vexComponentList = vexComponent.get().map { it.build() }
@@ -81,12 +81,17 @@ abstract class GenerateVexTask : DefaultTask() {
8181
vexFile.metadata = Metadata()
8282
vexFile.metadata.timestamp = Date()
8383
vexFile.metadata.component = sbom.metadata.component ?: Component()
84-
val pluginData = Tool().apply {
85-
vendor = props.getProperty("vendor")
84+
val pluginData = Component().apply {
85+
manufacturer = OrganizationalEntity().apply {
86+
name = props.getProperty("vendor")
87+
}
8688
name = props.getProperty("name")
8789
version = props.getProperty("version")
90+
type = Component.Type.LIBRARY
91+
}
92+
vexFile.metadata.toolChoice = ToolInformation().apply {
93+
components = listOf(pluginData)
8894
}
89-
vexFile.metadata.tools = listOf(pluginData)
9095
}
9196

9297
private fun readPluginProperties(): Properties {

src/main/kotlin/com/liftric/dtcp/tasks/GetOutdatedDependenciesTask.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,7 @@ abstract class GetOutdatedDependenciesTask : DefaultTask() {
5959
throw GradleException("Project does not have direct dependencies")
6060
}
6161

62-
val directDependencies = Json {
63-
ignoreUnknownKeys = true
64-
}.decodeFromString<List<DirectDependency>>(project.directDependencies)
65-
62+
val directDependencies = json.decodeFromString<List<DirectDependency>>(project.directDependencies)
6663

6764
// Component API is currently limited to 100 results per request
6865
var offset = 0
@@ -97,4 +94,8 @@ abstract class GetOutdatedDependenciesTask : DefaultTask() {
9794
val reset = "\u001b[0m"
9895
println("${purl}: $red${version}$reset -> $green${latestVersion}$reset")
9996
}
97+
98+
private val json = Json {
99+
ignoreUnknownKeys = true
100+
}
100101
}

0 commit comments

Comments
 (0)