Skip to content

Commit 8e46a2a

Browse files
committed
feat: add sql artefacts and mongodbtemplate to community BOM
1 parent c8ab118 commit 8e46a2a

File tree

19 files changed

+37
-1409
lines changed

19 files changed

+37
-1409
lines changed

.github/workflows/release.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -461,18 +461,6 @@ jobs:
461461
FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }}
462462
FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }}
463463

464-
sql-util:
465-
needs: [ build ]
466-
uses: ./.github/workflows/module-release-graalvm.yml
467-
with:
468-
module: sql-util
469-
secrets:
470-
FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }}
471-
FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }}
472-
FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }}
473-
FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }}
474-
FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }}
475-
FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }}
476464

477465
sql-test-kit:
478466
needs: [ build ]
@@ -571,7 +559,6 @@ jobs:
571559
dynamodb-test-kit,
572560
couchbase-util,
573561
couchbase-test-kit,
574-
sql-util,
575562
sql-test-kit,
576563
mongock-support,
577564
mongock-importer-mongodb,

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ allprojects {
2121
extra["templateApiVersion"] = "1.3.1"
2222
extra["generalUtilVersion"] = "1.5.0"
2323
extra["coreApiVersion"] = "1.3.0"
24+
extra["sqlVersion"] = "1.2.0-beta.4"
25+
extra["mongodbTemplateVersion"] = "1.2.0-beta.3"
2426

2527
repositories {
2628
mavenLocal()

buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ val utilProjects = setOf(
5555
"test-util",
5656
"mongodb-util",
5757
"dynamodb-util",
58-
"couchbase-util",
59-
"sql-util"
58+
"couchbase-util"
6059
)
6160

6261
val legacyProjects = setOf(

community/flamingock-auditstore-sql/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import java.time.Duration
22

3+
val sqlVersion: String by extra
4+
35
dependencies {
46
api(project(":core:flamingock-core"))
57

68
api(project(":core:target-systems:sql-external-system-api"))
79

810
api(project(":core:target-systems:sql-target-system"))
9-
implementation(project(":utils:sql-util"))
11+
implementation("io.flamingock:flamingock-sql-util:${sqlVersion}")
1012

1113
testImplementation(project(":core:target-systems:sql-external-system-api"))
1214
testImplementation("mysql:mysql-connector-java:8.0.33")
@@ -20,6 +22,7 @@ dependencies {
2022
testImplementation("org.testcontainers:testcontainers-postgresql:2.0.2")
2123
testImplementation("org.testcontainers:testcontainers-mariadb:2.0.2")
2224
testImplementation(project(":utils:test-util"))
25+
testImplementation("io.flamingock:flamingock-sql-test-util:${sqlVersion}")
2326
testImplementation(project(":utils:sql-test-kit"))
2427
testImplementation("com.zaxxer:HikariCP:3.4.5")
2528
testImplementation("org.testcontainers:testcontainers-junit-jupiter:2.0.2")

community/flamingock-community-bom/build.gradle.kts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
val sqlVersion: String by extra
2+
val mongodbTemplateVersion: String by extra
3+
14
plugins {
25
`java-platform`
36
}
@@ -12,12 +15,16 @@ dependencies {
1215
api("io.flamingock:flamingock-auditstore-dynamodb:$version")
1316
api("io.flamingock:flamingock-auditstore-sql:$version")
1417
api("io.flamingock:flamingock-test-support:${version}")
15-
api("io.flamingock:flamingock-sql-template:${version}")
16-
api("io.flamingock:flamingock-mongodb-sync-template:${version}")
1718
api("io.flamingock:flamingock-springboot-integration:${version}")
1819
api("io.flamingock:flamingock-springboot-test-support:${version}")
1920
api("io.flamingock:flamingock-graalvm:${version}")
2021
api("io.flamingock:mongock-support:${version}")
22+
//SQL
23+
api("io.flamingock:flamingock-sql-util:${sqlVersion}")
24+
api("io.flamingock:flamingock-sql-test-util:${sqlVersion}")
25+
api("io.flamingock:flamingock-sql-template:${sqlVersion}")
26+
//MONGODB template
27+
api("io.flamingock:flamingock-mongodb-sync-template:${mongodbTemplateVersion}")
2128
}
2229
}
2330

core/target-systems/sql-external-system-api/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
val coreApiVersion: String by extra
2+
val sqlVersion: String by extra
23
dependencies {
34
implementation("io.flamingock:flamingock-core-api:${coreApiVersion}")
4-
implementation(project(":utils:sql-util"))
5+
implementation("io.flamingock:flamingock-sql-util:${sqlVersion}")
56

67
//General
78
compileOnly("software.amazon.awssdk:dynamodb-enhanced:2.25.29")

core/target-systems/sql-target-system/build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import org.jetbrains.kotlin.gradle.utils.extendsFrom
22
import java.time.Duration
33

4+
val sqlVersion: String by extra
5+
46
dependencies {
57
//Flamingock
68
api(project(":core:flamingock-core"))
79
implementation(project(":core:target-systems:sql-external-system-api"))
8-
implementation(project(":utils:sql-util"))
10+
implementation("io.flamingock:flamingock-sql-util:${sqlVersion}")
911

1012
//Test
1113
testImplementation("org.testcontainers:testcontainers-mysql:2.0.2")

docs/ARCHITECTURE_OVERVIEW.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ These modules are implementation details not exposed to end users:
8989

9090
#### Database Utilities
9191
- `general-util` - General-purpose utilities shared across modules
92-
- `sql-util` - SQL utilities and dialect helpers
92+
- `flamingock-sql-util` _(external: `io.flamingock:flamingock-sql-util`)_ - SQL utilities and dialect helpers
9393
- `mongodb-util` - MongoDB-specific utilities
9494
- `dynamodb-util` - DynamoDB-specific utilities
9595
- `couchbase-util` - Couchbase-specific utilities
@@ -115,7 +115,7 @@ graph TB
115115
subgraph L0["Layer 0: Foundation"]
116116
direction LR
117117
general-util[general-util<br/>Internal]:::internal
118-
sql-util[sql-util<br/>Internal]:::internal
118+
flamingock-sql-util[flamingock-sql-util<br/>External]:::external
119119
end
120120
121121
%% LAYER 1: Core API
@@ -221,7 +221,7 @@ graph TB
221221
%% Layer 4 → Layer 1 & 0
222222
mongodb-external-system-api --> flamingock-core-api
223223
sql-external-system-api --> flamingock-core-api
224-
sql-external-system-api --> sql-util
224+
sql-external-system-api --> flamingock-sql-util
225225
dynamodb-external-system-api --> flamingock-core-api
226226
couchbase-external-system-api --> flamingock-core-api
227227
@@ -252,7 +252,7 @@ graph TB
252252
mongodb-springdata-target-system --> mongock-importer-mongodb
253253
sql-target-system --> flamingock-core
254254
sql-target-system --> sql-external-system-api
255-
sql-target-system --> sql-util
255+
sql-target-system --> flamingock-sql-util
256256
dynamodb-target-system --> flamingock-core
257257
dynamodb-target-system --> dynamodb-external-system-api
258258
dynamodb-target-system --> dynamodb-util
@@ -269,7 +269,7 @@ graph TB
269269
flamingock-auditstore-sql --> flamingock-core
270270
flamingock-auditstore-sql --> sql-external-system-api
271271
flamingock-auditstore-sql --> sql-target-system
272-
flamingock-auditstore-sql --> sql-util
272+
flamingock-auditstore-sql --> flamingock-sql-util
273273
flamingock-auditstore-dynamodb --> flamingock-core
274274
flamingock-auditstore-dynamodb --> dynamodb-external-system-api
275275
flamingock-auditstore-dynamodb --> dynamodb-util
@@ -319,7 +319,7 @@ This section provides a detailed layer-by-layer breakdown of module dependencies
319319
| Module | Description |
320320
|--------|-------------|
321321
| `general-util` | General-purpose utilities shared across all modules |
322-
| `sql-util` | SQL utilities and dialect helpers for database operations |
322+
| `flamingock-sql-util` _(external)_ | SQL utilities and dialect helpers for database operations |
323323

324324
### Layer 1: Core API
325325
| Module | Dependencies | Description |
@@ -341,7 +341,7 @@ This section provides a detailed layer-by-layer breakdown of module dependencies
341341
| Module | Dependencies | Description |
342342
|--------|--------------|-------------|
343343
| `mongodb-external-system-api` | flamingock-core-api | MongoDB system abstraction layer |
344-
| `sql-external-system-api` | flamingock-core-api, sql-util | SQL system abstraction layer |
344+
| `sql-external-system-api` | flamingock-core-api, flamingock-sql-util _(external)_ | SQL system abstraction layer |
345345
| `dynamodb-external-system-api` | flamingock-core-api | DynamoDB system abstraction layer |
346346
| `couchbase-external-system-api` | flamingock-core-api | Couchbase system abstraction layer |
347347

@@ -366,15 +366,15 @@ This section provides a detailed layer-by-layer breakdown of module dependencies
366366
| `nontransactional-target-system` | flamingock-core | Simple non-transactional execution |
367367
| `mongodb-sync-target-system` | flamingock-core, mongodb-external-system-api, mongodb-util, mongock-importer-mongodb | MongoDB sync driver target |
368368
| `mongodb-springdata-target-system` | flamingock-core, mongodb-external-system-api, mongodb-util, mongock-importer-mongodb | Spring Data MongoDB target |
369-
| `sql-target-system` | flamingock-core, sql-external-system-api, sql-util | SQL database target |
369+
| `sql-target-system` | flamingock-core, sql-external-system-api, flamingock-sql-util _(external)_ | SQL database target |
370370
| `dynamodb-target-system` | flamingock-core, dynamodb-external-system-api, dynamodb-util, mongock-importer-dynamodb | DynamoDB target |
371371
| `couchbase-target-system` | flamingock-core, couchbase-external-system-api, couchbase-util, mongock-importer-couchbase | Couchbase target |
372372

373373
### Layer 8: Audit Stores
374374
| Module | Dependencies | Description |
375375
|--------|--------------|-------------|
376376
| `flamingock-auditstore-mongodb-sync` | flamingock-core, mongodb-external-system-api, mongodb-util | MongoDB sync audit store |
377-
| `flamingock-auditstore-sql` | flamingock-core, sql-external-system-api, sql-target-system, sql-util | SQL audit store |
377+
| `flamingock-auditstore-sql` | flamingock-core, sql-external-system-api, sql-target-system, flamingock-sql-util _(external)_ | SQL audit store |
378378
| `flamingock-auditstore-dynamodb` | flamingock-core, dynamodb-external-system-api, dynamodb-util | DynamoDB audit store |
379379
| `flamingock-auditstore-couchbase` | flamingock-core, couchbase-external-system-api, couchbase-util | Couchbase audit store |
380380

@@ -398,7 +398,7 @@ This table helps determine which modules need a version bump when a specific mod
398398
| If you change... | These modules are affected (need version bump) |
399399
|------------------|------------------------------------------------|
400400
| **`general-util`** | **ALL modules** (foundational dependency) |
401-
| **`sql-util`** | sql-external-system-api, sql-target-system, flamingock-auditstore-sql |
401+
| **`flamingock-sql-util`** _(external)_ | sql-external-system-api, sql-target-system, flamingock-auditstore-sql |
402402
| **`flamingock-core-api`** | flamingock-core-commons, all external-system-apis, mongock-support, flamingock-community, and all modules above them |
403403
| **`flamingock-core-commons`** | flamingock-processor, flamingock-core, all mongock-importers, flamingock-springboot-integration, flamingock-graalvm, flamingock-springboot-test-support |
404404
| **`flamingock-core`** | mongodb-util, dynamodb-util, couchbase-util, mongock-support, all target-systems, all audit-stores, flamingock-community, flamingock-springboot-integration, flamingock-graalvm, flamingock-test-support, flamingock-springboot-test-support |
@@ -563,16 +563,16 @@ graph TB
563563
sql-target-system[sql-target-system<br/>IBU]:::ibu
564564
sql-external-system-api[sql-external-system-api<br/>Internal]:::internal
565565
flamingock-core[flamingock-core<br/>Internal]:::internal
566-
sql-util[sql-util<br/>Internal]:::internal
566+
flamingock-sql-util[flamingock-sql-util<br/>External]:::external
567567
JDBC[JDBC Driver<br/>MySQL/PostgreSQL/Oracle/etc]:::external
568568
569569
flamingock-auditstore-sql -->|api| flamingock-core
570570
flamingock-auditstore-sql -->|api| sql-external-system-api
571571
flamingock-auditstore-sql -->|api| sql-target-system
572-
flamingock-auditstore-sql -->|impl| sql-util
572+
flamingock-auditstore-sql -->|impl| flamingock-sql-util
573573
sql-target-system -->|api| flamingock-core
574574
sql-target-system -->|impl| sql-external-system-api
575-
sql-target-system -->|impl| sql-util
575+
sql-target-system -->|impl| flamingock-sql-util
576576
```
577577

578578
### DynamoDB Community Edition
@@ -643,7 +643,7 @@ graph TB
643643
### Core Dependencies
644644
- Everything flows through `flamingock-core` and `flamingock-core-commons`
645645
- `flamingock-core-api` provides stable APIs for users (`@Change`, `@Apply`, etc.)
646-
- `general-util` and `sql-util` provide foundational shared functionality
646+
- `general-util` provides foundational shared functionality; `flamingock-sql-util` is now an external artifact (`io.flamingock:flamingock-sql-util`)
647647

648648
### External System APIs
649649
- Each database technology has a dedicated external-system-api module

settings.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,6 @@ include("utils:couchbase-test-kit")
162162
project(":utils:couchbase-test-kit").name = "couchbase-test-kit"
163163
project(":utils:couchbase-test-kit").projectDir = file("utils/couchbase-test-kit")
164164

165-
include("utils:sql-util")
166-
project(":utils:sql-util").name = "sql-util"
167-
project(":utils:sql-util").projectDir = file("utils/sql-util")
168165

169166
include("utils:sql-test-kit")
170167
project(":utils:sql-test-kit").name = "sql-test-kit"

utils/sql-test-kit/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
val sqlVersion: String by extra
12
dependencies {
23
implementation(project(":core:flamingock-core"))
3-
implementation(project(":utils:sql-util"))
4+
implementation("io.flamingock:flamingock-sql-util:${sqlVersion}")
45
implementation(project(":utils:test-util"))
56
}
67

0 commit comments

Comments
 (0)