Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ repositories {
}

dependencies {
implementation project(':library')
implementation project(':core')
implementation project(':debezium')
implementation project(':grpc')
implementation 'io.opentelemetry:opentelemetry-sdk:1.32.0'
implementation 'io.opentelemetry:opentelemetry-api:1.32.0'
implementation 'io.opentelemetry.instrumentation:opentelemetry-grpc-1.6:1.32.0-alpha'
Expand Down
95 changes: 95 additions & 0 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
plugins {
id 'java'
id 'com.adarshr.test-logger' version '4.0.0'
}

compileJava {
sourceCompatibility = 21
targetCompatibility = 21
}

group = 'com.p14n'
version = '1.0.1-SNAPSHOT'

repositories {
mavenCentral()
}

dependencies {
// Core database and connection pooling
implementation 'com.zaxxer:HikariCP:6.2.1'
implementation 'org.slf4j:slf4j-api:2.0.9'

// Guava for utilities
implementation 'com.google.guava:guava:32.0.0-jre'

// OpenTelemetry core dependencies
implementation 'io.opentelemetry:opentelemetry-api:1.32.0'

// Test dependencies
testImplementation platform('io.zonky.test.postgres:embedded-postgres-binaries-bom:16.2.0')
testImplementation 'io.zonky.test:embedded-postgres:2.0.7'
testImplementation 'net.jqwik:jqwik:1.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
testRuntimeOnly 'ch.qos.logback:logback-classic:1.4.11'
testImplementation 'org.mockito:mockito-core:3.12.4'
}

testlogger {
theme 'standard'
showExceptions true
showStackTraces true
showFullStackTraces false
showCauses true
slowThreshold 2000
showSummary true
showSimpleNames false
showPassed true
showSkipped true
showFailed true
showStandardStreams false
showPassedStandardStreams true
showSkippedStandardStreams true
showFailedStandardStreams true
}

test {
useJUnitPlatform {
includeEngines 'jqwik', 'junit-jupiter'
}
maxHeapSize = "1G"
minHeapSize = "512M"
maxParallelForks = 1
failFast = true
testLogging.showStandardStreams = true
}

task fastTest( type: Test ) {
useJUnitPlatform {
includeEngines 'junit-jupiter'
exclude '**/dst/**'
}
}

jar {
manifest {
}
}

tasks.withType(Jar) {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

task testJar(type: Jar, dependsOn: testClasses) {
archiveClassifier.set('tests') // For Gradle 6+
from sourceSets.test.output
}

configurations {
tests
}

artifacts {
tests testJar
}
89 changes: 89 additions & 0 deletions debezium/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
plugins {
id 'java'
id 'com.adarshr.test-logger' version '4.0.0'
}

compileJava {
sourceCompatibility = 21
targetCompatibility = 21
}

group = 'com.p14n'
version = '1.0.1-SNAPSHOT'

repositories {
mavenCentral()
}

dependencies {
// Dependency on core module
implementation project(':core')

// Debezium dependencies
implementation 'io.debezium:debezium-api:3.0.1.Final'
implementation ('io.debezium:debezium-embedded:3.0.1.Final') {
exclude group: 'org.glassfish.jersey.containers', module: 'jersey-container-servlet'
exclude group: 'org.glassfish.jersey.inject', module: 'jersey-hk2'
exclude group: 'org.eclipse.jetty'
}
implementation 'io.debezium:debezium-connector-postgres:3.0.1.Final'
implementation 'io.debezium:debezium-storage-jdbc:3.0.1.Final'

// Guava for utilities
implementation 'com.google.guava:guava:32.0.0-jre'

// OpenTelemetry core dependencies
implementation 'io.opentelemetry:opentelemetry-api:1.32.0'

// Logging
implementation 'org.slf4j:slf4j-api:2.0.9'

// Security constraint
constraints {
implementation 'com.google.guava:guava:32.0.0-jre'
}

// Test dependencies
testImplementation platform('io.zonky.test.postgres:embedded-postgres-binaries-bom:16.2.0')
testImplementation 'io.zonky.test:embedded-postgres:2.0.7'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
testRuntimeOnly 'ch.qos.logback:logback-classic:1.4.11'
testImplementation 'org.mockito:mockito-core:3.12.4'
}

testlogger {
theme 'standard'
showExceptions true
showStackTraces true
showFullStackTraces false
showCauses true
slowThreshold 2000
showSummary true
showSimpleNames false
showPassed true
showSkipped true
showFailed true
showStandardStreams false
showPassedStandardStreams true
showSkippedStandardStreams true
showFailedStandardStreams true
}

test {
useJUnitPlatform()
maxHeapSize = "1G"
minHeapSize = "512M"
maxParallelForks = 1
failFast = true
testLogging.showStandardStreams = true
}

jar {
manifest {
}
}

tasks.withType(Jar) {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
50 changes: 22 additions & 28 deletions library/build.gradle → grpc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,9 @@ repositories {
}

dependencies {
implementation 'io.debezium:debezium-api:3.0.1.Final'
implementation ('io.debezium:debezium-embedded:3.0.1.Final') {
exclude group: 'org.glassfish.jersey.containers', module: 'jersey-container-servlet'
exclude group: 'org.glassfish.jersey.inject', module: 'jersey-hk2'
exclude group: 'org.eclipse.jetty'
}
implementation 'io.debezium:debezium-connector-postgres:3.0.1.Final'
implementation 'io.debezium:debezium-storage-jdbc:3.0.1.Final'
implementation 'org.slf4j:slf4j-api:2.0.9'
implementation 'com.zaxxer:HikariCP:6.2.1'

constraints {
implementation 'com.google.guava:guava:32.0.0-jre'
}
// Dependency on core module
implementation project(':core')
implementation project(':debezium')

// gRPC dependencies
implementation 'io.grpc:grpc-netty-shaded:1.53.0'
Expand All @@ -48,20 +37,26 @@ dependencies {
// For code generation
implementation 'com.google.protobuf:protobuf-java:3.21.7'

// Logging
implementation 'org.slf4j:slf4j-api:2.0.9'

// Security constraint
constraints {
implementation 'com.google.guava:guava:32.0.0-jre'
}

// Instrumentation for GRPC
implementation 'io.opentelemetry.instrumentation:opentelemetry-grpc-1.6:1.32.0-alpha'

// Test dependencies
testImplementation project(path: ':core', configuration: 'tests')
testImplementation 'net.jqwik:jqwik:1.8.2'
testImplementation platform('io.zonky.test.postgres:embedded-postgres-binaries-bom:16.2.0')
testImplementation 'io.zonky.test:embedded-postgres:2.0.7'
testImplementation 'net.jqwik:jqwik:1.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
testRuntimeOnly 'ch.qos.logback:logback-classic:1.4.11'
testImplementation 'org.mockito:mockito-core:3.12.4'

// OpenTelemetry core dependencies
implementation 'io.opentelemetry:opentelemetry-api:1.32.0'

// Instrumentation for GRPC
implementation 'io.opentelemetry.instrumentation:opentelemetry-grpc-1.6:1.32.0-alpha'

}

testlogger {
Expand Down Expand Up @@ -100,12 +95,6 @@ task fastTest( type: Test ) {

}
}

jar {
manifest {
}
}

// Configure Protobuf plugin
protobuf {
protoc {
Expand All @@ -132,6 +121,11 @@ sourceSets {
}
}

jar {
manifest {
}
}

tasks.withType(Jar) {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
rootProject.name = 'postevent'
include 'library', 'app'
include 'core', 'debezium', 'grpc', 'app'
Loading