diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63f38cc53..20f0475d1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,7 +50,7 @@ jobs: docker push ghcr.io/fraunhofer-aisec/codyze:latest - name: Create Release if: startsWith(github.ref, 'refs/tags/v') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: name: ${{ env.version }} generate_release_notes: true diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 21e2016bd..bf2f96fbc 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,24 +11,26 @@ jobs: contents: write steps: - uses: actions/checkout@v4 + # Ensure Java installation to run Gradle + - uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: 17 + - name: 'Setup Gradle' + uses: gradle/actions/setup-gradle@v3 + - name: 'Build API pages' + run: | + ./gradlew dokkaHtmlMultiModule \ + -Dorg.gradle.internal.repository.max.tentatives=5 \ + -Dorg.gradle.internal.repository.initial.backoff=10000 - uses: actions/setup-python@v5 with: python-version: '3.x' - - uses: actions/cache@v4 - with: - key: ${{ github.ref }} - path: .cache + cache: 'pip' + cache-dependency-path: './docs/mkdocs-material-plugins.txt' - name: 'Install mkdocs-material and plugins' run: | python -m pip install mkdocs-material python -m pip install -r ./docs/mkdocs-material-plugins.txt - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - - name: 'Build API pages' - run: | - ./gradlew - dokkaHtmlMultiModule - -Dorg.gradle.internal.repository.max.tentatives=5 - -Dorg.gradle.internal.repository.initial.backoff=10000 - name: 'Build & deploy docs' run: mkdocs gh-deploy --force diff --git a/build.gradle.kts b/build.gradle.kts index 6e23712e4..1151e976d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -47,7 +47,7 @@ val projectProps by tasks.registering(WriteProperties::class) { description = "Write project properties in a file." // Set output file to build/project.properties - outputFile = file("$buildDir/codyze.properties") + destinationFile = layout.buildDirectory.file("codyze.properties") // Default encoding is ISO-8559-1, here we change it. encoding = "UTF-8" // Optionally we can specify the header comment. @@ -62,7 +62,7 @@ val projectProps by tasks.registering(WriteProperties::class) { } } -// configure detekt to combine the results of all submodules into a single sarif file -> for github code scanning +// configure detekt to combine the results of all submodules into a single sarif file -> for GitHub code scanning val detektReportMergeSarif by tasks.registering(ReportMergeTask::class) { output.set(rootProject.layout.buildDirectory.file("reports/detekt/detekt.sarif")) } diff --git a/buildSrc/src/main/kotlin/module.gradle.kts b/buildSrc/src/main/kotlin/module.gradle.kts index db8c34f0e..25c56ca3e 100644 --- a/buildSrc/src/main/kotlin/module.gradle.kts +++ b/buildSrc/src/main/kotlin/module.gradle.kts @@ -17,6 +17,7 @@ dependencies { // Unit tests testImplementation(kotlin("test")) testImplementation(libs.junit.params) + testRuntimeOnly("org.junit.platform:junit-platform-launcher") } repositories { @@ -37,7 +38,7 @@ repositories { // Eclipse CDT repo --> needed for CPG ivy { - setUrl("https://download.eclipse.org/tools/cdt/releases/11.0/cdt-11.0.0/plugins") + setUrl("https://download.eclipse.org/tools/cdt/releases/11.3/cdt-11.3.1/plugins") metadataSources { artifact() } diff --git a/code-coverage-report/build.gradle.kts b/code-coverage-report/build.gradle.kts index 6f91aead0..3014252e9 100644 --- a/code-coverage-report/build.gradle.kts +++ b/code-coverage-report/build.gradle.kts @@ -10,7 +10,7 @@ repositories { // Eclipse CDT repo --> needed when adding the CPG as an included build ivy { - setUrl("https://download.eclipse.org/tools/cdt/releases/11.0/cdt-11.0.0/plugins") + setUrl("https://download.eclipse.org/tools/cdt/releases/11.3/cdt-11.3.1/plugins") metadataSources { artifact() } diff --git a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGBackend.kt b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGBackend.kt index b57f52d64..8f37c367b 100644 --- a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGBackend.kt +++ b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGBackend.kt @@ -67,7 +67,6 @@ open class CPGBackend(config: BackendConfiguration) : Backend { .processAnnotations(processAnnotations) .failOnError(failOnError) .useParallelFrontends(useParallelFrontends) - .typeSystemActiveInFrontend(typeSystemActiveInFrontend) .sourceLocations(source.map { (it.toFile()) }) .symbols(symbols) .useUnityBuild(useUnityBuild) diff --git a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfiguration.kt b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfiguration.kt index 2621ab588..d7780e252 100644 --- a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfiguration.kt +++ b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfiguration.kt @@ -34,7 +34,6 @@ private val logger = KotlinLogging.logger {} data class CPGConfiguration( val source: List, val useUnityBuild: Boolean, - val typeSystemActiveInFrontend: Boolean, val debugParser: Boolean, val disableCleanup: Boolean, val codeInNodes: Boolean, diff --git a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGOptionGroup.kt b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGOptionGroup.kt index 3a8c9552c..c77aa418b 100644 --- a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGOptionGroup.kt +++ b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGOptionGroup.kt @@ -82,17 +82,6 @@ class CPGOptionGroup : BackendOptions(helpName = "CPG Backend Options") { help = "Enables unity builds (C++ only) for files in the path." ) .flag("--no-unity", "--disable-unity", default = false) - val typeSystemActiveInFrontend: Boolean by option( - "--type-system-in-frontend", - help = "If deactivated, the type listener system starts after the frontends " + - "are done building the initial AST structure." - ) - .flag( - "--no-type-system-in-frontend", - "--disable-type-system-in-frontend", - default = true, - defaultForHelp = "enable" - ) val debugParser: Boolean by option("--debug-parser", help = "Generate debug output for the cpg parser.") .flag("--no-debug-parser", default = false) val disableCleanup: Boolean by option( diff --git a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/BaseCpgBackend.kt b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/BaseCpgBackend.kt index f9bfc5739..c082e65e0 100644 --- a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/BaseCpgBackend.kt +++ b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/BaseCpgBackend.kt @@ -33,7 +33,6 @@ class BaseCpgBackend : BackendCommand("cpg") { CPGConfiguration( source = source, useUnityBuild = useUnityBuild, - typeSystemActiveInFrontend = typeSystemActiveInFrontend, debugParser = debugParser, disableCleanup = disableCleanup, codeInNodes = codeInNodes, diff --git a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/CokoCpgBackend.kt b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/CokoCpgBackend.kt index f755db75c..b86ea74f6 100644 --- a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/CokoCpgBackend.kt +++ b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/cli/CokoCpgBackend.kt @@ -34,7 +34,6 @@ class CokoCpgBackend : BackendCommand("cokoCpg") { CPGConfiguration( source = source, useUnityBuild = useUnityBuild, - typeSystemActiveInFrontend = typeSystemActiveInFrontend, debugParser = debugParser, disableCleanup = disableCleanup, codeInNodes = codeInNodes, diff --git a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/coko/evaluators/OrderEvaluator.kt b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/coko/evaluators/OrderEvaluator.kt index 1461ed47f..c85abf253 100644 --- a/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/coko/evaluators/OrderEvaluator.kt +++ b/codyze-backends/cpg/src/main/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/coko/evaluators/OrderEvaluator.kt @@ -30,7 +30,7 @@ import de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl.Order import de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering.* import de.fraunhofer.aisec.cpg.graph.* import de.fraunhofer.aisec.cpg.graph.declarations.VariableDeclaration -import de.fraunhofer.aisec.cpg.graph.statements.expressions.DeclaredReferenceExpression +import de.fraunhofer.aisec.cpg.graph.statements.expressions.Reference import io.github.oshai.kotlinlogging.KotlinLogging import kotlin.reflect.full.createType import kotlin.reflect.full.declaredMemberFunctions @@ -116,7 +116,7 @@ class OrderEvaluator(val baseNodes: Collection, val order: Order) : Evalua val usedBases = syntaxTree.filterIsInstanceToList().map { it.baseName }.toSet() if (usedBases.size > 1) { - logger.warn("Order statement contains more than one base. Not supported.") + logger.warn { "Order statement contains more than one base. Not supported." } return emptySet() } @@ -164,7 +164,7 @@ class OrderEvaluator(val baseNodes: Collection, val order: Order) : Evalua nodeToRelevantMethod = nodesToOp, consideredBases = baseNodes.flatMap { node -> node.followNextDFGEdgesUntilHit { next -> - next is VariableDeclaration || next is DeclaredReferenceExpression + next is VariableDeclaration || next is Reference }.fulfilled.mapNotNull { path -> path.lastOrNull() } diff --git a/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfigurationTest.kt b/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfigurationTest.kt index d3563cde2..65553f2fc 100644 --- a/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfigurationTest.kt +++ b/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CPGConfigurationTest.kt @@ -25,7 +25,6 @@ class CPGConfigurationTest { val expectedCpgConfiguration = CPGConfiguration( source = listOf(), useUnityBuild = true, - typeSystemActiveInFrontend = false, debugParser = false, disableCleanup = false, codeInNodes = true, @@ -46,7 +45,6 @@ class CPGConfigurationTest { val cpgConfiguration = CPGConfiguration( source = listOf(), useUnityBuild = true, - typeSystemActiveInFrontend = false, debugParser = false, disableCleanup = false, codeInNodes = true, @@ -74,7 +72,6 @@ class CPGConfigurationTest { val expectedCpgConfiguration = CPGConfiguration( source = listOf(), useUnityBuild = false, - typeSystemActiveInFrontend = false, debugParser = false, disableCleanup = false, codeInNodes = true, diff --git a/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CpgOptionGroupTest.kt b/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CpgOptionGroupTest.kt index 0f3fa74df..7ebfdfbea 100644 --- a/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CpgOptionGroupTest.kt +++ b/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/CpgOptionGroupTest.kt @@ -20,10 +20,7 @@ import com.github.ajalt.clikt.core.MultiUsageError import com.github.ajalt.clikt.core.NoOpCliktCommand import com.github.ajalt.clikt.parameters.groups.provideDelegate import de.fraunhofer.aisec.codyze.core.config.combineSources -import de.fraunhofer.aisec.cpg.passes.CallResolver -import de.fraunhofer.aisec.cpg.passes.EdgeCachePass -import de.fraunhofer.aisec.cpg.passes.FilenameMapper -import de.fraunhofer.aisec.cpg.passes.Pass +import de.fraunhofer.aisec.cpg.passes.* import io.github.oshai.kotlinlogging.KotlinLogging import org.junit.jupiter.api.* import org.junit.jupiter.api.Test @@ -86,7 +83,7 @@ class CpgOptionGroupTest { fun passesTest() { val edgeCachePassName = EdgeCachePass::class.qualifiedName val filenameMapperName = FilenameMapper::class.qualifiedName - val callResolverName = CallResolver::class.qualifiedName + val callResolverName = SymbolResolver::class.qualifiedName assertNotNull(edgeCachePassName) assertNotNull(filenameMapperName) assertNotNull(callResolverName) @@ -106,7 +103,7 @@ class CpgOptionGroupTest { ) val expectedPassesNames = - listOf(EdgeCachePass::class, FilenameMapper::class, CallResolver::class).map { p -> + listOf(EdgeCachePass::class, FilenameMapper::class, SymbolResolver::class).map { p -> p.qualifiedName } val actualPassesNames = cli.cpgOptions.passes.map { p -> p.qualifiedName } diff --git a/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/TestUtils.kt b/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/TestUtils.kt index a3cea8180..32e22d705 100644 --- a/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/TestUtils.kt +++ b/codyze-backends/cpg/src/test/kotlin/de/fraunhofer/aisec/codyze/backends/cpg/TestUtils.kt @@ -25,7 +25,6 @@ fun createCpgConfiguration(vararg sourceFile: Path) = CPGConfiguration( source = listOf(*sourceFile), useUnityBuild = false, - typeSystemActiveInFrontend = true, debugParser = false, disableCleanup = false, codeInNodes = true, diff --git a/codyze-core/src/main/kotlin/de/fraunhofer/aisec/codyze/core/VersionProvider.kt b/codyze-core/src/main/kotlin/de/fraunhofer/aisec/codyze/core/VersionProvider.kt index 95d1879c7..09af745a3 100644 --- a/codyze-core/src/main/kotlin/de/fraunhofer/aisec/codyze/core/VersionProvider.kt +++ b/codyze-core/src/main/kotlin/de/fraunhofer/aisec/codyze/core/VersionProvider.kt @@ -37,7 +37,7 @@ object VersionProvider { if ( !props.containsKey("project.name") || props.getProperty("project.name").lowercase() != "codyze" ) { - logger.warn("Could not find correct version properties file") + logger.warn { "Could not find correct version properties file" } props.clear() } } diff --git a/codyze-core/src/test/kotlin/de/fraunhofer/aisec/codyze/core/VersionProviderTest.kt b/codyze-core/src/test/kotlin/de/fraunhofer/aisec/codyze/core/VersionProviderTest.kt new file mode 100644 index 000000000..5af5d0bf0 --- /dev/null +++ b/codyze-core/src/test/kotlin/de/fraunhofer/aisec/codyze/core/VersionProviderTest.kt @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2024, Fraunhofer AISEC. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package de.fraunhofer.aisec.codyze.core + +import org.junit.jupiter.api.Test +import java.io.FileOutputStream +import java.util.Properties +import kotlin.test.assertEquals + +class VersionProviderTest { + + @Test + fun `test initialisation from properties file with incorrect project name`() { + val properties = Properties() + + /* get the property file and load it; we want to fail if we can't find the property file to begin with */ + val propFile = VersionProvider::class.java.classLoader.getResource("codyze.properties")!! + propFile.openStream().use { + properties.load(it) + } + + // change property s.t. internal check fails + val oldValue = properties.setProperty("project.name", "test") as String + FileOutputStream(propFile.file).use { + properties.store(it, null) + } + + // instantiate `VersionProvider` with altered properties -> properties in VersionProvider should now be empty + val vp = VersionProvider + + // check empty properties through reflection + val vpProps = vp.javaClass.getDeclaredField("props") + .also { it.trySetAccessible() } + .let { it.get(vp) as Properties } + assertEquals(vpProps.size, 0) + + // restore original properties file + properties.setProperty("project.name", oldValue) + FileOutputStream(propFile.file).use { + properties.store(it, null) + } + } +} diff --git a/codyze-specification-languages/coko/coko-dsl/src/test/kotlin/de/fraunhofer/aisec/codyze/specificationLanguages/coko/dsl/CokoCpgIntegrationTest.kt b/codyze-specification-languages/coko/coko-dsl/src/test/kotlin/de/fraunhofer/aisec/codyze/specificationLanguages/coko/dsl/CokoCpgIntegrationTest.kt index 0f710d243..10a603410 100644 --- a/codyze-specification-languages/coko/coko-dsl/src/test/kotlin/de/fraunhofer/aisec/codyze/specificationLanguages/coko/dsl/CokoCpgIntegrationTest.kt +++ b/codyze-specification-languages/coko/coko-dsl/src/test/kotlin/de/fraunhofer/aisec/codyze/specificationLanguages/coko/dsl/CokoCpgIntegrationTest.kt @@ -45,7 +45,6 @@ class CokoCpgIntegrationTest { CPGConfiguration( source = sourceFiles, useUnityBuild = false, - typeSystemActiveInFrontend = true, debugParser = false, disableCleanup = false, codeInNodes = true, diff --git a/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.mod b/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.mod index ccedbe1fe..16cae6d6a 100644 --- a/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.mod +++ b/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.mod @@ -13,6 +13,6 @@ require ( github.com/jinzhu/now v1.1.5 // indirect github.com/mattn/go-sqlite3 v1.14.14 // indirect github.com/pkg/errors v0.9.1 // indirect - golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd // indirect + golang.org/x/crypto v0.17.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect ) diff --git a/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.sum b/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.sum index 905ec12d8..2fbbb2aa1 100644 --- a/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.sum +++ b/codyze-specification-languages/coko/coko-dsl/src/test/resources/golang/go.sum @@ -14,8 +14,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= -golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd h1:XcWmESyNjXJMLahc3mqVQJcgSTDxFxhETVlfk9uGc38= -golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8d8254d32..ba670724e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] -kotlin = "1.9.22" -cpg = "7.1.2" +kotlin = "1.9.23" +cpg = "8.1.2" koin = "3.5.3" koin-test = "3.5.3" detekt = "1.23.5" spotless = "6.25.0" -dokka = "1.9.10" +dokka = "1.9.20" [libraries] sarif4k = { module = "io.github.detekt.sarif4k:sarif4k", version = "0.5.0"} # The code can be found here: https://github.com/detekt/sarif4k. It was generated using https://app.quicktype.io/ -kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.6.2"} +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.6.3"} kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin"} # CPG official releases @@ -29,7 +29,7 @@ cpg-language-java = { module = "de.fraunhofer.aisec:cpg-language-java", version. #cpg-language-go = { module = "com.github.Fraunhofer-AISEC.cpg:cpg-language-go", version.ref = "cpg"} kotlin-logging = { module = "io.github.oshai:kotlin-logging-jvm", version = "6.0.3" } -log4j-impl = { module = "org.apache.logging.log4j:log4j-slf4j2-impl", version = "2.22.1"} +log4j-impl = { module = "org.apache.logging.log4j:log4j-slf4j2-impl", version = "2.23.1"} clikt = { module = "com.github.ajalt.clikt:clikt", version = "4.2.2"} koin = { module = "io.insert-koin:koin-core", version.ref = "koin"} koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin-test"} @@ -42,7 +42,7 @@ detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", # test junit-params = { module = "org.junit.jupiter:junit-jupiter-params", version = "5.10.2"} -mockk = { module = "io.mockk:mockk", version = "1.13.9"} +mockk = { module = "io.mockk:mockk", version = "1.13.10"} # this is necessary for the plugins to be used in the buildSrc folder kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd4917..e6441136f 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22ce5..b82aa23a4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew.bat b/gradlew.bat index 6689b85be..7101f8e46 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail