diff --git a/TrafficCapture/build.gradle b/TrafficCapture/build.gradle index 6ae9a3372..aaa2b3e19 100644 --- a/TrafficCapture/build.gradle +++ b/TrafficCapture/build.gradle @@ -1,6 +1,7 @@ plugins { id 'jacoco' id 'org.owasp.dependencycheck' version '8.2.1' + id 'io.freefair.lombok' version '8.6' apply false } allprojects { diff --git a/TrafficCapture/captureKafkaOffloader/build.gradle b/TrafficCapture/captureKafkaOffloader/build.gradle index 142cbbf04..a9b682bb0 100644 --- a/TrafficCapture/captureKafkaOffloader/build.gradle +++ b/TrafficCapture/captureKafkaOffloader/build.gradle @@ -1,7 +1,7 @@ plugins { id 'org.opensearch.migrations.java-library-conventions' - id("io.freefair.lombok") version "8.0.1" + id 'io.freefair.lombok' } repositories { @@ -9,30 +9,22 @@ repositories { } dependencies { + api project(":trafficCaptureDependencies") implementation project(':captureOffloader') implementation project(':coreUtilities') - implementation group: 'com.google.protobuf', name:'protobuf-java', version:'3.22.2' - api group:'io.netty', name:'netty-buffer', version: '4.1.100.Final' - implementation group: 'org.projectlombok', name:'lombok', version:'1.18.26' - implementation group: 'org.apache.kafka', name:'kafka-clients', version:'3.6.0' - implementation group: 'org.slf4j', name:'slf4j-api', version:'2.0.7' - implementation group: 'software.amazon.msk', name:'aws-msk-iam-auth', version:'2.0.3' + implementation group: 'com.google.protobuf', name:'protobuf-java' + api group:'io.netty', name:'netty-buffer' + implementation group: 'org.projectlombok', name:'lombok' + implementation group: 'org.apache.kafka', name:'kafka-clients' + implementation group: 'org.slf4j', name:'slf4j-api' + implementation group: 'software.amazon.msk', name:'aws-msk-iam-auth' testImplementation project(':captureProtobufs') testImplementation testFixtures(project(path: ':coreUtilities')) - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.20.0' - testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.6.1' - testImplementation group: 'org.mockito', name: 'mockito-junit-jupiter', version: '4.6.1' - testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' + testImplementation group: 'org.mockito', name: 'mockito-core' + testImplementation group: 'org.mockito', name: 'mockito-junit-jupiter' + testImplementation group: 'org.slf4j', name: 'slf4j-api' } - - -configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - if (details.requested.group == 'io.netty') { - details.useVersion '4.1.100.Final' - } - } -} \ No newline at end of file diff --git a/TrafficCapture/captureOffloader/build.gradle b/TrafficCapture/captureOffloader/build.gradle index c17af9da4..d028048ca 100644 --- a/TrafficCapture/captureOffloader/build.gradle +++ b/TrafficCapture/captureOffloader/build.gradle @@ -4,7 +4,7 @@ plugins { id 'org.opensearch.migrations.java-library-conventions' - id("io.freefair.lombok") version "8.0.1" + id 'io.freefair.lombok' id 'java-test-fixtures' } @@ -20,22 +20,23 @@ sourceSets { } } dependencies { - api group: 'io.netty', name: 'netty-buffer', version: '4.1.100.Final' + api project(":trafficCaptureDependencies") + api group: 'io.netty', name: 'netty-buffer' implementation project(':captureProtobufs') implementation project(':coreUtilities') - implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.22.2' - implementation group: 'org.projectlombok', name: 'lombok', version: '1.18.26' - implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' + implementation group: 'com.google.protobuf', name: 'protobuf-java' + implementation group: 'org.projectlombok', name: 'lombok' + implementation group: 'org.slf4j', name: 'slf4j-api' testImplementation testFixtures(project(path: ':testUtilities')) testImplementation project(':coreUtilities') - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.20.0' - testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' + testImplementation group: 'org.slf4j', name: 'slf4j-api' testFixturesImplementation project(':captureProtobufs') testFixturesImplementation project(':coreUtilities') - testFixturesImplementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.22.2' + testFixturesImplementation group: 'com.google.protobuf', name: 'protobuf-java' } diff --git a/TrafficCapture/captureProtobufs/build.gradle b/TrafficCapture/captureProtobufs/build.gradle index 2dcbf277f..4ebf069dc 100644 --- a/TrafficCapture/captureProtobufs/build.gradle +++ b/TrafficCapture/captureProtobufs/build.gradle @@ -12,7 +12,8 @@ repositories { } dependencies { - api "com.google.protobuf:protobuf-java:3.22.2" + api project(":trafficCaptureDependencies") + api group: 'com.google.protobuf', name: 'protobuf-java', version: '3.22.2' } protobuf { diff --git a/TrafficCapture/coreUtilities/build.gradle b/TrafficCapture/coreUtilities/build.gradle index cd829830f..b0a7120a6 100644 --- a/TrafficCapture/coreUtilities/build.gradle +++ b/TrafficCapture/coreUtilities/build.gradle @@ -18,65 +18,44 @@ buildscript { plugins { id 'org.opensearch.migrations.java-library-conventions' -// id "com.github.spotbugs" version "4.7.3" -// id 'checkstyle' - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' id 'java' id 'java-test-fixtures' } -//spotbugs { -// includeFilter = new File(rootDir, 'config/spotbugs/spotbugs-include.xml') -//} - -//checkstyle { -// toolVersion = '10.12.3' -// configFile = new File(rootDir, 'config/checkstyle/checkstyle.xml') -// System.setProperty('checkstyle.cache.file', String.format('%s/%s', -// buildDir, 'checkstyle.cachefile')) -//} - repositories { mavenCentral() } dependencies { - api platform("io.opentelemetry:opentelemetry-bom:1.34.1") + api project(":trafficCaptureDependencies") implementation project(':captureProtobufs') - implementation "com.google.protobuf:protobuf-java:3.22.2" - implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' + implementation group: "com.google.protobuf", name: "protobuf-java" + implementation group: 'org.slf4j', name: 'slf4j-api' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.20.0' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' // Log4j - implementation(platform("org.apache.logging.log4j:log4j-bom:2.21.1")) implementation group: 'org.apache.logging.log4j', name: 'log4j-api' implementation group: 'org.apache.logging.log4j', name: 'log4j-core' - implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.20.0' + implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' // OpenTelemetry core api group: 'io.opentelemetry', name: 'opentelemetry-api' api group: 'io.opentelemetry', name: 'opentelemetry-sdk' implementation group: 'io.opentelemetry', name: 'opentelemetry-exporter-otlp' - implementation group: 'io.opentelemetry.semconv', name: 'opentelemetry-semconv', version: '1.23.1-alpha' + implementation group: 'io.opentelemetry.semconv', name: 'opentelemetry-semconv' testFixturesApi group: 'io.opentelemetry', name: 'opentelemetry-api' testFixturesApi group: 'io.opentelemetry', name: 'opentelemetry-sdk' testFixturesApi group: 'io.opentelemetry', name: 'opentelemetry-sdk-testing' - testFixturesImplementation platform("io.opentelemetry:opentelemetry-bom:1.34.1") testFixturesImplementation group: 'io.opentelemetry', name: 'opentelemetry-api' testFixturesImplementation group: 'io.opentelemetry', name: 'opentelemetry-sdk-testing' - testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' -} - -configurations.all { - resolutionStrategy { - force 'com.squareup.okio:okio-jvm:3.4.0' - } + testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api' } tasks.named('test') { diff --git a/TrafficCapture/nettyWireLogging/build.gradle b/TrafficCapture/nettyWireLogging/build.gradle index 862359df8..427219fcd 100644 --- a/TrafficCapture/nettyWireLogging/build.gradle +++ b/TrafficCapture/nettyWireLogging/build.gradle @@ -4,29 +4,29 @@ plugins { id 'org.opensearch.migrations.java-library-conventions' - id("io.freefair.lombok") version "8.0.1" + id 'io.freefair.lombok' } dependencies { - implementation platform("io.netty:netty-bom:4.1.100.Final") + api project(":trafficCaptureDependencies") implementation project(':captureOffloader') implementation project(':coreUtilities') - api group: 'io.netty', name: 'netty-buffer', version: '4.1.100.Final' - api group: 'io.netty', name: 'netty-codec-http', version: '4.1.108.Final' - api group: 'io.netty', name: 'netty-handler', version: '4.1.100.Final' + api group: 'io.netty', name: 'netty-buffer' + api group: 'io.netty', name: 'netty-codec-http' + api group: 'io.netty', name: 'netty-handler' - implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' + implementation group: 'org.slf4j', name: 'slf4j-api' testImplementation project(':captureProtobufs') - testImplementation group: 'com.google.guava', name: 'guava', version: '32.0.1-jre' - testImplementation group: 'com.google.protobuf', name: 'protobuf-java', version:'3.22.2' + testImplementation group: 'com.google.guava', name: 'guava' + testImplementation group: 'com.google.protobuf', name: 'protobuf-java' testImplementation group: 'io.opentelemetry', name: 'opentelemetry-sdk-testing' - testImplementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.2.1' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.20.0' - testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' + testImplementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' + testImplementation group: 'org.slf4j', name: 'slf4j-api' testImplementation testFixtures(project(path: ':testUtilities')) testImplementation testFixtures(project(path: ':coreUtilities')) diff --git a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformer/build.gradle b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformer/build.gradle index 3a5406946..e9aff3642 100644 --- a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformer/build.gradle +++ b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformer/build.gradle @@ -5,18 +5,18 @@ buildscript { } plugins { - id("io.freefair.lombok") version "8.0.1" + id 'io.freefair.lombok' } dependencies { implementation project(':replayerPlugins:jsonMessageTransformers:jsonMessageTransformerInterface') - implementation group: 'io.burt', name: 'jmespath-core', version: '0.6.0' - implementation group: 'org.slf4j', name:"slf4j-api", version:"2.0.7" + implementation group: 'io.burt', name: 'jmespath-core' + implementation group: 'org.slf4j', name:"slf4j-api" testImplementation project(':trafficReplayer') - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.9.3' - testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine', version:'5.x.x' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' + testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine' } tasks.named('test') { diff --git a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformerProvider/build.gradle b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformerProvider/build.gradle index 7104844f0..59880141e 100644 --- a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformerProvider/build.gradle +++ b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJMESPathMessageTransformerProvider/build.gradle @@ -5,25 +5,25 @@ buildscript { } plugins { - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' } dependencies { implementation project(':replayerPlugins:jsonMessageTransformers:jsonMessageTransformerInterface') implementation project(':replayerPlugins:jsonMessageTransformers:jsonJMESPathMessageTransformer') - implementation group: 'io.burt', name: 'jmespath-core', version: '0.6.0' + implementation group: 'io.burt', name: 'jmespath-core' testImplementation project(':trafficReplayer') testImplementation testFixtures(project(path: ':testUtilities')) testImplementation testFixtures(project(path: ':trafficReplayer')) - testImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - testImplementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.9.3' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-params', version:'5.9.3' - testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' - testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine', version:'5.x.x' + testImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + testImplementation group: 'io.netty', name: 'netty-all' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-params' + testImplementation group: 'org.slf4j', name: 'slf4j-api' + testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine' } tasks.named('test') { diff --git a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformer/build.gradle b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformer/build.gradle index e90cb412d..366e39c0f 100644 --- a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformer/build.gradle +++ b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformer/build.gradle @@ -5,19 +5,20 @@ buildscript { } plugins { - id("io.freefair.lombok") version "8.0.1" + id 'io.freefair.lombok' } dependencies { + implementation project(":trafficCaptureDependencies") implementation project(':replayerPlugins:jsonMessageTransformers:jsonMessageTransformerInterface') - implementation group: 'com.bazaarvoice.jolt', name: 'jolt-core', version: '0.1.7' - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - implementation group: 'org.slf4j', name:"slf4j-api", version:"2.0.7" + implementation group: 'com.bazaarvoice.jolt', name: 'jolt-core' + implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + implementation group: 'org.slf4j', name:"slf4j-api" testImplementation project(':trafficReplayer') - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.9.3' - testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine', version:'5.x.x' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' + testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine' } tasks.named('test') { diff --git a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformerProvider/build.gradle b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformerProvider/build.gradle index 814c9e2b8..e779bb0e4 100644 --- a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformerProvider/build.gradle +++ b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonJoltMessageTransformerProvider/build.gradle @@ -5,7 +5,7 @@ buildscript { } plugins { - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' } dependencies { @@ -19,12 +19,12 @@ dependencies { testImplementation testFixtures(project(path: ':testUtilities')) testImplementation testFixtures(project(path: ':trafficReplayer')) - testImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - testImplementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.9.3' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-params', version:'5.9.3' - testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' - testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine', version:'5.x.x' + testImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + testImplementation group: 'io.netty', name: 'netty-all' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-params' + testImplementation group: 'org.slf4j', name: 'slf4j-api' + testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine' } tasks.named('test') { diff --git a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonMessageTransformerInterface/build.gradle b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonMessageTransformerInterface/build.gradle index 016a4af28..f84ef01fb 100644 --- a/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonMessageTransformerInterface/build.gradle +++ b/TrafficCapture/replayerPlugins/jsonMessageTransformers/jsonMessageTransformerInterface/build.gradle @@ -19,7 +19,7 @@ buildscript { plugins { id 'org.opensearch.migrations.java-library-conventions' id 'org.owasp.dependencycheck' version '8.2.1' - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' } repositories { @@ -27,6 +27,7 @@ repositories { } dependencies { + api project(":trafficCaptureDependencies") } tasks.named('test') { diff --git a/TrafficCapture/replayerPlugins/jsonMessageTransformers/openSearch23PlusTargetTransformerProvider/build.gradle b/TrafficCapture/replayerPlugins/jsonMessageTransformers/openSearch23PlusTargetTransformerProvider/build.gradle index c91e22597..83add6b62 100644 --- a/TrafficCapture/replayerPlugins/jsonMessageTransformers/openSearch23PlusTargetTransformerProvider/build.gradle +++ b/TrafficCapture/replayerPlugins/jsonMessageTransformers/openSearch23PlusTargetTransformerProvider/build.gradle @@ -1,5 +1,5 @@ plugins { - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' } dependencies { @@ -9,11 +9,11 @@ dependencies { testImplementation testFixtures(project(path: ':testUtilities')) testImplementation testFixtures(project(path: ':trafficReplayer')) - testImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - testImplementation group: 'com.google.guava', name: 'guava', version: '32.0.1-jre' - testImplementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.9.3' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-params', version:'5.9.3' - testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' - testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine', version:'5.x.x' + testImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + testImplementation group: 'com.google.guava', name: 'guava' + testImplementation group: 'io.netty', name: 'netty-all' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-params' + testImplementation group: 'org.slf4j', name: 'slf4j-api' + testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine' } diff --git a/TrafficCapture/settings.gradle b/TrafficCapture/settings.gradle index a2cb4cc5a..714eaf340 100644 --- a/TrafficCapture/settings.gradle +++ b/TrafficCapture/settings.gradle @@ -41,6 +41,8 @@ include('captureKafkaOffloader', ) addSubProjects('', new File(rootProject.projectDir,'replayerPlugins')) +addSubProjects('', new File(rootProject.projectDir,'trafficCaptureDependencies')) + if (System.getenv().containsKey("OS_MIGRATIONS_GRADLE_SCAN_TOS_AGREE_AND_ENABLED")) { gradleEnterprise { diff --git a/TrafficCapture/testUtilities/build.gradle b/TrafficCapture/testUtilities/build.gradle index 6c880dc7a..7772b18ea 100644 --- a/TrafficCapture/testUtilities/build.gradle +++ b/TrafficCapture/testUtilities/build.gradle @@ -20,53 +20,29 @@ buildscript { plugins { id 'org.opensearch.migrations.java-library-conventions' -// id "com.github.spotbugs" version "4.7.3" -// id 'checkstyle' - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' id 'java-test-fixtures' } -//spotbugs { -// includeFilter = new File(rootDir, 'config/spotbugs/spotbugs-include.xml') -//} - -//checkstyle { -// toolVersion = '10.12.3' -// configFile = new File(rootDir, 'config/checkstyle/checkstyle.xml') -// System.setProperty('checkstyle.cache.file', String.format('%s/%s', -// buildDir, 'checkstyle.cachefile')) -//} - repositories { mavenCentral() } dependencies { -// spotbugs 'com.github.spotbugs:spotbugs:4.7.3' - - testFixturesImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - testFixturesImplementation group: 'com.google.guava', name: 'guava', version: '32.0.1-jre' - testFixturesImplementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - testFixturesImplementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.2.1' - testFixturesImplementation group: 'org.bouncycastle', name: 'bcprov-jdk18on', version: '1.74' - testFixturesImplementation group: 'org.bouncycastle', name: 'bcpkix-jdk18on', version: '1.74' - testFixturesImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.9.3' - testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' - - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0' - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.20.0' -} - -configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - if (details.requested.group == 'org.apache.bcel' && details.requested.name == 'bcel') { - def targetVersion = '6.7.0' - if (CommonUtils.wasRequestedVersionReleasedBeforeTargetVersion(details.requested.version, targetVersion)) { - details.useVersion targetVersion - } - } - } + api project(":trafficCaptureDependencies") + + testFixturesImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + testFixturesImplementation group: 'com.google.guava', name: 'guava' + testFixturesImplementation group: 'io.netty', name: 'netty-all' + testFixturesImplementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5' + testFixturesImplementation group: 'org.bouncycastle', name: 'bcprov-jdk18on' + testFixturesImplementation group: 'org.bouncycastle', name: 'bcpkix-jdk18on' + testFixturesImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api' + testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api' + + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-api' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core' + testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' } tasks.named('test') { diff --git a/TrafficCapture/trafficCaptureDependencies/build.gradle b/TrafficCapture/trafficCaptureDependencies/build.gradle new file mode 100644 index 000000000..e8f5c9e0d --- /dev/null +++ b/TrafficCapture/trafficCaptureDependencies/build.gradle @@ -0,0 +1,107 @@ +plugins { + id "java-library" +} + +dependencies { + + constraints { + def netty = '4.1.108.Final' + api group: 'io.netty', name: 'netty-buffer', version: netty + api group: 'io.netty', name: 'netty-codec-http', version: netty + api group: 'io.netty', name: 'netty-handler', version: netty + api group: 'io.netty', name: 'netty-all', version: netty + + api group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13' + + api group: 'com.google.guava', name: 'guava', version: '32.0.1-jre' + + api group: 'com.google.protobuf', name: 'protobuf-java', version: '3.22.2' + + api group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.2.1' + + api group: 'software.amazon.msk', name:'aws-msk-iam-auth', version: '2.0.3' + + def log4j = '2.23.1' + api group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j + api group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j + api group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: log4j + + api group: 'org.projectlombok', name:'lombok', version:'1.18.26' + + api group: 'org.apache.kafka', name:'kafka-clients', version:'3.6.0' + + api group: 'com.google.protobuf', name: 'protoc', version: '3.22.2' + + def jmeter = '5.6.3' + api group: 'org.apache.jmeter', name: 'ApacheJMeter_core', version: jmeter + api group: 'org.apache.jmeter', name: 'ApacheJMeter_http', version: jmeter + api group: 'org.apache.jmeter', name: 'ApacheJMeter_config', version: jmeter + + api group: 'com.beust', name: 'jcommander', version: '1.82' + + api group: 'org.projectlombok', name: 'lombok', version: '1.18.28' + + def resilience4j = '1.7.0' + api group: 'io.github.resilience4j', name: 'resilience4j-ratelimiter', version: resilience4j + api group: 'io.github.resilience4j', name: 'resilience4j-retry', version: resilience4j + + def jackson = '2.16.2' + api group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jackson + api group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-smile', version: jackson + + def jupiter = '5.9.3' + api group: 'org.junit.jupiter', name:'junit-jupiter-api', version: jupiter + api group: 'org.junit.jupiter', name:'junit-jupiter-params', version: jupiter + api group: 'org.junit.jupiter', name:'junit-jupiter-engine', version: jupiter + + api group: 'io.burt', name: 'jmespath-core', version: '0.6.0' + + api group: 'org.apache.commons', name: 'commons-compress', version: '1.26.0' + + def awssdk = '2.25.19' + api group: 'software.amazon.awssdk', name: 'arns', version: awssdk + api group: 'software.amazon.awssdk', name: 'auth', version: awssdk + api group: 'software.amazon.awssdk', name: 'sdk-core', version: awssdk + api group: 'software.amazon.awssdk', name: 'secretsmanager', version: awssdk + + api group: 'com.bazaarvoice.jolt', name: 'jolt-core', version: '0.1.7' + + def opentelemetry = '1.34.1' + api group: 'io.opentelemetry', name: 'opentelemetry-api', version: opentelemetry + api group: 'io.opentelemetry', name: 'opentelemetry-exporter-otlp', version: opentelemetry + api group: 'io.opentelemetry', name: 'opentelemetry-sdk', version: opentelemetry + api group: 'io.opentelemetry', name: 'opentelemetry-sdk-testing', version: opentelemetry + + api group: 'io.opentelemetry.semconv', name: 'opentelemetry-semconv', version: '1.23.1-alpha' + + api group: 'com.lmax', name: 'disruptor', version: '4.0.0' + + def bouncycastle = '1.78' + api group: 'org.bouncycastle', name: 'bcprov-jdk18on', version: bouncycastle + api group: 'org.bouncycastle', name: 'bcpkix-jdk18on', version: bouncycastle + + def testcontainers = '1.19.7' + api group: 'org.testcontainers', name: 'junit-jupiter', version: testcontainers + api group: 'org.testcontainers', name: 'kafka', version: testcontainers + api group: 'org.testcontainers', name: 'testcontainers', version: testcontainers + api group: 'org.testcontainers', name: 'toxiproxy', version: testcontainers + + def mockito = '4.6.1' + api group: 'org.mockito', name:'mockito-core', version: mockito + api group: 'org.mockito', name:'mockito-junit-jupiter', version: mockito + + api group: 'eu.rekawek.toxiproxy', name: 'toxiproxy-java', version: '2.1.7' + + // ************************************************************ + // The following constraints are for mitigating transitive CVEs + // ************************************************************ + implementation group: 'net.minidev', name: 'json-smart', version: '2.4.9' + implementation group: 'xalan', name: 'xalan', version: '2.7.3' + implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.20' + implementation group: 'commons-net', name: 'commons-net', version: '3.9.0' + implementation group: 'org.jsoup', name: 'jsoup', version: '1.15.3' + implementation group: 'org.apache.tika', name: 'tika-core', version: '1.28.4' + implementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.9.0' + + } +} \ No newline at end of file diff --git a/TrafficCapture/trafficCaptureProxyServer/build.gradle b/TrafficCapture/trafficCaptureProxyServer/build.gradle index 87e63c8ca..90ec0ea21 100644 --- a/TrafficCapture/trafficCaptureProxyServer/build.gradle +++ b/TrafficCapture/trafficCaptureProxyServer/build.gradle @@ -4,7 +4,7 @@ plugins { id 'org.opensearch.migrations.java-application-conventions' - id("io.freefair.lombok") version "8.0.1" + id 'io.freefair.lombok' } configurations { @@ -13,14 +13,18 @@ configurations { } dependencies { - implementation 'org.opensearch.plugin:opensearch-security:2.11.1.0' - implementation 'org.opensearch:opensearch-common:2.11.0' - implementation 'org.opensearch:opensearch-core:2.11.0' - implementation 'org.opensearch:opensearch:2.11.0' - opensearchSecurityPlugin 'org.opensearch.plugin:opensearch-security:2.11.1.0' + implementation project(":trafficCaptureDependencies") + + def openSearch = '2.11.1' + implementation "org.opensearch.plugin:opensearch-security:${openSearch}.0" + implementation "org.opensearch:opensearch-common:${openSearch}" + implementation "org.opensearch:opensearch-core:${openSearch}" + implementation "org.opensearch:opensearch:${openSearch}" + opensearchSecurityPlugin "org.opensearch.plugin:opensearch-security:${openSearch}.0" implementation files(zipTree("$configurations.opensearchSecurityPlugin.singleFile").matching { include "*.jar" exclude "slf*.jar" + exclude "netty*.jar" }) implementation project(':captureOffloader') @@ -28,31 +32,25 @@ dependencies { implementation project(':captureKafkaOffloader') implementation project(':coreUtilities') - implementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - - implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.23.1' - implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.23.1' - implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.23.1' - implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13' - implementation group: 'com.lmax', name: 'disruptor', version: '4.0.0' + implementation group: 'io.netty', name: 'netty-all' + implementation group: 'org.apache.logging.log4j', name: 'log4j-api' + implementation group: 'org.apache.logging.log4j', name: 'log4j-core' + implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' + implementation group: 'org.slf4j', name: 'slf4j-api' + implementation group: 'com.lmax', name: 'disruptor' - implementation group: 'com.beust', name: 'jcommander', version: '1.82' - implementation 'com.google.protobuf:protobuf-java:3.22.2' + implementation group: 'com.beust', name: 'jcommander' + implementation group: "com.google.protobuf", name: "protobuf-java" testImplementation project(':captureProtobufs') testImplementation testFixtures(project(path: ':testUtilities')) testImplementation testFixtures(project(path: ':captureOffloader')) testImplementation testFixtures(project(path: ':coreUtilities')) - testImplementation group: 'eu.rekawek.toxiproxy', name: 'toxiproxy-java', version: '2.1.7' - testImplementation group: 'org.testcontainers', name: 'junit-jupiter', version: '1.19.7' - testImplementation group: 'org.testcontainers', name: 'kafka', version: '1.19.7' - testImplementation group: 'org.testcontainers', name: 'testcontainers', version: '1.19.7' - testImplementation group: 'org.testcontainers', name: 'toxiproxy', version: '1.19.7' - constraints { - testImplementation('org.apache.commons:commons-compress:1.26.0') { - because 'mend security issue' - } - } + testImplementation group: 'eu.rekawek.toxiproxy', name: 'toxiproxy-java' + testImplementation group: 'org.testcontainers', name: 'junit-jupiter' + testImplementation group: 'org.testcontainers', name: 'kafka' + testImplementation group: 'org.testcontainers', name: 'testcontainers' + testImplementation group: 'org.testcontainers', name: 'toxiproxy' } tasks.withType(Tar){ diff --git a/TrafficCapture/trafficCaptureProxyServerTest/build.gradle b/TrafficCapture/trafficCaptureProxyServerTest/build.gradle index 7f4017070..c24174c63 100644 --- a/TrafficCapture/trafficCaptureProxyServerTest/build.gradle +++ b/TrafficCapture/trafficCaptureProxyServerTest/build.gradle @@ -20,6 +20,7 @@ def calculateDockerHash = { projectName -> } dependencies { + api project(":trafficCaptureDependencies") implementation project(':trafficCaptureProxyServer') compileOnly 'org.projectlombok:lombok:1.18.28' @@ -27,37 +28,10 @@ dependencies { testCompileOnly 'org.projectlombok:lombok:1.18.28' testAnnotationProcessor 'org.projectlombok:lombok:1.18.28' - implementation group: 'org.apache.jmeter', name: 'ApacheJMeter_core', version: '5.6.3', withoutBom - implementation group: 'org.apache.jmeter', name: 'ApacheJMeter_http', version: '5.6.3', withoutBom - implementation group: 'org.apache.jmeter', name: 'ApacheJMeter_config', version: '5.6.3', withoutBom - implementation group: 'com.beust', name: 'jcommander', version: '1.82' - - constraints { - implementation('net.minidev:json-smart:2.4.9') { - because 'mend security issue' - } - implementation('xalan:xalan:2.7.3') { - because 'mend security issue' - } - implementation('com.fasterxml.jackson.core:jackson-databind:2.14.3') { - because 'mend security issue' - } - implementation('com.thoughtworks.xstream:xstream:1.4.20') { - because 'mend security issue' - } - implementation('commons-net:commons-net:3.9.0') { - because 'mend security issue' - } - implementation('org.jsoup:jsoup:1.15.3') { - because 'mend security issue' - } - implementation('org.apache.tika:tika-core:1.28.4') { - because 'mend security issue' - } - implementation('com.jayway.jsonpath:json-path:2.9.0') { - because 'mend security issue' - } - } + implementation group: 'org.apache.jmeter', name: 'ApacheJMeter_core', withoutBom + implementation group: 'org.apache.jmeter', name: 'ApacheJMeter_http', withoutBom + implementation group: 'org.apache.jmeter', name: 'ApacheJMeter_config', withoutBom + implementation group: 'com.beust', name: 'jcommander' } CommonConfigurations.applyCommonConfigurations(project) diff --git a/TrafficCapture/trafficReplayer/build.gradle b/TrafficCapture/trafficReplayer/build.gradle index 1f3af04f9..8d65c5abb 100644 --- a/TrafficCapture/trafficReplayer/build.gradle +++ b/TrafficCapture/trafficReplayer/build.gradle @@ -11,30 +11,16 @@ plugins { id 'org.opensearch.migrations.java-application-conventions' -// id "com.github.spotbugs" version "4.7.3" -// id 'checkstyle' - id "io.freefair.lombok" version "8.0.1" + id 'io.freefair.lombok' id 'java-test-fixtures' } -//spotbugs { -// includeFilter = new File(rootDir, 'config/spotbugs/spotbugs-include.xml') -//} - -//checkstyle { -// toolVersion = '10.12.3' -// configFile = new File(rootDir, 'config/checkstyle/checkstyle.xml') -// System.setProperty('checkstyle.cache.file', String.format('%s/%s', -// buildDir, 'checkstyle.cachefile')) -//} - repositories { mavenCentral() } dependencies { - //spotbugs 'com.github.spotbugs:spotbugs:4.7.3' - def resilience4jVersion = "1.7.0"; + implementation project(":trafficCaptureDependencies") implementation project(':captureProtobufs') implementation project(':coreUtilities') @@ -43,27 +29,25 @@ dependencies { runtimeOnly project(':replayerPlugins:jsonMessageTransformers:jsonJoltMessageTransformerProvider') runtimeOnly project(':replayerPlugins:jsonMessageTransformers:openSearch23PlusTargetTransformerProvider') - implementation group: 'com.beust', name: 'jcommander', version: '1.82' - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - implementation group: 'com.google.guava', name: 'guava', version: '32.0.1-jre' - implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.22.2' - implementation group: 'io.github.resilience4j', name: 'resilience4j-ratelimiter', version:"${resilience4jVersion}" - implementation group: 'io.github.resilience4j', name: 'resilience4j-retry', version:"${resilience4jVersion}" - implementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - - implementation group: 'org.apache.kafka', name: 'kafka-clients', version: '3.6.0' - implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.23.1' - implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.23.1' - implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.23.1' - implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13' - implementation group: 'com.lmax', name: 'disruptor', version: '4.0.0' - - implementation group: 'software.amazon.awssdk', name: 'arns', version: '2.20.102' - implementation group: 'software.amazon.awssdk', name: 'auth', version: '2.20.102' - implementation group: 'software.amazon.awssdk', name: 'sdk-core', version: '2.20.102' - implementation group: 'software.amazon.awssdk', name: 'secretsmanager', version: '2.25.19' - implementation group: 'software.amazon.msk', name: 'aws-msk-iam-auth', version: '2.0.3' - implementation 'org.apache.commons:commons-compress:1.26.0' + implementation group: 'com.beust', name: 'jcommander' + implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + implementation group: 'com.google.guava', name: 'guava' + implementation group: 'com.google.protobuf', name: 'protobuf-java' + implementation group: 'io.github.resilience4j', name: 'resilience4j-ratelimiter' + implementation group: 'io.github.resilience4j', name: 'resilience4j-retry' + implementation group: 'io.netty', name: 'netty-all' + implementation group: 'org.apache.kafka', name: 'kafka-clients' + implementation group: 'org.apache.logging.log4j', name: 'log4j-api' + implementation group: 'org.apache.logging.log4j', name: 'log4j-core' + implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl' + implementation group: 'org.slf4j', name: 'slf4j-api' + implementation group: 'com.lmax', name: 'disruptor' + implementation group: 'software.amazon.awssdk', name: 'arns' + implementation group: 'software.amazon.awssdk', name: 'auth' + implementation group: 'software.amazon.awssdk', name: 'sdk-core' + implementation group: 'software.amazon.awssdk', name: 'secretsmanager' + implementation group: 'software.amazon.msk', name: 'aws-msk-iam-auth' + implementation 'org.apache.commons:commons-compress' testFixturesImplementation project(':replayerPlugins:jsonMessageTransformers:jsonMessageTransformerInterface') testFixturesImplementation project(':captureOffloader') @@ -73,10 +57,10 @@ dependencies { testFixturesImplementation testFixtures(project(path: ':coreUtilities')) testFixturesImplementation testFixtures(project(path: ':testUtilities')) - testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' - testFixturesImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0' - testFixturesImplementation group: 'io.netty', name: 'netty-all', version: '4.1.100.Final' - testFixturesImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.9.3' + testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api' + testFixturesImplementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind' + testFixturesImplementation group: 'io.netty', name: 'netty-all' + testFixturesImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' testImplementation testFixtures(project(path: ':testUtilities')) testImplementation testFixtures(project(path: ':coreUtilities')) @@ -84,48 +68,15 @@ dependencies { testImplementation project(':replayerPlugins:jsonMessageTransformers:jsonJoltMessageTransformerProvider') testImplementation project(':replayerPlugins:jsonMessageTransformers:openSearch23PlusTargetTransformerProvider') - testImplementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.2.1' - testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api', version:'5.x.x' - testImplementation group: 'org.testcontainers', name: 'junit-jupiter', version: '1.19.7' - testImplementation group: 'org.testcontainers', name: 'kafka', version: '1.19.7' - testImplementation group: 'org.testcontainers', name: 'testcontainers', version: '1.19.7' - - testImplementation group: 'org.mockito', name:'mockito-core', version:'4.6.1' - testImplementation group: 'org.mockito', name:'mockito-junit-jupiter', version:'4.6.1' - testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine', version:'5.x.x' + testImplementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5' + testImplementation group: 'org.junit.jupiter', name:'junit-jupiter-api' + testImplementation group: 'org.testcontainers', name: 'junit-jupiter' + testImplementation group: 'org.testcontainers', name: 'kafka' + testImplementation group: 'org.testcontainers', name: 'testcontainers' - constraints { - testImplementation('org.apache.commons:commons-compress:1.26.0') { - because 'mend security issue' - } - implementation('io.netty:netty-codec-http:4.1.108.Final') { - because 'mend security issue' - } - } -} - -configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - if (details.requested.group == 'org.apache.commons' && details.requested.name == 'commons-text') { - def targetVersion = '1.10.0' - if (CommonUtils.wasRequestedVersionReleasedBeforeTargetVersion(details.requested.version, targetVersion)) { - details.useVersion targetVersion - } - } - if (details.requested.group == 'org.apache.bcel' && details.requested.name == 'bcel') { - def targetVersion = '6.7.0' - if (CommonUtils.wasRequestedVersionReleasedBeforeTargetVersion(details.requested.version, targetVersion)) { - details.useVersion targetVersion - } - } - if (details.requested.group == 'io.netty') { - if (details.requested.name == 'netty-codec-http') { - details.useVersion '4.1.108.Final' - } else { - details.useVersion '4.1.100.Final' - } - } - } + testImplementation group: 'org.mockito', name:'mockito-core' + testImplementation group: 'org.mockito', name:'mockito-junit-jupiter' + testRuntimeOnly group:'org.junit.jupiter', name:'junit-jupiter-engine' } application {