diff --git a/common/build.gradle b/common/build.gradle index 856257c99..5542c8145 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -12,8 +12,8 @@ version "${file("VERSION").text.trim()}" // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 buildscript { repositories { @@ -52,12 +52,12 @@ tasks.withType(JavaCompile) { task javadocJar(type: Jar) { from javadoc - classifier = 'javadoc' + archiveClassifier = 'javadoc' } task sourcesJar(type: Jar) { from sourceSets.main.allJava - classifier = 'sources' + archiveClassifier = 'sources' } artifacts { diff --git a/common/gradle/wrapper/gradle-wrapper.properties b/common/gradle/wrapper/gradle-wrapper.properties index aa991fcea..e2847c820 100644 --- a/common/gradle/wrapper/gradle-wrapper.properties +++ b/common/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParser.java b/common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParser.java index 37f81c123..c43fe2bb6 100644 --- a/common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParser.java +++ b/common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParser.java @@ -5,7 +5,15 @@ import com.ibm.guardium.universalconnector.commons.custom_parsing.excepton.InvalidConfigurationException; import com.ibm.guardium.universalconnector.commons.custom_parsing.parsers.IParser; import com.ibm.guardium.universalconnector.commons.structures.Record; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/common/src/test/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParserTest.java b/common/src/test/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParserTest.java index fd0505c66..6dfadb9ce 100644 --- a/common/src/test/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParserTest.java +++ b/common/src/test/java/com/ibm/guardium/universalconnector/commons/custom_parsing/CustomParserTest.java @@ -3,7 +3,15 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.ibm.guardium.universalconnector.commons.custom_parsing.excepton.InvalidConfigurationException; import com.ibm.guardium.universalconnector.commons.structures.Record; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.BeforeClass; import org.junit.Test; diff --git a/docs/template-logstash-filter-guardium/build.gradle b/docs/template-logstash-filter-guardium/build.gradle index ad5bdbb79..ba1093354 100644 --- a/docs/template-logstash-filter-guardium/build.gradle +++ b/docs/template-logstash-filter-guardium/build.gradle @@ -2,7 +2,14 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + + apply plugin: 'jacoco' + + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,8 +28,8 @@ pluginInfo.pluginClass = "[YourFilterClass]" // e.g., "MongoDbGuardiumFilter pluginInfo.pluginName = "[your_filter_name]" // e.g., "mongodb_guardium_filter" - must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 buildscript { repositories { @@ -34,13 +41,11 @@ buildscript { } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' } } -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -58,7 +63,7 @@ task copyDependencyLibs(type: Copy) { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } @@ -140,8 +145,8 @@ tasks.register("gem"){ jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/docs/template-logstash-filter-guardium/gradle/wrapper/gradle-wrapper.properties b/docs/template-logstash-filter-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/docs/template-logstash-filter-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/docs/template-logstash-filter-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-adabas-guardium/build.gradle b/filter-plugin/logstash-filter-adabas-guardium/build.gradle index c770740f9..7e68b808c 100644 --- a/filter-plugin/logstash-filter-adabas-guardium/build.gradle +++ b/filter-plugin/logstash-filter-adabas-guardium/build.gradle @@ -18,6 +18,11 @@ ext { shadowGradlePluginVersion = '8.1.1' } +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== diff --git a/filter-plugin/logstash-filter-alloydb-guardium/build.gradle b/filter-plugin/logstash-filter-alloydb-guardium/build.gradle index 2df83df2a..77a28dfc3 100644 --- a/filter-plugin/logstash-filter-alloydb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-alloydb-guardium/build.gradle @@ -3,6 +3,32 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' apply plugin: 'jacoco' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } + + ext { + snakeYamlVersion = '2.2' + } +} + + +def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" apply plugin: "eclipse" @@ -24,10 +50,10 @@ pluginInfo.pluginClass = "AlloyDBGuardiumFilter" pluginInfo.pluginName = "alloydb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -35,30 +61,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } - - ext { - snakeYamlVersion = '2.2' - } -} - - -def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) - repositories { mavenCentral() @@ -72,14 +74,13 @@ tasks.register("vendor") { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -158,17 +159,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-alloydb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-alloydb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-alloydb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-alloydb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-alloydb-guardium/src/main/java/com/ibm/guardium/alloydb/Parser.java b/filter-plugin/logstash-filter-alloydb-guardium/src/main/java/com/ibm/guardium/alloydb/Parser.java index fb0cd050e..79b30dafc 100644 --- a/filter-plugin/logstash-filter-alloydb-guardium/src/main/java/com/ibm/guardium/alloydb/Parser.java +++ b/filter-plugin/logstash-filter-alloydb-guardium/src/main/java/com/ibm/guardium/alloydb/Parser.java @@ -13,7 +13,15 @@ import static com.ibm.guardium.universalconnector.commons.custom_parsing.PropertyConstant.*; import com.ibm.guardium.universalconnector.commons.custom_parsing.SqlParser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-aurora-mysql-guardium/build.gradle b/filter-plugin/logstash-filter-aurora-mysql-guardium/build.gradle index 5f1c6dedf..a8b55d8e5 100644 --- a/filter-plugin/logstash-filter-aurora-mysql-guardium/build.gradle +++ b/filter-plugin/logstash-filter-aurora-mysql-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "AuroraMysqlGuardiumPluginFilter" pluginInfo.pluginName = "auroramysqlguardiumpluginfilter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -103,6 +105,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { doLast { generateRubySupportFilesForPlugin(project.description, project.group, version) @@ -145,17 +158,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-aurora-mysql-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-aurora-mysql-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-aurora-mysql-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-aurora-mysql-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/AuroraMysqlGuardiumPluginFilter.java b/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/AuroraMysqlGuardiumPluginFilter.java index 047edd91f..11d574e88 100644 --- a/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/AuroraMysqlGuardiumPluginFilter.java +++ b/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/AuroraMysqlGuardiumPluginFilter.java @@ -9,7 +9,15 @@ import co.elastic.logstash.api.PluginConfigSpec; import com.google.gson.*; import com.ibm.guardium.universalconnector.commons.GuardConstants; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/Parser.java b/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/Parser.java index 827d1f173..a895696cb 100644 --- a/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/Parser.java +++ b/filter-plugin/logstash-filter-aurora-mysql-guardium/src/main/java/com/ibm/guardium/auroramysql/Parser.java @@ -1,7 +1,15 @@ package com.ibm.guardium.auroramysql; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-aurora-mysql-guardium/src/test/java/com/ibm/guardium/auroramysql/ParserTest.java b/filter-plugin/logstash-filter-aurora-mysql-guardium/src/test/java/com/ibm/guardium/auroramysql/ParserTest.java index 81f74a152..972a3a409 100644 --- a/filter-plugin/logstash-filter-aurora-mysql-guardium/src/test/java/com/ibm/guardium/auroramysql/ParserTest.java +++ b/filter-plugin/logstash-filter-aurora-mysql-guardium/src/test/java/com/ibm/guardium/auroramysql/ParserTest.java @@ -8,7 +8,15 @@ import com.google.gson.JsonObject; import com.ibm.guardium.auroramysql.Constants; import com.ibm.guardium.auroramysql.Parser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.junit.Assert; diff --git a/filter-plugin/logstash-filter-azure-apachesolr-guardium/build.gradle b/filter-plugin/logstash-filter-azure-apachesolr-guardium/build.gradle index 27860b034..20916dda2 100644 --- a/filter-plugin/logstash-filter-azure-apachesolr-guardium/build.gradle +++ b/filter-plugin/logstash-filter-azure-apachesolr-guardium/build.gradle @@ -2,6 +2,28 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,10 +43,10 @@ pluginInfo.pluginName = "apache_solr_azure_connector" // must match the @Lo // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,25 +54,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -65,14 +68,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -106,6 +108,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -148,17 +161,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-azure-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-azure-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-azure-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-azure-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-azure-postgresql-guardium/build.gradle b/filter-plugin/logstash-filter-azure-postgresql-guardium/build.gradle index 38e397f09..2659af4bc 100644 --- a/filter-plugin/logstash-filter-azure-postgresql-guardium/build.gradle +++ b/filter-plugin/logstash-filter-azure-postgresql-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,10 +42,10 @@ pluginInfo.pluginName = "azure_postgresql_guardium_plugin_filter" // must m // ===========================================================================shPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -64,14 +67,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -103,6 +105,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -145,17 +158,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-azure-postgresql-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-azure-postgresql-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-azure-postgresql-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-azure-postgresql-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-azure-sql-guardium/build.gradle b/filter-plugin/logstash-filter-azure-sql-guardium/build.gradle index 5479d4d22..0cfa9a98b 100644 --- a/filter-plugin/logstash-filter-azure-sql-guardium/build.gradle +++ b/filter-plugin/logstash-filter-azure-sql-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,10 +42,10 @@ pluginInfo.pluginName = "azuresql_guardium_plugin_filter" // must match the // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -102,6 +104,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -144,17 +157,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-azure-sql-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-azure-sql-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-azure-sql-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-azure-sql-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-capella-guardium/build.gradle b/filter-plugin/logstash-filter-capella-guardium/build.gradle index e6b32aaca..391550752 100644 --- a/filter-plugin/logstash-filter-capella-guardium/build.gradle +++ b/filter-plugin/logstash-filter-capella-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" @@ -26,36 +47,18 @@ pluginInfo.pluginClass = "CapellaGuardiumFilter" pluginInfo.pluginName = "capella_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { minimumCoverageStr = minimumCoverageStr.substring(0, minimumCoverageStr.length() - 1) } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - repositories { mavenCentral() } @@ -68,12 +71,11 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } shadowJar { - classifier = null + archiveClassifier = null } @@ -151,18 +153,17 @@ tasks.register("copyDependencyLibs", Copy){ // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-capella-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-capella-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-capella-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-capella-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-capella-guardium/src/main/java/com/ibm/guardium/capella/Parser.java b/filter-plugin/logstash-filter-capella-guardium/src/main/java/com/ibm/guardium/capella/Parser.java index b62ad01ec..4573a0a64 100644 --- a/filter-plugin/logstash-filter-capella-guardium/src/main/java/com/ibm/guardium/capella/Parser.java +++ b/filter-plugin/logstash-filter-capella-guardium/src/main/java/com/ibm/guardium/capella/Parser.java @@ -7,7 +7,15 @@ import com.ibm.guardium.universalconnector.commons.custom_parsing.CustomParser; import com.ibm.guardium.universalconnector.commons.custom_parsing.ParserFactory; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-cassandra-guardium/build.gradle b/filter-plugin/logstash-filter-cassandra-guardium/build.gradle index ac5b3a3a7..9c6bae659 100644 --- a/filter-plugin/logstash-filter-cassandra-guardium/build.gradle +++ b/filter-plugin/logstash-filter-cassandra-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,10 +42,10 @@ pluginInfo.pluginName = "cassandra_guardium_plugin_filter" // must match th // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -102,6 +104,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -144,17 +157,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-cassandra-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-cassandra-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-cassandra-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-cassandra-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-cockroachdb-guardium/build.gradle b/filter-plugin/logstash-filter-cockroachdb-guardium/build.gradle index 4182f4c6a..0b50fb38b 100644 --- a/filter-plugin/logstash-filter-cockroachdb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-cockroachdb-guardium/build.gradle @@ -2,7 +2,14 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + + apply plugin: 'jacoco' + + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" apply plugin: "eclipse" @@ -24,8 +31,8 @@ pluginInfo.pluginClass = "CockroachdbGuardiumFilter" pluginInfo.pluginName = "cockroachdb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 def jacocoVersion = '0.8.9' // minimumCoverage can be set by Travis ENV @@ -45,14 +52,12 @@ buildscript { } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:4.0.1" classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' } } -def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) repositories { @@ -67,14 +72,13 @@ tasks.register("vendor") { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -155,15 +159,14 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true + html.required = true + xml.required = true + csv.required = true html.destination file("${buildDir}/reports/jacoco") csv.destination file("${buildDir}/reports/jacoco/all.csv") } diff --git a/filter-plugin/logstash-filter-cockroachdb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-cockroachdb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-cockroachdb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-cockroachdb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-cockroachdb-guardium/src/main/java/com/ibm/guardium/cockroachdb/Parser.java b/filter-plugin/logstash-filter-cockroachdb-guardium/src/main/java/com/ibm/guardium/cockroachdb/Parser.java index 740f63a29..fb0cd7d8f 100644 --- a/filter-plugin/logstash-filter-cockroachdb-guardium/src/main/java/com/ibm/guardium/cockroachdb/Parser.java +++ b/filter-plugin/logstash-filter-cockroachdb-guardium/src/main/java/com/ibm/guardium/cockroachdb/Parser.java @@ -9,7 +9,15 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-cosmos-azure-guardium/build.gradle b/filter-plugin/logstash-filter-cosmos-azure-guardium/build.gradle index d0595b2c6..d6942ed01 100644 --- a/filter-plugin/logstash-filter-cosmos-azure-guardium/build.gradle +++ b/filter-plugin/logstash-filter-cosmos-azure-guardium/build.gradle @@ -2,6 +2,26 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -21,26 +41,9 @@ pluginInfo.pluginClass = "AzureCosmosGuardiumFilter" pluginInfo.pluginName = "azure_cosmos_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -58,7 +61,7 @@ task copyDependencyLibs(type: Copy) { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } @@ -68,7 +71,7 @@ dependencies { implementation 'org.apache.commons:commons-lang3:' + versions.dependencies.commonsLang implementation 'com.google.code.gson:gson:' + versions.dependencies.gson implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils - implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core.jar") implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") implementation group: 'org.parboiled', name: 'parboiled-java', version: versions.dependencies.parboiledJava @@ -95,6 +98,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("vendor"){ dependsOn shadowJar doLast { @@ -103,7 +117,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -132,8 +145,8 @@ tasks.register("gem"){ } jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/filter-plugin/logstash-filter-cosmos-azure-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-cosmos-azure-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-cosmos-azure-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-cosmos-azure-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-couchbasedb-guardium/build.gradle b/filter-plugin/logstash-filter-couchbasedb-guardium/build.gradle index 7de100196..be89a4f84 100644 --- a/filter-plugin/logstash-filter-couchbasedb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-couchbasedb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "CouchbasedbGuardiumPluginFilter" pluginInfo.pluginName = "couchbasedb_guardium_plugin_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -102,6 +104,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -144,17 +157,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-couchbasedb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-couchbasedb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-couchbasedb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-couchbasedb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-couchbasedb-guardium/src/test/java/com/ibm/guardium/couchbasedb/ParserTest.java b/filter-plugin/logstash-filter-couchbasedb-guardium/src/test/java/com/ibm/guardium/couchbasedb/ParserTest.java index 87d2e0f78..46591105d 100644 --- a/filter-plugin/logstash-filter-couchbasedb-guardium/src/test/java/com/ibm/guardium/couchbasedb/ParserTest.java +++ b/filter-plugin/logstash-filter-couchbasedb-guardium/src/test/java/com/ibm/guardium/couchbasedb/ParserTest.java @@ -6,7 +6,15 @@ import java.text.ParseException; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-couchdb-guardium/build.gradle b/filter-plugin/logstash-filter-couchdb-guardium/build.gradle index bb420a651..cfc347003 100644 --- a/filter-plugin/logstash-filter-couchdb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-couchdb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "CouchdbGuardiumFilter" pluginInfo.pluginName = "couchdb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -155,17 +157,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-couchdb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-couchdb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-couchdb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-couchdb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-couchdb-guardium/src/main/java/com/ibm/guardium/couchdb/Parser.java b/filter-plugin/logstash-filter-couchdb-guardium/src/main/java/com/ibm/guardium/couchdb/Parser.java index 0c850f66a..a8ffcad7d 100644 --- a/filter-plugin/logstash-filter-couchdb-guardium/src/main/java/com/ibm/guardium/couchdb/Parser.java +++ b/filter-plugin/logstash-filter-couchdb-guardium/src/main/java/com/ibm/guardium/couchdb/Parser.java @@ -17,7 +17,15 @@ import org.apache.logging.log4j.Logger; import com.ibm.guardium.couchdb.Parser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import co.elastic.logstash.api.Event; diff --git a/filter-plugin/logstash-filter-databricks-guardium/build.gradle b/filter-plugin/logstash-filter-databricks-guardium/build.gradle index c0521058b..9190d470c 100644 --- a/filter-plugin/logstash-filter-databricks-guardium/build.gradle +++ b/filter-plugin/logstash-filter-databricks-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "eclipse" @@ -23,10 +44,10 @@ pluginInfo.pluginClass = "DatabricksGuardiumFilter" pluginInfo.pluginName = "databricks_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -34,24 +55,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -65,14 +68,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -151,17 +153,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-databricks-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-databricks-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-databricks-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-databricks-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-documentdb-aws-guardium/build.gradle b/filter-plugin/logstash-filter-documentdb-aws-guardium/build.gradle index 3cbaa932b..9d8cbc011 100644 --- a/filter-plugin/logstash-filter-documentdb-aws-guardium/build.gradle +++ b/filter-plugin/logstash-filter-documentdb-aws-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "DocumentdbGuardiumFilter" pluginInfo.pluginName = "documentdb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -109,13 +111,18 @@ tasks.withType(JavaCompile) { } test { - useJUnitPlatform() - testLogging { - events "passed", "skipped", "failed" - exceptionFormat "full" - } + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] } + + tasks.register("generateRubySupportFiles") { doLast { generateRubySupportFilesForPlugin(project.description, project.group, version) @@ -156,17 +163,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-documentdb-aws-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-documentdb-aws-guardium/gradle/wrapper/gradle-wrapper.properties index 097ff3d3c..122a8692a 100644 --- a/filter-plugin/logstash-filter-documentdb-aws-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-documentdb-aws-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-dynamodb-guardium/build.gradle b/filter-plugin/logstash-filter-dynamodb-guardium/build.gradle index ca5fc6702..83df3aa59 100644 --- a/filter-plugin/logstash-filter-dynamodb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-dynamodb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "DynamodbGuardiumPluginFilter" pluginInfo.pluginName = "dynamodb_guardium_plugin_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" @@ -33,24 +54,6 @@ if (minimumCoverageStr.endsWith("%")) { def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -65,14 +68,13 @@ tasks.register("vendor") { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -104,6 +106,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { doLast { @@ -139,18 +152,17 @@ apply plugin: "org.barfuin.gradle.jacocolog" jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-dynamodb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-dynamodb-guardium/gradle/wrapper/gradle-wrapper.properties index 60c76b340..ba9ccfe4c 100644 --- a/filter-plugin/logstash-filter-dynamodb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-dynamodb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/DynamodbGuardiumPluginFilter.java b/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/DynamodbGuardiumPluginFilter.java index 6e899e2f8..50800798b 100644 --- a/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/DynamodbGuardiumPluginFilter.java +++ b/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/DynamodbGuardiumPluginFilter.java @@ -15,7 +15,15 @@ import com.google.gson.stream.JsonReader; import com.ibm.guardium.universalconnector.commons.GuardConstants; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/Parser.java b/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/Parser.java index e6e784046..9336efd19 100644 --- a/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/Parser.java +++ b/filter-plugin/logstash-filter-dynamodb-guardium/src/main/java/com/ibm/guardium/dynamodb/Parser.java @@ -23,7 +23,15 @@ import com.google.gson.JsonPrimitive; import com.google.gson.JsonParser; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Sentence; import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; diff --git a/filter-plugin/logstash-filter-dynamodb-guardium/src/test/java/com/ibm/guardium/dynamodb/ParserTest.java b/filter-plugin/logstash-filter-dynamodb-guardium/src/test/java/com/ibm/guardium/dynamodb/ParserTest.java index b8df3be65..2457cfc6b 100644 --- a/filter-plugin/logstash-filter-dynamodb-guardium/src/test/java/com/ibm/guardium/dynamodb/ParserTest.java +++ b/filter-plugin/logstash-filter-dynamodb-guardium/src/test/java/com/ibm/guardium/dynamodb/ParserTest.java @@ -8,7 +8,15 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-elasticsearch-guardium/build.gradle b/filter-plugin/logstash-filter-elasticsearch-guardium/build.gradle index a18e78509..79106cc7f 100644 --- a/filter-plugin/logstash-filter-elasticsearch-guardium/build.gradle +++ b/filter-plugin/logstash-filter-elasticsearch-guardium/build.gradle @@ -22,8 +22,8 @@ pluginInfo.pluginName = "elasticsearch_guardium_filter" // must match the @ // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 buildscript { repositories { @@ -35,7 +35,7 @@ buildscript { } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' } } @@ -46,22 +46,22 @@ repositories { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } dependencies { - compile group: 'commons-validator', name: 'commons-validator', version: '1.7' - compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.1' + implementation group: 'commons-validator', name: 'commons-validator', version: '1.7' + implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.1' implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils - compile 'org.apache.commons:commons-lang3:3.7' - compile 'com.google.code.gson:gson:2.8.9' - compile fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") - compile fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons-master-*.*.*.jar") - testCompile 'junit:junit:4.12' - testCompile 'org.jruby:jruby-complete:9.2.7.0' + implementation 'org.apache.commons:commons-lang3:3.7' + implementation 'com.google.code.gson:gson:2.8.9' + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") + implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons-master-*.*.*.jar") + testImplementation 'junit:junit:4.12' + testImplementation 'org.jruby:jruby-complete:9.2.7.0' - testCompile fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons-master-*.*.*.jar") + testImplementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons-master-*.*.*.jar") } clean { @@ -79,6 +79,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("vendor"){ dependsOn shadowJar doLast { @@ -87,7 +98,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -116,8 +126,8 @@ tasks.register("gem"){ } jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/filter-plugin/logstash-filter-elasticsearch-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-elasticsearch-guardium/gradle/wrapper/gradle-wrapper.properties index bb8b2fc26..81aa1c044 100644 --- a/filter-plugin/logstash-filter-elasticsearch-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-elasticsearch-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-generic-guardium/build.gradle b/filter-plugin/logstash-filter-generic-guardium/build.gradle index 7b713647a..5eba21e1f 100644 --- a/filter-plugin/logstash-filter-generic-guardium/build.gradle +++ b/filter-plugin/logstash-filter-generic-guardium/build.gradle @@ -2,6 +2,26 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,26 +40,9 @@ pluginInfo.pluginClass = "GenericGuardiumFilter" pluginInfo.pluginName = "generic_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -54,14 +57,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -93,6 +95,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { doLast { diff --git a/filter-plugin/logstash-filter-generic-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-generic-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-generic-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-generic-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-generic-guardium/src/main/java/com/ibm/guardium/generic/GenericGuardiumFilter.java b/filter-plugin/logstash-filter-generic-guardium/src/main/java/com/ibm/guardium/generic/GenericGuardiumFilter.java index b0e65266b..5d94f5520 100644 --- a/filter-plugin/logstash-filter-generic-guardium/src/main/java/com/ibm/guardium/generic/GenericGuardiumFilter.java +++ b/filter-plugin/logstash-filter-generic-guardium/src/main/java/com/ibm/guardium/generic/GenericGuardiumFilter.java @@ -14,7 +14,15 @@ import com.google.gson.*; import com.ibm.guardium.universalconnector.commons.GuardConstants; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.logging.log4j.LogManager; diff --git a/filter-plugin/logstash-filter-generic-guardium/src/test/java/com/ibm/guardium/generic/ParserTest.java b/filter-plugin/logstash-filter-generic-guardium/src/test/java/com/ibm/guardium/generic/ParserTest.java index af798995a..e7cefc85f 100644 --- a/filter-plugin/logstash-filter-generic-guardium/src/test/java/com/ibm/guardium/generic/ParserTest.java +++ b/filter-plugin/logstash-filter-generic-guardium/src/test/java/com/ibm/guardium/generic/ParserTest.java @@ -11,7 +11,15 @@ import com.google.gson.JsonParser; import com.ibm.guardium.generic.Constants; import com.ibm.guardium.generic.Parser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-hdfs-guardium/build.gradle b/filter-plugin/logstash-filter-hdfs-guardium/build.gradle index 1780f55ec..f82d2f353 100644 --- a/filter-plugin/logstash-filter-hdfs-guardium/build.gradle +++ b/filter-plugin/logstash-filter-hdfs-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "HdfsGuardiumFilter" pluginInfo.pluginName = "hdfs_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -101,6 +103,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,17 +156,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-hdfs-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-hdfs-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-hdfs-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-hdfs-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-hdfs-guardium/src/main/java/com/ibm/guardium/hdfs/HdfsGuardiumFilter.java b/filter-plugin/logstash-filter-hdfs-guardium/src/main/java/com/ibm/guardium/hdfs/HdfsGuardiumFilter.java index 1eccd0cfd..776cbca6d 100644 --- a/filter-plugin/logstash-filter-hdfs-guardium/src/main/java/com/ibm/guardium/hdfs/HdfsGuardiumFilter.java +++ b/filter-plugin/logstash-filter-hdfs-guardium/src/main/java/com/ibm/guardium/hdfs/HdfsGuardiumFilter.java @@ -16,7 +16,15 @@ import com.google.gson.*; import com.ibm.guardium.universalconnector.commons.GuardConstants; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-intersystems-iris-guardium/build.gradle b/filter-plugin/logstash-filter-intersystems-iris-guardium/build.gradle index 1544964d6..7f3f52270 100644 --- a/filter-plugin/logstash-filter-intersystems-iris-guardium/build.gradle +++ b/filter-plugin/logstash-filter-intersystems-iris-guardium/build.gradle @@ -2,6 +2,26 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,26 +40,9 @@ pluginInfo.pluginClass = "IntersystemsIRISGuardiumFilter" pluginInfo.pluginName = "intersystems_iris_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -48,7 +51,7 @@ repositories { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } @@ -58,7 +61,7 @@ dependencies { implementation 'org.apache.commons:commons-lang3:' + versions.dependencies.commonsLang implementation 'com.google.code.gson:gson:' + versions.dependencies.gson implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils - implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core.jar") implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") implementation group: 'org.parboiled', name: 'parboiled-java', version: versions.dependencies.parboiledJava implementation group: 'org.json', name: 'json', version: versions.dependencies.json @@ -84,6 +87,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("vendor"){ dependsOn shadowJar doLast { @@ -92,7 +106,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -121,8 +134,8 @@ tasks.register("gem"){ } jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/filter-plugin/logstash-filter-intersystems-iris-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-intersystems-iris-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-intersystems-iris-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-intersystems-iris-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mariadb-aws-guardium/build.gradle b/filter-plugin/logstash-filter-mariadb-aws-guardium/build.gradle index 24661a294..d201297f7 100644 --- a/filter-plugin/logstash-filter-mariadb-aws-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mariadb-aws-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -22,10 +43,10 @@ pluginInfo.pluginName = "awsmariadb_guardium_filter" // must match the @Log // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -33,24 +54,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -65,7 +68,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -74,7 +76,7 @@ apply plugin: "com.github.johnrengelman.shadow" apply plugin: 'jacoco' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -112,6 +114,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -154,17 +167,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-mariadb-aws-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mariadb-aws-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mariadb-aws-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mariadb-aws-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mariadb-guardium/build.gradle b/filter-plugin/logstash-filter-mariadb-guardium/build.gradle index 3f60b7f5a..69b833279 100644 --- a/filter-plugin/logstash-filter-mariadb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mariadb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== // plugin info @@ -19,10 +40,10 @@ pluginInfo.pluginClass = "MariadbGuardiumFilter" pluginInfo.pluginName = "mariadb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -30,24 +51,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -61,14 +64,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -101,6 +103,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,17 +156,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-mariadb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mariadb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mariadb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mariadb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-milvus-guardium/build.gradle b/filter-plugin/logstash-filter-milvus-guardium/build.gradle index 351ffe2bd..3fa6e5b0e 100644 --- a/filter-plugin/logstash-filter-milvus-guardium/build.gradle +++ b/filter-plugin/logstash-filter-milvus-guardium/build.gradle @@ -2,6 +2,31 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } + + ext { + snakeYamlVersion = '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" @@ -24,10 +49,10 @@ pluginInfo.pluginClass = "MilvusGuardiumFilter" pluginInfo.pluginName = "milvus_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -35,28 +60,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } - - ext { - snakeYamlVersion = '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -71,14 +74,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -86,6 +88,7 @@ dependencies { implementation 'com.google.code.gson:gson:' + versions.dependencies.gson implementation 'org.apache.commons:commons-lang3:' + versions.dependencies.commonsLang implementation 'commons-validator:commons-validator:' + versions.dependencies.commonsValidator + implementation 'commons-beanutils:commons-beanutils:' + versions.dependencies.commonsBeanutils implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.17.2' testImplementation group: 'org.mockito', name: 'mockito-all', version: versions.dependencies.mockitoAll @@ -156,17 +159,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-milvus-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-milvus-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-milvus-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-milvus-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-milvus-guardium/src/main/java/com/ibm/guardium/milvus/Parser.java b/filter-plugin/logstash-filter-milvus-guardium/src/main/java/com/ibm/guardium/milvus/Parser.java index 33e330376..b7a412fbe 100644 --- a/filter-plugin/logstash-filter-milvus-guardium/src/main/java/com/ibm/guardium/milvus/Parser.java +++ b/filter-plugin/logstash-filter-milvus-guardium/src/main/java/com/ibm/guardium/milvus/Parser.java @@ -7,7 +7,15 @@ import com.ibm.guardium.universalconnector.commons.custom_parsing.CustomParser; import com.ibm.guardium.universalconnector.commons.custom_parsing.ParserFactory; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.apache.logging.log4j.LogManager; diff --git a/filter-plugin/logstash-filter-mongodb-guardium/build.gradle b/filter-plugin/logstash-filter-mongodb-guardium/build.gradle index cfc949114..fc425f81f 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mongodb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "MongodbGuardiumFilter" pluginInfo.pluginName = "mongodb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -101,6 +103,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,17 +156,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-mongodb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mongodb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mongodb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java b/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java index 269d42e79..06fae2065 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java +++ b/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java @@ -15,7 +15,15 @@ import com.ibm.guardium.mongodb.parsersbytype.BaseParser; import com.ibm.guardium.universalconnector.commons.GuardConstants; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.logging.log4j.LogManager; diff --git a/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/Parser.java b/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/Parser.java index c356300e7..00efd627f 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/Parser.java +++ b/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/Parser.java @@ -19,7 +19,15 @@ import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/parsersbytype/BaseParser.java b/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/parsersbytype/BaseParser.java index 872407723..40b3d89ef 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/parsersbytype/BaseParser.java +++ b/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/parsersbytype/BaseParser.java @@ -3,7 +3,15 @@ import com.google.gson.*; import com.ibm.guardium.mongodb.Parser; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/ParserTest.java b/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/ParserTest.java index 9282805f6..c8e675ffb 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/ParserTest.java +++ b/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/ParserTest.java @@ -9,7 +9,15 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/LoginParserTest.java b/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/LoginParserTest.java index bea103772..ea4d8b225 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/LoginParserTest.java +++ b/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/LoginParserTest.java @@ -5,7 +5,15 @@ import com.google.gson.JsonParser; import com.ibm.guardium.mongodb.parsersbytype.BaseParser; import com.ibm.guardium.mongodb.parsersbytype.LoginParser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/ParserTest.java b/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/ParserTest.java index c5c4c780c..7285068a4 100644 --- a/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/ParserTest.java +++ b/filter-plugin/logstash-filter-mongodb-guardium/src/test/java/com/ibm/guardium/mongodb/parsers/ParserTest.java @@ -11,7 +11,15 @@ import com.google.gson.JsonParser; import com.ibm.guardium.mongodb.Parser; import com.ibm.guardium.mongodb.parsersbytype.AuthCheckParser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-mysql-aws-guardium/build.gradle b/filter-plugin/logstash-filter-mysql-aws-guardium/build.gradle index bb1d7c456..afdf49b2b 100644 --- a/filter-plugin/logstash-filter-mysql-aws-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mysql-aws-guardium/build.gradle @@ -2,13 +2,33 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:4.0.1" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + +apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" + apply plugin: 'com.github.johnrengelman.shadow' apply plugin: 'jacoco' apply plugin: 'org.barfuin.gradle.jacocolog' -// Load Ruby plugin support -apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" - // Plugin Info group = 'com.ibm.guardium.mysql' version = file("VERSION").text.trim() @@ -22,8 +42,8 @@ pluginInfo.pluginType = "filter" pluginInfo.pluginClass = "MySQLGuardiumPluginFilter" pluginInfo.pluginName = "mysql_guardium_plugin_filter" -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 // Code coverage def jacocoVersion = '0.8.4' @@ -40,8 +60,8 @@ buildscript { jcenter() } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath 'org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2' + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath 'org.barfuin.gradle.jacocolog:gradle-jacoco-log:4.0.1' } } @@ -78,14 +98,13 @@ test { jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { reports { - html.enabled true - xml.enabled true - csv.enabled true + html.required = true + xml.required = true + csv.required = true html.destination file("${buildDir}/reports/jacoco") csv.destination file("${buildDir}/reports/jacoco/all.csv") } @@ -119,7 +138,7 @@ jacocoTestCoverageVerification { check.dependsOn jacocoTestCoverageVerification, jacocoTestReport shadowJar { - classifier = null + archiveClassifier = null } // Custom Tasks diff --git a/filter-plugin/logstash-filter-mysql-aws-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mysql-aws-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mysql-aws-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mysql-aws-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mysql-aws-guardium/src/main/java/com/ibm/guardium/mysql/Parser.java b/filter-plugin/logstash-filter-mysql-aws-guardium/src/main/java/com/ibm/guardium/mysql/Parser.java index 9a765bbf3..7c45bea7e 100644 --- a/filter-plugin/logstash-filter-mysql-aws-guardium/src/main/java/com/ibm/guardium/mysql/Parser.java +++ b/filter-plugin/logstash-filter-mysql-aws-guardium/src/main/java/com/ibm/guardium/mysql/Parser.java @@ -6,7 +6,15 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-mysql-azure-guardium/build.gradle b/filter-plugin/logstash-filter-mysql-azure-guardium/build.gradle index 1007471f6..0d8eeb235 100644 --- a/filter-plugin/logstash-filter-mysql-azure-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mysql-azure-guardium/build.gradle @@ -2,6 +2,26 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,26 +40,9 @@ pluginInfo.pluginClass = "AzureMysqlGuardiumFilter" pluginInfo.pluginName = "azure_mysql_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -48,7 +51,7 @@ repositories { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } @@ -82,6 +85,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("vendor"){ dependsOn shadowJar doLast { @@ -90,7 +104,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -119,8 +132,8 @@ tasks.register("gem"){ } jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/filter-plugin/logstash-filter-mysql-azure-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mysql-azure-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mysql-azure-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mysql-azure-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/AzureMysqlGuardiumFilter.java b/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/AzureMysqlGuardiumFilter.java index 1cb9b9b23..179b51652 100644 --- a/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/AzureMysqlGuardiumFilter.java +++ b/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/AzureMysqlGuardiumFilter.java @@ -15,7 +15,15 @@ import com.ibm.guardium.azuremysql.Parser; import com.ibm.guardium.azuremysql.Constants; import com.ibm.guardium.universalconnector.commons.GuardConstants; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.apache.logging.log4j.LogManager; diff --git a/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/Parser.java b/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/Parser.java index 81867d821..8233031c5 100644 --- a/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/Parser.java +++ b/filter-plugin/logstash-filter-mysql-azure-guardium/src/main/java/com/ibm/guardium/azuremysql/Parser.java @@ -21,7 +21,15 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.ibm.guardium.azuremysql.Constants; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import co.elastic.logstash.api.Event; import org.apache.logging.log4j.LogManager; diff --git a/filter-plugin/logstash-filter-mysql-guardium/build.gradle b/filter-plugin/logstash-filter-mysql-guardium/build.gradle index 4191d9dbc..112c7b8b0 100644 --- a/filter-plugin/logstash-filter-mysql-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mysql-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "MySqlFilterGuardium" pluginInfo.pluginName = "mysql_filter_guardium" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -101,6 +103,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,18 +156,17 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-mysql-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mysql-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mysql-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mysql-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mysql-guardium/src/main/java/org/logstashplugins/MySqlFilterGuardium.java b/filter-plugin/logstash-filter-mysql-guardium/src/main/java/org/logstashplugins/MySqlFilterGuardium.java index c80b079a2..b57feda86 100644 --- a/filter-plugin/logstash-filter-mysql-guardium/src/main/java/org/logstashplugins/MySqlFilterGuardium.java +++ b/filter-plugin/logstash-filter-mysql-guardium/src/main/java/org/logstashplugins/MySqlFilterGuardium.java @@ -27,7 +27,15 @@ import java.text.ParseException; import java.text.SimpleDateFormat; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.Util; import com.ibm.guardium.universalconnector.commons.GuardConstants; diff --git a/filter-plugin/logstash-filter-mysql-percona-guardium/build.gradle b/filter-plugin/logstash-filter-mysql-percona-guardium/build.gradle index a5d5de1ca..45777c5e2 100644 --- a/filter-plugin/logstash-filter-mysql-percona-guardium/build.gradle +++ b/filter-plugin/logstash-filter-mysql-percona-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "MySqlPerconaFilter" pluginInfo.pluginName = "mysql_percona_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -101,6 +103,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,17 +156,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-mysql-percona-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-mysql-percona-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-mysql-percona-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-mysql-percona-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-mysql-percona-guardium/src/main/java/com/ibm/guardium/mysql/percona/MySqlPerconaFilter.java b/filter-plugin/logstash-filter-mysql-percona-guardium/src/main/java/com/ibm/guardium/mysql/percona/MySqlPerconaFilter.java index ac3d93759..c7d347ccc 100755 --- a/filter-plugin/logstash-filter-mysql-percona-guardium/src/main/java/com/ibm/guardium/mysql/percona/MySqlPerconaFilter.java +++ b/filter-plugin/logstash-filter-mysql-percona-guardium/src/main/java/com/ibm/guardium/mysql/percona/MySqlPerconaFilter.java @@ -24,7 +24,15 @@ import java.io.File; import java.time.ZonedDateTime; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.Util; import com.ibm.guardium.universalconnector.commons.GuardConstants; diff --git a/filter-plugin/logstash-filter-neo4j-guardium/build.gradle b/filter-plugin/logstash-filter-neo4j-guardium/build.gradle index ac355db4e..62ef67963 100644 --- a/filter-plugin/logstash-filter-neo4j-guardium/build.gradle +++ b/filter-plugin/logstash-filter-neo4j-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,10 +42,10 @@ pluginInfo.pluginName = "neodb_guardium_filter" // must match the @Logstash // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -64,14 +67,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -103,6 +105,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -145,17 +158,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-neo4j-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-neo4j-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-neo4j-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-neo4j-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-neo4j-guardium/src/test/java/com/ibm/guardium/neodb/ParserTest.java b/filter-plugin/logstash-filter-neo4j-guardium/src/test/java/com/ibm/guardium/neodb/ParserTest.java index 30a8917be..7f591e6bc 100644 --- a/filter-plugin/logstash-filter-neo4j-guardium/src/test/java/com/ibm/guardium/neodb/ParserTest.java +++ b/filter-plugin/logstash-filter-neo4j-guardium/src/test/java/com/ibm/guardium/neodb/ParserTest.java @@ -7,7 +7,15 @@ import co.elastic.logstash.api.Event; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.junit.Assert; import org.junit.Test; diff --git a/filter-plugin/logstash-filter-neptune-aws-guardium/build.gradle b/filter-plugin/logstash-filter-neptune-aws-guardium/build.gradle index b24e533c9..564eb55dc 100644 --- a/filter-plugin/logstash-filter-neptune-aws-guardium/build.gradle +++ b/filter-plugin/logstash-filter-neptune-aws-guardium/build.gradle @@ -2,6 +2,33 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + + ext { + snakeYamlVersion = '2.2' + } + + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream()) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +47,10 @@ pluginInfo.pluginClass = "NeptuneGuardiumFilter" pluginInfo.pluginName = "neptune_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = JavaVersion.VERSION_11 -targetCompatibility = JavaVersion.VERSION_11 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,25 +58,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream()) repositories { mavenCentral() @@ -63,14 +71,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -81,6 +88,7 @@ dependencies { implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils implementation group: 'org.apache.commons', name: 'commons-text', version: versions.dependencies.commonsText implementation group: 'org.apache.tinkerpop', name: 'tinkergraph-gremlin', version: versions.dependencies.tinkergraphGremlin + implementation group: 'org.apache.commons', name: 'commons-configuration2', version: '2.13.0' implementation group: 'org.eclipse.rdf4j', name: 'rdf4j-queryparser-sparql', version: versions.dependencies.rdf4jQueryparserSparql implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") @@ -154,17 +162,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-neptune-aws-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-neptune-aws-guardium/gradle/wrapper/gradle-wrapper.properties index 60c76b340..ba9ccfe4c 100644 --- a/filter-plugin/logstash-filter-neptune-aws-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-neptune-aws-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/build.gradle b/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/build.gradle index 242afae75..b5b0aa64d 100644 --- a/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -22,10 +43,10 @@ pluginInfo.pluginClass = "GreenplumdbGuardiumFilter" pluginInfo.pluginName = "greenplumdb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -33,24 +54,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -64,14 +67,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -106,6 +108,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -148,17 +161,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/gradle/wrapper/gradle-wrapper.properties index 60c76b340..ba9ccfe4c 100644 --- a/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-onPremGreenplumdb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/filter-plugin/logstash-filter-opensearch-guardium/build.gradle b/filter-plugin/logstash-filter-opensearch-guardium/build.gradle index 8dd5f3bfb..273117892 100644 --- a/filter-plugin/logstash-filter-opensearch-guardium/build.gradle +++ b/filter-plugin/logstash-filter-opensearch-guardium/build.gradle @@ -3,6 +3,28 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' apply plugin: 'jacoco' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } + +} + +def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "eclipse" @@ -23,10 +45,10 @@ pluginInfo.pluginClass = "OpensearchGuardiumFilter" pluginInfo.pluginName = "opensearch_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -34,26 +56,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } - -} - -def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) - repositories { mavenCentral() @@ -67,14 +69,13 @@ tasks.register("vendor") { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -154,17 +155,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-opensearch-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-opensearch-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-opensearch-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-opensearch-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-oua-guardium/build.gradle b/filter-plugin/logstash-filter-oua-guardium/build.gradle index 99cbb1671..ac42f7dc0 100644 --- a/filter-plugin/logstash-filter-oua-guardium/build.gradle +++ b/filter-plugin/logstash-filter-oua-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -21,10 +42,10 @@ pluginInfo.pluginClass = "OuaFilter" pluginInfo.pluginName = "oua_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -102,6 +104,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -136,17 +149,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-oua-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-oua-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-oua-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-oua-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-oua-guardium/src/main/java/com/ibm/guardium/OuaFilter.java b/filter-plugin/logstash-filter-oua-guardium/src/main/java/com/ibm/guardium/OuaFilter.java index c0cf26d98..c23cffaee 100644 --- a/filter-plugin/logstash-filter-oua-guardium/src/main/java/com/ibm/guardium/OuaFilter.java +++ b/filter-plugin/logstash-filter-oua-guardium/src/main/java/com/ibm/guardium/OuaFilter.java @@ -10,7 +10,15 @@ import com.google.gson.*; import com.ibm.guardium.universalconnector.commons.GuardConstants; import com.ibm.guardium.universalconnector.commons.Util; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-postgres-guardium/build.gradle b/filter-plugin/logstash-filter-postgres-guardium/build.gradle index 2d0077a8b..417fff964 100644 --- a/filter-plugin/logstash-filter-postgres-guardium/build.gradle +++ b/filter-plugin/logstash-filter-postgres-guardium/build.gradle @@ -2,9 +2,31 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:4.0.1" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + +apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" + apply plugin: 'jacoco' apply plugin: 'com.github.johnrengelman.shadow' -apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== group = 'com.ibm.guardium.s3sqspostgresql' @@ -21,8 +43,8 @@ pluginInfo.pluginType = "filter" pluginInfo.pluginClass = "S3SQSPostgresqlGuardiumPluginFilter" pluginInfo.pluginName = "s3sqs_postgresql_guardium_plugin_filter" -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 def jacocoVersion = '0.8.4' def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" @@ -38,8 +60,8 @@ buildscript { jcenter() } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:4.0.1" } } @@ -52,14 +74,14 @@ dependencies { implementation 'org.apache.logging.log4j:log4j-core:2.17.1' implementation 'org.apache.commons:commons-lang3:3.7' implementation 'com.google.code.gson:gson:2.8.9' - implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core*.jar") - implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core.jar") + implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") // ✅ JUnit 4 only testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.17.0' testImplementation 'org.jruby:jruby-complete:9.2.7.0' - testImplementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") + testImplementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") } test { @@ -82,7 +104,7 @@ tasks.register("vendor") { } shadowJar { - classifier = null + archiveClassifier = null } clean { @@ -125,14 +147,13 @@ tasks.register("gem") { // ✅ JaCoCo Setup jacoco { toolVersion = jacocoVersion - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { reports { - html.enabled true - xml.enabled true - csv.enabled true + html.required = true + xml.required = true + csv.required = true html.destination file("${buildDir}/reports/jacoco") csv.destination file("${buildDir}/reports/jacoco/all.csv") } diff --git a/filter-plugin/logstash-filter-postgres-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-postgres-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-postgres-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-postgres-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-postgres-guardium/src/main/java/com/ibm/guardium/s3sqspostgresql/Parser.java b/filter-plugin/logstash-filter-postgres-guardium/src/main/java/com/ibm/guardium/s3sqspostgresql/Parser.java index 48c0afceb..0438a4ca9 100644 --- a/filter-plugin/logstash-filter-postgres-guardium/src/main/java/com/ibm/guardium/s3sqspostgresql/Parser.java +++ b/filter-plugin/logstash-filter-postgres-guardium/src/main/java/com/ibm/guardium/s3sqspostgresql/Parser.java @@ -5,7 +5,15 @@ package com.ibm.guardium.s3sqspostgresql; import co.elastic.logstash.api.Event; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-postgres-guardium/src/test/java/com/ibm/guardium/test/s3sqspostgresql/S3SQSPostgresqlGuardiumPluginFilterTest.java b/filter-plugin/logstash-filter-postgres-guardium/src/test/java/com/ibm/guardium/test/s3sqspostgresql/S3SQSPostgresqlGuardiumPluginFilterTest.java index f1038413d..7a6d4cd4a 100644 --- a/filter-plugin/logstash-filter-postgres-guardium/src/test/java/com/ibm/guardium/test/s3sqspostgresql/S3SQSPostgresqlGuardiumPluginFilterTest.java +++ b/filter-plugin/logstash-filter-postgres-guardium/src/test/java/com/ibm/guardium/test/s3sqspostgresql/S3SQSPostgresqlGuardiumPluginFilterTest.java @@ -3,9 +3,16 @@ import co.elastic.logstash.api.Event; import com.ibm.guardium.s3sqspostgresql.Constants; import com.ibm.guardium.s3sqspostgresql.Parser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Test; -import sun.security.krb5.internal.PAEncTSEnc; import java.text.ParseException; import java.util.Arrays; diff --git a/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/build.gradle b/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/build.gradle index 4880732fe..d00449fb0 100644 --- a/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/build.gradle +++ b/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/build.gradle @@ -2,6 +2,26 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + mavenCentral() + jcenter() + maven { + url "https://plugins.gradle.org/m2/" + } + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply plugin: 'eclipse' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -22,24 +42,8 @@ pluginInfo.pluginType = "filter" pluginInfo.pluginClass = "ICDPostgresqlGuardiumFilter" pluginInfo.pluginName = "icd_postgresql_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 -buildscript { - repositories { - mavenCentral() - jcenter() - maven { - url "https://plugins.gradle.org/m2/" - } - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0' - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 repositories { mavenCentral() @@ -49,7 +53,7 @@ apply plugin: "com.github.johnrengelman.shadow" //apply plugin: 'org.owasp.dependencycheck' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } @@ -81,7 +85,6 @@ tasks.withType(JavaCompile) { /*spotbugs { ignoreFailures = true showStackTraces = false - reportsDir = file("$buildDir/spotbugs") } spotbugsMain { @@ -96,8 +99,8 @@ spotbugsMain { } tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { reports { - xml.enabled = false - html.enabled = true + xml.required = false + html.required = true } }*/ @@ -118,7 +121,6 @@ task vendor(dependsOn: shadowJar) { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -149,8 +151,8 @@ tasks.register("gem"){ jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-postgres-ibmcloud-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-progressdb-guardium/build.gradle b/filter-plugin/logstash-filter-progressdb-guardium/build.gradle index 822414a51..5ac3dddac 100644 --- a/filter-plugin/logstash-filter-progressdb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-progressdb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "ProgressGuardiumPluginFilter" pluginInfo.pluginName = "progress_guardium_plugin_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -102,6 +104,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -136,17 +149,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-progressdb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-progressdb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-progressdb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-progressdb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-progressdb-guardium/src/main/java/com/ibm/guardium/progress/Parser.java b/filter-plugin/logstash-filter-progressdb-guardium/src/main/java/com/ibm/guardium/progress/Parser.java index 49c4cd2c4..3442fa9af 100644 --- a/filter-plugin/logstash-filter-progressdb-guardium/src/main/java/com/ibm/guardium/progress/Parser.java +++ b/filter-plugin/logstash-filter-progressdb-guardium/src/main/java/com/ibm/guardium/progress/Parser.java @@ -5,7 +5,15 @@ package com.ibm.guardium.progress; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.text.ParseException; diff --git a/filter-plugin/logstash-filter-progressdb-guardium/src/test/java/com/ibm/guardium/progress/ParserTest.java b/filter-plugin/logstash-filter-progressdb-guardium/src/test/java/com/ibm/guardium/progress/ParserTest.java index 66add037e..783326ff1 100644 --- a/filter-plugin/logstash-filter-progressdb-guardium/src/test/java/com/ibm/guardium/progress/ParserTest.java +++ b/filter-plugin/logstash-filter-progressdb-guardium/src/test/java/com/ibm/guardium/progress/ParserTest.java @@ -5,7 +5,15 @@ package com.ibm.guardium.progress; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.Test; import java.text.ParseException; import static com.ibm.guardium.progress.Constants.minOffset; diff --git a/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/build.gradle b/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/build.gradle index 1653c1419..32dd7c81a 100644 --- a/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/build.gradle +++ b/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -21,10 +42,10 @@ pluginInfo.pluginClass = "ApacheSolrGcpConnector" pluginInfo.pluginName = "apache_solr_gcp_connector" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -64,14 +67,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -108,6 +110,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -150,17 +163,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-pubsub-apachesolr-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-pubsub-bigquery-guardium/build.gradle b/filter-plugin/logstash-filter-pubsub-bigquery-guardium/build.gradle index 4199bd924..34b06d780 100644 --- a/filter-plugin/logstash-filter-pubsub-bigquery-guardium/build.gradle +++ b/filter-plugin/logstash-filter-pubsub-bigquery-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" @@ -24,10 +45,10 @@ pluginInfo.pluginClass = "BigQueryGuardiumFilter" pluginInfo.pluginName = "big_query_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -35,24 +56,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -67,14 +70,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -88,7 +90,7 @@ dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:' + versions.dependencies.junitJupiter testImplementation 'org.jruby:jruby-complete:' + versions.dependencies.jrubyComplete implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") - implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core.jar") implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: versions.dependencies.log4jCore implementation group: 'org.json', name: 'json', version: versions.dependencies.json implementation group: 'org.parboiled', name: 'parboiled-java', version: versions.dependencies.parboiledJava @@ -111,6 +113,15 @@ tasks.withType(JavaCompile) { } test { useJUnitPlatform() + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED', + '--add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED' + ] } tasks.register("generateRubySupportFiles") { doLast { @@ -152,17 +163,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-pubsub-bigquery-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-pubsub-bigquery-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-pubsub-bigquery-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-pubsub-bigquery-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/build.gradle b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/build.gradle index b2f488927..d18d27e1a 100644 --- a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/build.gradle +++ b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" @@ -24,10 +45,10 @@ pluginInfo.pluginClass = "BigTableGuardiumFilter" pluginInfo.pluginName = "big_table_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 11 -targetCompatibility = 11 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -35,24 +56,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -67,14 +70,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -152,17 +154,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/main/java/com/ibm/guardium/bigtable/Parser.java b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/main/java/com/ibm/guardium/bigtable/Parser.java index c78801847..7fb0723ee 100644 --- a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/main/java/com/ibm/guardium/bigtable/Parser.java +++ b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/main/java/com/ibm/guardium/bigtable/Parser.java @@ -8,7 +8,15 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.ibm.guardium.bigtable.errorcode.BigTableErrorCodes; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.lang3.StringUtils; import org.apache.commons.validator.routines.InetAddressValidator; diff --git a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/test/java/com/ibm/guardium/bigtable/ParserTest.java b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/test/java/com/ibm/guardium/bigtable/ParserTest.java index 9cb9501ee..738c911d3 100644 --- a/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/test/java/com/ibm/guardium/bigtable/ParserTest.java +++ b/filter-plugin/logstash-filter-pubsub-bigtable-guardium/src/test/java/com/ibm/guardium/bigtable/ParserTest.java @@ -3,7 +3,15 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; import com.ibm.guardium.bigtable.errorcode.BigTableErrorCodes; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.junit.jupiter.api.Test; import java.io.IOException; diff --git a/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/build.gradle b/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/build.gradle index 336f38853..1ca0eb62d 100644 --- a/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/build.gradle +++ b/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "FireBaseGuardiumFilter" pluginInfo.pluginName = "fire_base_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -110,6 +112,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -151,17 +164,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-pubsub-firebase-realtime-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-pubsub-firestore-guardium/build.gradle b/filter-plugin/logstash-filter-pubsub-firestore-guardium/build.gradle index f7610f3af..56d0a2023 100644 --- a/filter-plugin/logstash-filter-pubsub-firestore-guardium/build.gradle +++ b/filter-plugin/logstash-filter-pubsub-firestore-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -19,10 +40,10 @@ pluginInfo.pluginType = "filter" pluginInfo.pluginClass = "FireStoreGuardiumFilter" pluginInfo.pluginName = "fire_store_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -30,24 +51,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -106,6 +108,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -148,17 +161,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-pubsub-firestore-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-pubsub-firestore-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-pubsub-firestore-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-pubsub-firestore-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-pubsub-spanner-guardium/build.gradle b/filter-plugin/logstash-filter-pubsub-spanner-guardium/build.gradle index 518518d9e..a9ac29801 100644 --- a/filter-plugin/logstash-filter-pubsub-spanner-guardium/build.gradle +++ b/filter-plugin/logstash-filter-pubsub-spanner-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "SpannerDBGuardiumFilter" pluginInfo.pluginName = "spanner_db_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -109,6 +111,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -151,17 +164,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-pubsub-spanner-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-pubsub-spanner-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-pubsub-spanner-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-pubsub-spanner-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-redshift-aws-guardium/build.gradle b/filter-plugin/logstash-filter-redshift-aws-guardium/build.gradle index 9188dee45..e77d6f756 100644 --- a/filter-plugin/logstash-filter-redshift-aws-guardium/build.gradle +++ b/filter-plugin/logstash-filter-redshift-aws-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "RedShiftGuardiumConnector" pluginInfo.pluginName = "redshift_guardium_connector" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -103,6 +105,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -145,17 +158,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-redshift-aws-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-redshift-aws-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-redshift-aws-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-redshift-aws-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-s3-guardium/build.gradle b/filter-plugin/logstash-filter-s3-guardium/build.gradle index 1ca128a0e..40f0557da 100644 --- a/filter-plugin/logstash-filter-s3-guardium/build.gradle +++ b/filter-plugin/logstash-filter-s3-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "LogstashFilterS3Guardium" pluginInfo.pluginName = "logstash_filter_s3_guardium" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -78,7 +80,7 @@ dependencies { implementation 'org.apache.commons:commons-lang3:' + versions.dependencies.commonsLang implementation 'com.google.code.gson:gson:' + versions.dependencies.gson implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils - implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core-*.*.*.jar") + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core.jar") implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") testImplementation 'junit:junit:' + versions.dependencies.junit @@ -101,6 +103,19 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED', + '--add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED', + '--illegal-access=permit' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,17 +158,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-s3-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-s3-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-s3-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-s3-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-s3-guardium/src/main/java/com/ibm/guardium/s3/Parser.java b/filter-plugin/logstash-filter-s3-guardium/src/main/java/com/ibm/guardium/s3/Parser.java index 62920c05d..d12092e2e 100644 --- a/filter-plugin/logstash-filter-s3-guardium/src/main/java/com/ibm/guardium/s3/Parser.java +++ b/filter-plugin/logstash-filter-s3-guardium/src/main/java/com/ibm/guardium/s3/Parser.java @@ -11,11 +11,20 @@ import java.util.*; import com.google.gson.*; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import sun.net.util.IPAddressUtil; +import java.net.InetAddress; +import java.net.UnknownHostException; public class Parser { @@ -279,9 +288,11 @@ public static String getHost(JsonObject requestParameters){ } public static String validateIP(String sourceIPAddress){ - if (IPAddressUtil.isIPv4LiteralAddress(sourceIPAddress) || IPAddressUtil.isIPv6LiteralAddress(sourceIPAddress)){ + try { + // InetAddress.getByName() validates both IPv4 and IPv6 addresses + InetAddress.getByName(sourceIPAddress); return sourceIPAddress; - } else { + } catch (UnknownHostException e) { return UNKNOWN_IP; } } diff --git a/filter-plugin/logstash-filter-saphana-guardium/build.gradle b/filter-plugin/logstash-filter-saphana-guardium/build.gradle index 3e07f2c86..4926570e5 100644 --- a/filter-plugin/logstash-filter-saphana-guardium/build.gradle +++ b/filter-plugin/logstash-filter-saphana-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "SapHanaGuardiumPluginFilter" pluginInfo.pluginName = "saphana_guardium_plugin_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" @@ -33,24 +54,6 @@ if (minimumCoverageStr.endsWith("%")) { def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -65,14 +68,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -104,6 +106,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -140,18 +153,17 @@ apply plugin: "org.barfuin.gradle.jacocolog" jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-saphana-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-saphana-guardium/gradle/wrapper/gradle-wrapper.properties index 60c76b340..ba9ccfe4c 100644 --- a/filter-plugin/logstash-filter-saphana-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-saphana-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/Parser.java b/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/Parser.java index a59c5ea54..e2526be5f 100644 --- a/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/Parser.java +++ b/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/Parser.java @@ -6,7 +6,15 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/SapHanaGuardiumPluginFilter.java b/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/SapHanaGuardiumPluginFilter.java index 9f42023f1..2cc7eec24 100644 --- a/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/SapHanaGuardiumPluginFilter.java +++ b/filter-plugin/logstash-filter-saphana-guardium/src/main/java/com/ibm/guardium/saphana/SapHanaGuardiumPluginFilter.java @@ -9,7 +9,15 @@ import co.elastic.logstash.api.PluginConfigSpec; import com.google.gson.*; import com.ibm.guardium.universalconnector.commons.GuardConstants; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-saphana-guardium/src/test/java/com/ibm/guardium/saphana/ParserTest.java b/filter-plugin/logstash-filter-saphana-guardium/src/test/java/com/ibm/guardium/saphana/ParserTest.java index cfcd17d0e..8113d30f1 100644 --- a/filter-plugin/logstash-filter-saphana-guardium/src/test/java/com/ibm/guardium/saphana/ParserTest.java +++ b/filter-plugin/logstash-filter-saphana-guardium/src/test/java/com/ibm/guardium/saphana/ParserTest.java @@ -11,7 +11,15 @@ import com.google.gson.JsonParser; import com.ibm.guardium.saphana.Constants; import com.ibm.guardium.saphana.Parser; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.junit.Assert; diff --git a/filter-plugin/logstash-filter-scylldb-guardium/build.gradle b/filter-plugin/logstash-filter-scylldb-guardium/build.gradle index adff3eeed..e894111bf 100644 --- a/filter-plugin/logstash-filter-scylldb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-scylldb-guardium/build.gradle @@ -2,6 +2,28 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + mavenCentral() + jcenter() + maven { + url "https://plugins.gradle.org/m2/" + } + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + //classpath 'org.owasp:dependency-check-gradle:8.3.1' + //classpath "com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.8" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply plugin: 'jacoco' apply plugin: 'eclipse' apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" @@ -22,26 +44,8 @@ pluginInfo.pluginClass = "ScyllaDbGuardiumFilter" pluginInfo.pluginName = "scylladb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 -buildscript { - repositories { - mavenCentral() - jcenter() - maven { - url "https://plugins.gradle.org/m2/" - } - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0' - //classpath 'org.owasp:dependency-check-gradle:8.3.1' - //classpath "com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.8" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 repositories { mavenCentral() @@ -51,7 +55,7 @@ apply plugin: "com.github.johnrengelman.shadow" //apply plugin: 'org.owasp.dependencycheck' shadowJar { - classifier = null + archiveClassifier = null transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer) } @@ -84,7 +88,6 @@ tasks.withType(JavaCompile) { /*spotbugs { ignoreFailures = true showStackTraces = false - reportsDir = file("$buildDir/spotbugs") } spotbugsMain { @@ -99,8 +102,8 @@ spotbugsMain { } tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { reports { - xml.enabled = false - html.enabled = true + xml.required = false + html.required = true } }*/ @@ -121,7 +124,6 @@ task vendor(dependsOn: shadowJar) { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -152,8 +154,8 @@ tasks.register("gem"){ jacocoTestReport { reports { - xml.enabled true - html.enabled true + xml.required = true + html.required = true } afterEvaluate { // (optional) : to exclude classes / packages from coverage diff --git a/filter-plugin/logstash-filter-scylldb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-scylldb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-scylldb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-scylldb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-singlestore-guardium/build.gradle b/filter-plugin/logstash-filter-singlestore-guardium/build.gradle index 455f3c2a6..9af865a7d 100755 --- a/filter-plugin/logstash-filter-singlestore-guardium/build.gradle +++ b/filter-plugin/logstash-filter-singlestore-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -21,10 +42,10 @@ pluginInfo.pluginName = "singlestoredb_guardium_filter" // must match the @ // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -32,24 +53,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -64,14 +67,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -103,6 +105,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -145,17 +158,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-singlestore-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-singlestore-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-singlestore-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-singlestore-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-singlestore-guardium/src/main/java/com/ibm/guardium/singlestore/Parser.java b/filter-plugin/logstash-filter-singlestore-guardium/src/main/java/com/ibm/guardium/singlestore/Parser.java index 890b8ef59..864b69d80 100644 --- a/filter-plugin/logstash-filter-singlestore-guardium/src/main/java/com/ibm/guardium/singlestore/Parser.java +++ b/filter-plugin/logstash-filter-singlestore-guardium/src/main/java/com/ibm/guardium/singlestore/Parser.java @@ -5,7 +5,15 @@ package com.ibm.guardium.singlestore; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.logging.log4j.LogManager; diff --git a/filter-plugin/logstash-filter-singlestore-guardium/src/test/java/com/ibm/guardium/singlestore/ParserTest.java b/filter-plugin/logstash-filter-singlestore-guardium/src/test/java/com/ibm/guardium/singlestore/ParserTest.java index 3258547e8..e94859c91 100644 --- a/filter-plugin/logstash-filter-singlestore-guardium/src/test/java/com/ibm/guardium/singlestore/ParserTest.java +++ b/filter-plugin/logstash-filter-singlestore-guardium/src/test/java/com/ibm/guardium/singlestore/ParserTest.java @@ -7,7 +7,15 @@ import co.elastic.logstash.api.Event; import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import java.util.ArrayList; diff --git a/filter-plugin/logstash-filter-snowflake-guardium/build.gradle b/filter-plugin/logstash-filter-snowflake-guardium/build.gradle index b6077cf40..d3f43b773 100644 --- a/filter-plugin/logstash-filter-snowflake-guardium/build.gradle +++ b/filter-plugin/logstash-filter-snowflake-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginName = "guardium_snowflake_filter" // must match the @Logs pluginInfo.email = "" // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { @@ -63,14 +66,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -102,6 +104,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -144,17 +157,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-snowflake-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-snowflake-guardium/gradle/wrapper/gradle-wrapper.properties index 60c76b340..ba9ccfe4c 100644 --- a/filter-plugin/logstash-filter-snowflake-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-snowflake-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SQLErrorEventParser.java b/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SQLErrorEventParser.java index 0ccbc4384..9623075b6 100644 --- a/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SQLErrorEventParser.java +++ b/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SQLErrorEventParser.java @@ -9,7 +9,15 @@ import com.ibm.guardium.snowflakedb.utils.Constants; import com.ibm.guardium.snowflakedb.utils.DefaultGuardRecordBuilder; import com.ibm.guardium.snowflakedb.exceptions.ParseException; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SuccessEventParser.java b/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SuccessEventParser.java index c844bf0d3..575dcc8e4 100644 --- a/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SuccessEventParser.java +++ b/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/parser/SuccessEventParser.java @@ -15,7 +15,15 @@ import com.ibm.guardium.snowflakedb.utils.Constants; import com.ibm.guardium.snowflakedb.utils.DefaultGuardRecordBuilder; import com.ibm.guardium.snowflakedb.exceptions.ParseException; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import com.ibm.guardium.universalconnector.commons.structures.Record; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/utils/DefaultGuardRecordBuilder.java b/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/utils/DefaultGuardRecordBuilder.java index bff467e17..37ccd799a 100644 --- a/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/utils/DefaultGuardRecordBuilder.java +++ b/filter-plugin/logstash-filter-snowflake-guardium/src/main/java/com/ibm/guardium/snowflakedb/utils/DefaultGuardRecordBuilder.java @@ -5,7 +5,15 @@ package com.ibm.guardium.snowflakedb.utils; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; public class DefaultGuardRecordBuilder { public Record buildGuardRecordWithDefaultValues(){ diff --git a/filter-plugin/logstash-filter-teradatadb-guardium/build.gradle b/filter-plugin/logstash-filter-teradatadb-guardium/build.gradle index 9c658dfb6..001c6c596 100644 --- a/filter-plugin/logstash-filter-teradatadb-guardium/build.gradle +++ b/filter-plugin/logstash-filter-teradatadb-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "TeradatadbGuardiumPluginFilter" pluginInfo.pluginName = "teradatadb_guardium_plugin_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" @@ -33,24 +54,6 @@ if (minimumCoverageStr.endsWith("%")) { def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -64,14 +67,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -104,6 +106,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -140,18 +153,17 @@ apply plugin: "org.barfuin.gradle.jacocolog" jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-teradatadb-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-teradatadb-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-teradatadb-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-teradatadb-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-trino-guardium/build.gradle b/filter-plugin/logstash-filter-trino-guardium/build.gradle index 77d1dd682..00056ae8a 100644 --- a/filter-plugin/logstash-filter-trino-guardium/build.gradle +++ b/filter-plugin/logstash-filter-trino-guardium/build.gradle @@ -3,6 +3,28 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' apply plugin: 'jacoco' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } + +} + +def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" apply plugin: "com.github.johnrengelman.shadow" apply plugin: "eclipse" @@ -24,10 +46,10 @@ pluginInfo.pluginClass = "TrinoGuardiumFilter" pluginInfo.pluginName = "trino_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.9' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -35,26 +57,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } - -} - -def universalConnectorsDir = project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load(new File("${universalConnectorsDir}/versions.yml").newInputStream()) - repositories { mavenCentral() @@ -68,14 +70,13 @@ tasks.register("vendor") { File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } @@ -155,17 +156,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-trino-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-trino-guardium/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/filter-plugin/logstash-filter-trino-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-trino-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/filter-plugin/logstash-filter-trino-guardium/src/main/java/com/ibm/guardium/trino/Parser.java b/filter-plugin/logstash-filter-trino-guardium/src/main/java/com/ibm/guardium/trino/Parser.java index 6d61f6049..8120fb2d9 100644 --- a/filter-plugin/logstash-filter-trino-guardium/src/main/java/com/ibm/guardium/trino/Parser.java +++ b/filter-plugin/logstash-filter-trino-guardium/src/main/java/com/ibm/guardium/trino/Parser.java @@ -7,7 +7,15 @@ import com.google.gson.JsonObject; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.commons.validator.routines.InetAddressValidator; import java.time.ZonedDateTime; diff --git a/filter-plugin/logstash-filter-yugabyte-guardium/build.gradle b/filter-plugin/logstash-filter-yugabyte-guardium/build.gradle index 715f8b73e..6ed7fa4b6 100644 --- a/filter-plugin/logstash-filter-yugabyte-guardium/build.gradle +++ b/filter-plugin/logstash-filter-yugabyte-guardium/build.gradle @@ -2,6 +2,27 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + mavenCentral() + jcenter() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.1.0" + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,10 +41,10 @@ pluginInfo.pluginClass = "YugabytedbGuardiumFilter" pluginInfo.pluginName = "yugabytedb_guardium_filter" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -def jacocoVersion = '0.8.4' +def jacocoVersion = '0.8.11' // minimumCoverage can be set by Travis ENV def minimumCoverageStr = System.getenv("MINIMUM_COVERAGE") ?: "50.0%" if (minimumCoverageStr.endsWith("%")) { @@ -31,24 +52,6 @@ if (minimumCoverageStr.endsWith("%")) { } def minimumCoverage = Float.valueOf(minimumCoverageStr) / 100 -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - mavenCentral() - jcenter() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - classpath "org.barfuin.gradle.jacocolog:gradle-jacoco-log:3.0.0-RC2" - classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' - } -} - -def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); -def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) repositories { mavenCentral() @@ -62,14 +65,13 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -101,6 +103,17 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +test { + jvmArgs = [ + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.text=ALL-UNNAMED', + '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', + '--add-opens=java.base/sun.util.resources=ALL-UNNAMED', + '--add-opens=java.base/sun.util.cldr=ALL-UNNAMED' + ] +} + tasks.register("generateRubySupportFiles") { @@ -143,17 +156,16 @@ apply plugin: "org.barfuin.gradle.jacocolog" // ------------------------------------ jacoco { toolVersion = "${jacocoVersion}" - reportsDir = file("$buildDir/reports/jacoco") } jacocoTestReport { // You will see "Report -> file://...." at the end of a JaCoCo build // If no output, run this first: ./gradlew test reports { - html.enabled true - xml.enabled true - csv.enabled true - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.required = true + xml.required = true + csv.required = true + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/filter-plugin/logstash-filter-yugabyte-guardium/gradle/wrapper/gradle-wrapper.properties b/filter-plugin/logstash-filter-yugabyte-guardium/gradle/wrapper/gradle-wrapper.properties index 60c76b340..ba9ccfe4c 100644 --- a/filter-plugin/logstash-filter-yugabyte-guardium/gradle/wrapper/gradle-wrapper.properties +++ b/filter-plugin/logstash-filter-yugabyte-guardium/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/filter-plugin/logstash-filter-yugabyte-guardium/src/main/java/com/ibm/guardium/yugabytedb/Parser.java b/filter-plugin/logstash-filter-yugabyte-guardium/src/main/java/com/ibm/guardium/yugabytedb/Parser.java index 69b0de9c8..7ac51d837 100644 --- a/filter-plugin/logstash-filter-yugabyte-guardium/src/main/java/com/ibm/guardium/yugabytedb/Parser.java +++ b/filter-plugin/logstash-filter-yugabyte-guardium/src/main/java/com/ibm/guardium/yugabytedb/Parser.java @@ -5,7 +5,15 @@ package com.ibm.guardium.yugabytedb; -import com.ibm.guardium.universalconnector.commons.structures.*; +import com.ibm.guardium.universalconnector.commons.structures.Accessor; +import com.ibm.guardium.universalconnector.commons.structures.Construct; +import com.ibm.guardium.universalconnector.commons.structures.Data; +import com.ibm.guardium.universalconnector.commons.structures.ExceptionRecord; +import com.ibm.guardium.universalconnector.commons.structures.Record; +import com.ibm.guardium.universalconnector.commons.structures.Sentence; +import com.ibm.guardium.universalconnector.commons.structures.SentenceObject; +import com.ibm.guardium.universalconnector.commons.structures.SessionLocator; +import com.ibm.guardium.universalconnector.commons.structures.Time; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/gi_plugins_templates.zip b/gi_plugins_templates.zip new file mode 100644 index 000000000..2e1f9ab22 Binary files /dev/null and b/gi_plugins_templates.zip differ diff --git a/input-plugin/logstash-input-adabas/build.gradle b/input-plugin/logstash-input-adabas/build.gradle index d3d7a0d27..7842b13d1 100644 --- a/input-plugin/logstash-input-adabas/build.gradle +++ b/input-plugin/logstash-input-adabas/build.gradle @@ -19,6 +19,11 @@ ext { } +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -38,8 +43,8 @@ pluginInfo.pluginName = "adabas_auditing_input" // must match the @Logstash // =========================================================================== java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/input-plugin/logstash-input-beats/FilebeatInputPackage/Filebeat/input.conf b/input-plugin/logstash-input-beats/FilebeatInputPackage/Filebeat/input.conf index 70952721e..331f92df8 100644 --- a/input-plugin/logstash-input-beats/FilebeatInputPackage/Filebeat/input.conf +++ b/input-plugin/logstash-input-beats/FilebeatInputPackage/Filebeat/input.conf @@ -1,7 +1,7 @@ input{ beats { port => guc_input_param_port - ssl => guc_input_param_is_ssl + ssl_enabled => guc_input_param_is_ssl ssl_certificate_authorities => SSL_CERT_AUTH ssl_certificate => "/service/certs/external/tls.crt" ssl_key => "/service/certs/external/tls.key" diff --git a/input-plugin/logstash-input-couchbase-capella/build.gradle b/input-plugin/logstash-input-couchbase-capella/build.gradle index 977160c2b..32a8867cc 100644 --- a/input-plugin/logstash-input-couchbase-capella/build.gradle +++ b/input-plugin/logstash-input-couchbase-capella/build.gradle @@ -10,6 +10,10 @@ buildscript { gradlePluginPortal() jcenter() } + + dependencies { + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } } plugins { @@ -24,6 +28,10 @@ ext { shadowGradlePluginVersion = '8.1.1' } +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -44,8 +52,8 @@ pluginInfo.pluginName = "couchbase_capella_input" // must match the @Logsta // =========================================================================== java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } def jacocoVersion = '0.8.4' @@ -70,11 +78,12 @@ dependencies { implementation 'org.apache.commons:commons-lang3:3.7' compileOnly 'org.apache.logging.log4j:log4j-api:2.17.0' // provided by Logstash implementation 'org.apache.logging.log4j:log4j-core:2.17.0' // provided by Logstash + implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "**/logstash-core.jar") implementation 'org.apache.httpcomponents:httpclient:4.5.13' implementation 'com.google.code.gson:gson:2.8.9' - implementation 'com.google.guava:guava:30.1-jre' + implementation 'com.google.guava:guava:' + versions.dependencies.guava testImplementation 'junit:junit:4.12' @@ -106,7 +115,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } @@ -164,8 +172,8 @@ jacocoTestReport { csv { enabled true } - html.destination file("${buildDir}/reports/jacoco") - csv.destination file("${buildDir}/reports/jacoco/all.csv") + html.outputLocation = file("${buildDir}/reports/jacoco") + csv.outputLocation = file("${buildDir}/reports/jacoco/all.csv") } executionData.from fileTree(dir: "${buildDir}/jacoco/", includes: [ '**/*.exec' diff --git a/input-plugin/logstash-input-mongo-atlas/build.gradle b/input-plugin/logstash-input-mongo-atlas/build.gradle index 27ec1768d..ad6c76f72 100644 --- a/input-plugin/logstash-input-mongo-atlas/build.gradle +++ b/input-plugin/logstash-input-mongo-atlas/build.gradle @@ -2,26 +2,6 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' -apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" - -// =========================================================================== -// plugin info -// =========================================================================== -group 'org.logstashplugins' // must match the package of the main plugin class -version "${file("VERSION").text.trim()}" // read from required VERSION file -description = "MongoDB-Atlas-Guardium input plugin" -pluginInfo.licenses = ['Apache-2.0'] // list of SPDX license IDs -pluginInfo.longDescription = "This gem is a Logstash MongoDB filter plugin required to be installed as part of IBM Security Guardium, Guardium Universal connector configuration. This gem is not a stand-alone program." -pluginInfo.authors = ['IBM'] -pluginInfo.email = [''] -pluginInfo.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html" -pluginInfo.pluginType = "input" -pluginInfo.pluginClass = "MongoAtlasInput" -pluginInfo.pluginName = "mongo_atlas_input" // must match the @LogstashPlugin annotation in the main plugin class -// =========================================================================== - -sourceCompatibility = 1.8 -targetCompatibility = 1.8 buildscript { buildscript { @@ -34,7 +14,7 @@ buildscript { } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' } } @@ -42,6 +22,29 @@ buildscript { def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + +apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" + +// =========================================================================== +// plugin info +// =========================================================================== +group 'org.logstashplugins' // must match the package of the main plugin class +version "${file("VERSION").text.trim()}" // read from required VERSION file +description = "MongoDB-Atlas-Guardium input plugin" +pluginInfo.licenses = ['Apache-2.0'] // list of SPDX license IDs +pluginInfo.longDescription = "This gem is a Logstash MongoDB filter plugin required to be installed as part of IBM Security Guardium, Guardium Universal connector configuration. This gem is not a stand-alone program." +pluginInfo.authors = ['IBM'] +pluginInfo.email = [''] +pluginInfo.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html" +pluginInfo.pluginType = "input" +pluginInfo.pluginClass = "MongoAtlasInput" +pluginInfo.pluginName = "mongo_atlas_input" // must match the @LogstashPlugin annotation in the main plugin class +// =========================================================================== + +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 + repositories { mavenCentral() @@ -50,7 +53,7 @@ repositories { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { - classifier = null + archiveClassifier = null } dependencies { @@ -91,7 +94,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } diff --git a/input-plugin/logstash-input-mongo-atlas/gradle/wrapper/gradle-wrapper.properties b/input-plugin/logstash-input-mongo-atlas/gradle/wrapper/gradle-wrapper.properties index aa991fcea..81aa1c044 100644 --- a/input-plugin/logstash-input-mongo-atlas/gradle/wrapper/gradle-wrapper.properties +++ b/input-plugin/logstash-input-mongo-atlas/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/input-plugin/logstash-input-s3sqs/build.gradle b/input-plugin/logstash-input-s3sqs/build.gradle index 213653206..294245d5d 100644 --- a/input-plugin/logstash-input-s3sqs/build.gradle +++ b/input-plugin/logstash-input-s3sqs/build.gradle @@ -2,6 +2,23 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' + +buildscript { + repositories { + mavenCentral() + gradlePluginPortal() + } + + dependencies { + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' + } +} + +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,21 +37,9 @@ pluginInfo.pluginClass = "S3SQS" pluginInfo.pluginName = "s3_sqs" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 -} +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 -buildscript { - repositories { - mavenCentral() - gradlePluginPortal() - } - - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' - } -} repositories { mavenCentral() @@ -43,6 +48,7 @@ repositories { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { + archiveClassifier = null zip64 true } @@ -65,15 +71,17 @@ dependencies { implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.2' implementation("org.apache.commons:commons-csv:1.14.0") + implementation group: 'commons-beanutils', name: 'commons-beanutils', version: versions.dependencies.commonsBeanutils + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "**/logstash-core*.jar") implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") - testCompile 'junit:junit:4.13.1' - testCompile 'org.jruby:jruby-complete:9.3.2.0' + testImplementation 'junit:junit:4.13.1' + testImplementation 'org.jruby:jruby-complete:9.3.2.0' - testCompile fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") + testImplementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") testImplementation("org.junit.jupiter:junit-jupiter-api:5.12.1") } @@ -100,7 +108,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } diff --git a/input-plugin/logstash-input-s3sqs/gradle/wrapper/gradle-wrapper.properties b/input-plugin/logstash-input-s3sqs/gradle/wrapper/gradle-wrapper.properties index bb8b2fc26..81aa1c044 100644 --- a/input-plugin/logstash-input-s3sqs/gradle/wrapper/gradle-wrapper.properties +++ b/input-plugin/logstash-input-s3sqs/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/input-plugin/logstash-input-sqs-custom/build.gradle b/input-plugin/logstash-input-sqs-custom/build.gradle index 69995de47..0b67c80ac 100644 --- a/input-plugin/logstash-input-sqs-custom/build.gradle +++ b/input-plugin/logstash-input-sqs-custom/build.gradle @@ -2,6 +2,11 @@ import java.nio.file.Files import static java.nio.file.StandardCopyOption.REPLACE_EXISTING apply plugin: 'java' +def universalConnectorsDir=project.projectDir.parentFile?.parentFile.toString(); +def versions = new org.yaml.snakeyaml.Yaml().load( new File("${universalConnectorsDir}/versions.yml").newInputStream() ) +gradle.ext.versions = new org.yaml.snakeyaml.Yaml().load( new File(LOGSTASH_CORE_PATH + "/../versions.yml").newInputStream() ) + + apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle" // =========================================================================== @@ -20,8 +25,8 @@ pluginInfo.pluginClass = "CustomSQS" pluginInfo.pluginName = "custom_sqs" // must match the @LogstashPlugin annotation in the main plugin class // =========================================================================== -sourceCompatibility = 1.11 -targetCompatibility = 1.11 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 buildscript { repositories { @@ -30,7 +35,8 @@ buildscript { } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4' + classpath 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1' + classpath group: 'org.yaml', name: 'snakeyaml', version: '2.2' } ext { @@ -46,6 +52,7 @@ repositories { apply plugin: 'com.github.johnrengelman.shadow' shadowJar { + archiveClassifier = null zip64 true } @@ -59,14 +66,14 @@ dependencies { implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1' - implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "**/logstash-core*.jar") - implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") + implementation fileTree(dir: LOGSTASH_CORE_PATH, include: "build/libs/logstash-core.jar") + implementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") - testCompile 'junit:junit:4.13.1' - testCompile 'org.jruby:jruby-complete:9.3.2.0' + testImplementation 'junit:junit:4.13.1' + testImplementation 'org.jruby:jruby-complete:9.3.2.0' - testCompile fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "guardium-universalconnector-commons*.jar") + testImplementation fileTree(dir: GUARDIUM_UNIVERSALCONNECTOR_COMMONS_PATH, include: "common-*.*.*.jar") testImplementation("org.junit.jupiter:junit-jupiter-api:5.12.1") } @@ -93,7 +100,6 @@ tasks.register("vendor"){ File projectJarFile = file("${vendorPathPrefix}/${projectGroupPath}/${pluginInfo.pluginFullName()}/${project.version}/${pluginInfo.pluginFullName()}-${project.version}.jar") projectJarFile.mkdirs() Files.copy(file("$buildDir/libs/${project.name}-${project.version}.jar").toPath(), projectJarFile.toPath(), REPLACE_EXISTING) - validatePluginJar(projectJarFile, project.group) } } diff --git a/input-plugin/logstash-input-sqs-custom/gradle/wrapper/gradle-wrapper.properties b/input-plugin/logstash-input-sqs-custom/gradle/wrapper/gradle-wrapper.properties index bb8b2fc26..81aa1c044 100644 --- a/input-plugin/logstash-input-sqs-custom/gradle/wrapper/gradle-wrapper.properties +++ b/input-plugin/logstash-input-sqs-custom/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/versions.yml b/versions.yml index fe357e5f2..65ae8041d 100644 --- a/versions.yml +++ b/versions.yml @@ -1,19 +1,19 @@ --- dependencies: commonsValidator: 1.7 - log4jCore: 2.22.0 + log4jCore: 2.25.3 log4jApi: 2.17.2 - commonsLang: 3.7 + commonsLang: 3.18.0 gson: 2.8.9 junit: 4.12 jrubyComplete: 9.2.7.0 junitJupiter: 5.7.1 mockitoAll: 2.0.2-beta json: 20231013 - parboiledJava: 1.1.8 + parboiledJava: 1.4.1 javaxJson: 1.1.4 guava: 32.1.3-jre commonsText: 1.10.0 tinkergraphGremlin: 3.6.8 - rdf4jQueryparserSparql: 5.0.3 + rdf4jQueryparserSparql: 5.0.3 commonsBeanutils: 1.11.0 \ No newline at end of file