Skip to content

Commit c3186a3

Browse files
authored
refactor(templates): extract flamingock-template-api module (#863)
- **New module** `core/flamingock-template-api` with all template-specific API classes - **Moved 14 source files**: `ChangeTemplate`, `AbstractChangeTemplate`, `TemplateField`, `TemplatePayload`, `TemplateStep`, wrapper classes, and the three template annotations (`@ApplyTemplate`, `@ChangeTemplate`, `@RollbackTemplate`) - **Moved 1 test file**: `AbstractChangeTemplateReflectiveClassesTest` - **Backward compatible**: `flamingock-core-api` exposes `flamingock-template-api` via `api` dep, so no consumer changes needed - **No package renames**: all imports remain valid - Registered module in `settings.gradle.kts` and `flamingock.project-structure.gradle.kts`
1 parent e3d4516 commit c3186a3

19 files changed

+29
-3
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ val coreProjects = setOf(
88
"flamingock-core",
99
"flamingock-core-commons",
1010
"flamingock-core-api",
11+
"flamingock-template-api",
1112
"flamingock-processor",
1213
"flamingock-graalvm",
1314
"flamingock-test-support"

core/flamingock-core-api/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
val jacksonVersion = "2.16.0"
22
dependencies {
3+
api(project(":core:flamingock-template-api"))
34
implementation(project(":utils:general-util"))
45
api("jakarta.annotation:jakarta.annotation-api:2.1.1")//todo can this be implementation?
56

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
dependencies {
2+
implementation(project(":utils:general-util"))
3+
}
4+
5+
description = "Public API for creating Flamingock change templates"
6+
7+
java {
8+
toolchain {
9+
languageVersion.set(JavaLanguageVersion.of(8))
10+
}
11+
}

core/flamingock-core-api/src/main/java/io/flamingock/api/annotations/ApplyTemplate.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/annotations/ApplyTemplate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* including database connections, repositories, and custom dependencies.
2929
*
3030
* <p>This annotation is specifically for use in {@link ChangeTemplate} classes.
31-
* For code-based {@link Change} classes, use {@link Apply} instead.
31+
* For code-based changes, use {@code @Apply} instead.
3232
*
3333
* @see ChangeTemplate
3434
* @see RollbackTemplate

core/flamingock-core-api/src/main/java/io/flamingock/api/annotations/ChangeTemplate.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/annotations/ChangeTemplate.java

File renamed without changes.

core/flamingock-core-api/src/main/java/io/flamingock/api/annotations/RollbackTemplate.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/annotations/RollbackTemplate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* safe change reversibility. They receive the same dependency injection as ApplyTemplate methods.
2929
*
3030
* <p>This annotation is specifically for use in {@link ChangeTemplate} classes.
31-
* For code-based {@link Change} classes, use {@link Rollback} instead.
31+
* For code-based changes, use {@code @Rollback} instead.
3232
*
3333
* @see ChangeTemplate
3434
* @see ApplyTemplate

core/flamingock-core-api/src/main/java/io/flamingock/api/template/AbstractChangeTemplate.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/template/AbstractChangeTemplate.java

File renamed without changes.

core/flamingock-core-api/src/main/java/io/flamingock/api/template/ChangeTemplate.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/template/ChangeTemplate.java

File renamed without changes.

core/flamingock-core-api/src/main/java/io/flamingock/api/template/ReflectionMetadataProvider.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/template/ReflectionMetadataProvider.java

File renamed without changes.

core/flamingock-core-api/src/main/java/io/flamingock/api/template/TemplateField.java renamed to core/flamingock-template-api/src/main/java/io/flamingock/api/template/TemplateField.java

File renamed without changes.

0 commit comments

Comments
 (0)