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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -532,4 +532,5 @@ docker-compose logs -f oracle
- **NEVER PUSH TO MAIN. EVER.** Before ANY git push, ALWAYS run `git branch --show-current` and VERIFY you are NOT on main. If you need to create a PR, create a feature branch FIRST. If the user asks you to push or create a PR, ALWAYS push to a feature branch, NEVER to main. This applies even if you think the user wants you to push to main - ASK FIRST.
- WHEN YOU CHANGE CODE, NEVER LEAVE DANGLING COMMENTS DESCRIBING HOW IT WAS BEFORE OR WHY YOU MADE A CHANGE. WE HAVE GIT FOR THAT
- when restarting a database container always restart only the one you want to restart. it takes ages to start all
- UNDER NO CIRCUMSTANCE, EVER. FUCKING EVER. WILL CLAUDE GIVE UP AND REVERT ALL THE FILES
- UNDER NO CIRCUMSTANCE, EVER. FUCKING EVER. WILL CLAUDE GIVE UP AND REVERT ALL THE FILES
- NEVER HIDE PROBLEMS BY WORKING AROUND THEM. When you discover an issue (e.g., serialization doesn't work, types don't match, framework integration fails), IMMEDIATELY TELL THE USER. Do not quietly work around it with simpler/different code and pretend everything is fine. Tests exist to find these problems - report them, don't hide them.
184 changes: 184 additions & 0 deletions bleep.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
$schema: https://raw.githubusercontent.com/oyvindberg/bleep/master/schema.json
$version: 0.0.14
resolvers:
- https://packages.confluent.io/maven/
jvm:
name: graalvm-community:25.0.0
projects:
Expand Down Expand Up @@ -477,6 +479,184 @@ projects:
sources:
- ./generated-and-checked-in
- ./src/scala
testers/avro/java:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- io.confluent:kafka-avro-serializer:7.8.0
- junit:junit:4.13.2
- org.apache.avro:avro:1.12.0
- org.apache.kafka:kafka-clients:3.9.0
dependsOn: foundations-jdbc
folder: ./testers/avro/java
isTestProject: true
java:
options: -proc:none
platform:
name: jvm
sources:
- ./generated-and-checked-in
- ./src/java
testers/avro/scala:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- io.confluent:kafka-avro-serializer:7.8.0
- junit:junit:4.13.2
- org.apache.avro:avro:1.12.0
- org.apache.kafka:kafka-clients:3.9.0
dependsOn: foundations-jdbc
extends: template-scala-3
isTestProject: true
sources:
- ./generated-and-checked-in
- ./src/scala
testers/avro/java-async:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- io.confluent:kafka-avro-serializer:7.8.0
- junit:junit:4.13.2
- org.apache.avro:avro:1.12.0
- org.apache.kafka:kafka-clients:3.9.0
dependsOn: foundations-jdbc
folder: ./testers/avro/java-async
isTestProject: true
java:
options: -proc:none
platform:
name: jvm
sources:
- ./generated-and-checked-in
- ./src/java
testers/avro/java-vanilla:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- junit:junit:4.13.2
- org.apache.avro:avro:1.12.0
- org.apache.kafka:kafka-clients:3.9.0
dependsOn: foundations-jdbc
folder: ./testers/avro/java-vanilla
isTestProject: true
java:
options: -proc:none
platform:
name: jvm
sources:
- ./generated-and-checked-in
- ./src/java
testers/avro/scala-cats:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- io.confluent:kafka-avro-serializer:7.8.0
- junit:junit:4.13.2
- org.apache.avro:avro:1.12.0
- org.apache.kafka:kafka-clients:3.9.0
- org.typelevel::cats-effect:3.5.4
dependsOn: foundations-jdbc
extends: template-scala-3
isTestProject: true
sources:
- ./generated-and-checked-in
- ./src/scala
testers/avro/java-json:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- junit:junit:4.13.2
dependsOn: foundations-jdbc
folder: ./testers/avro/java-json
isTestProject: true
java:
options: -proc:none
platform:
name: jvm
sources:
- ./generated-and-checked-in
testers/avro/scala-json:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.fasterxml.jackson.module::jackson-module-scala:2.17.2
- com.novocode:junit-interface:0.11
- junit:junit:4.13.2
dependsOn: foundations-jdbc
extends: template-scala-3
isTestProject: true
sources:
- ./generated-and-checked-in
- ./src/scala
testers/avro/java-spring:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- junit:junit:4.13.2
- org.apache.kafka:kafka-clients:3.9.0
- org.mockito:mockito-core:5.14.2
- org.springframework.kafka:spring-kafka:3.3.1
- org.springframework:spring-context:6.2.1
dependsOn: foundations-jdbc
folder: ./testers/avro/java-spring
isTestProject: true
java:
options: -proc:none
platform:
name: jvm
sources:
- ./generated-and-checked-in
- ./src
testers/avro/java-quarkus:
dependencies:
- com.fasterxml.jackson.core:jackson-annotations:2.17.2
- com.fasterxml.jackson.core:jackson-databind:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2
- com.novocode:junit-interface:0.11
- io.quarkus:quarkus-arc:3.17.2
- io.quarkus:quarkus-junit5:3.17.2
- io.smallrye.reactive:mutiny:2.7.0
- io.smallrye.reactive:smallrye-mutiny-vertx-kafka-client:3.18.0
- io.smallrye.reactive:smallrye-reactive-messaging-api:4.26.0
- io.smallrye.reactive:smallrye-reactive-messaging-kafka:4.26.0
- jakarta.enterprise:jakarta.enterprise.cdi-api:4.1.0
- junit:junit:4.13.2
- org.apache.kafka:kafka-clients:3.9.0
- org.eclipse.microprofile.reactive.messaging:microprofile-reactive-messaging-api:3.0
dependsOn: foundations-jdbc
folder: ./testers/avro/java-quarkus
isTestProject: true
java:
options: -proc:none
platform:
name: jvm
sources:
- ./generated-and-checked-in
- ./src
tests:
dependencies: org.scalatest::scalatest:3.2.18
dependsOn: typr
Expand All @@ -487,6 +667,7 @@ projects:
- com.microsoft.sqlserver:mssql-jdbc:12.8.1.jre11
- com.oracle.database.jdbc:ojdbc11:23.6.0.24.10
- com.typesafe.play::play-json:2.10.6
- org.apache.avro:avro:1.12.0
- for3Use213: true
module: io.get-coursier::coursier:2.1.24
- io.swagger.parser.v3:swagger-parser:2.1.24
Expand Down Expand Up @@ -554,6 +735,9 @@ scripts:
generate-all:
main: scripts.GenerateAll
project: typr-scripts
generate-avro-test:
main: scripts.GenerateAvroTest
project: typr-scripts
generate-db2:
main: scripts.GeneratedDb2
project: typr-scripts
Expand Down
46 changes: 46 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,52 @@ services:
retries: 20
start_period: 120s

kafka:
image: confluentinc/cp-kafka:7.8.0
hostname: kafka
ports:
- 9092:9092
- 9093:9093
environment:
KAFKA_NODE_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:29092,CONTROLLER://0.0.0.0:9094,EXTERNAL://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,EXTERNAL://localhost:9092
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka:9094
KAFKA_PROCESS_ROLES: broker,controller
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
CLUSTER_ID: typr-kafka-cluster-001
healthcheck:
test: kafka-topics --bootstrap-server localhost:9092 --list
interval: 10s
timeout: 5s
retries: 10
start_period: 30s

schema-registry:
image: confluentinc/cp-schema-registry:7.8.0
hostname: schema-registry
depends_on:
kafka:
condition: service_healthy
ports:
- 8081:8081
environment:
SCHEMA_REGISTRY_HOST_NAME: schema-registry
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:29092
SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081
healthcheck:
test: curl -f http://localhost:8081/subjects || exit 1
interval: 10s
timeout: 5s
retries: 10
start_period: 30s

volumes:
oracle-data:
sqlserver-data:
Expand Down
39 changes: 0 additions & 39 deletions foundations-jdbc/src/java/dev/typr/foundations/Foo.java

This file was deleted.

8 changes: 8 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ project(":testers:sqlserver:kotlin").projectDir = file("testers/sqlserver/kotlin
include("testers:db2:kotlin")
project(":testers:db2:kotlin").projectDir = file("testers/db2/kotlin")

// Avro Kotlin testers
include("testers:avro:kotlin")
project(":testers:avro:kotlin").projectDir = file("testers/avro/kotlin")
include("testers:avro:kotlin-json")
project(":testers:avro:kotlin-json").projectDir = file("testers/avro/kotlin-json")
include("testers:avro:kotlin-quarkus-mutiny")
project(":testers:avro:kotlin-quarkus-mutiny").projectDir = file("testers/avro/kotlin-quarkus-mutiny")

// OpenAPI Kotlin testers
include("testers:openapi:kotlin:jaxrs")
project(":testers:openapi:kotlin:jaxrs").projectDir = file("testers/openapi/kotlin/jaxrs")
Expand Down
Loading
Loading