diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e72dcba7a..6c064dc80 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,6 +96,19 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + flamingock-bom: + needs: [ build ] + uses: ./.github/workflows/module-release-graalvm.yml + with: + module: flamingock-bom + secrets: + FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} + FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} + FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} + FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} + FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} + FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + flamingock-cloud: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml @@ -109,11 +122,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-cloud-bom: + flamingock-cloud-api: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-cloud-bom + module: flamingock-cloud-api secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -533,8 +546,9 @@ jobs: flamingock-core-commons, flamingock-processor, flamingock-graalvm, + flamingock-bom, flamingock-cloud, - flamingock-cloud-bom, + flamingock-cloud-api, flamingock-community, flamingock-community-bom, flamingock-mongodb-sync-auditstore, diff --git a/build.gradle.kts b/build.gradle.kts index bf5d1dbd0..093a0d72b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,13 +16,13 @@ plugins { allprojects { group = "io.flamingock" - version = "1.2.0-SNAPSHOT" + version = "1.3.0-SNAPSHOT" extra["generalUtilVersion"] = "1.5.1" extra["templateApiVersion"] = "1.3.2" extra["coreApiVersion"] = "1.3.1" - extra["sqlVersion"] = "1.2.0-beta.5" - extra["mongodbTemplateVersion"] = "1.2.0-beta.4" + extra["sqlVersion"] = "1.2.0" + extra["mongodbTemplateVersion"] = "1.2.0" repositories { mavenLocal() diff --git a/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts b/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts index 2dc2053fb..008d2a098 100644 --- a/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts +++ b/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts @@ -11,12 +11,13 @@ val coreProjects = setOf( "flamingock-template-api", "flamingock-processor", "flamingock-graalvm", - "flamingock-test-support" + "flamingock-test-support", + "flamingock-bom" ) val cloudProjects = setOf( "flamingock-cloud", - "flamingock-cloud-bom" + "flamingock-cloud-api" ) val communityProjects = setOf( @@ -76,7 +77,7 @@ val allProjects = coreProjects + cloudProjects + communityProjects + pluginProje // Project classification utilities fun Project.isBomModule(): Boolean = name.endsWith("-bom") -fun Project.isLibraryModule(): Boolean = name !in setOf("flamingock-community-bom", "flamingock-cloud-bom", "flamingock-community-bom") +fun Project.isLibraryModule(): Boolean = name !in setOf("flamingock-bom", "flamingock-community-bom") // Module category lookup fun Project.getProjectCategory(): String? = when (name) { diff --git a/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts b/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts index 06c56ce20..e3fff3606 100644 --- a/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts @@ -5,8 +5,8 @@ plugins { fun Project.isBomModule(): Boolean = name.endsWith("-bom") fun Project.isLibraryModule(): Boolean = name !in setOf( - "flamingock-community-bom", - "flamingock-cloud-bom" + "flamingock-bom", + "flamingock-community-bom" ) val fromComponentPublishing = if (isBomModule()) "javaPlatform" else "java" diff --git a/cloud/flamingock-cloud-api/build.gradle.kts b/cloud/flamingock-cloud-api/build.gradle.kts new file mode 100644 index 000000000..915f06ea2 --- /dev/null +++ b/cloud/flamingock-cloud-api/build.gradle.kts @@ -0,0 +1,10 @@ +dependencies { +} + +description = "Cloud Edition public API definitions" + +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(8)) + } +} diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ClientSubmission.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java similarity index 80% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ClientSubmission.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java index d8d338070..2fbd88d69 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ClientSubmission.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java @@ -13,12 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; import java.util.List; public class ClientSubmission { - private final List stages; + private List stages; + + public ClientSubmission() { + } public ClientSubmission(List stages) { this.stages = stages; @@ -27,4 +30,8 @@ public ClientSubmission(List stages) { public List getStages() { return stages; } + + public void setStages(List stages) { + this.stages = stages; + } } \ No newline at end of file diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ExecutionPlanRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java similarity index 71% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ExecutionPlanRequest.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java index d0cc766e8..8829ff11c 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ExecutionPlanRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java @@ -13,21 +13,31 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; import java.util.List; public class ExecutionPlanRequest { - private final long lockAcquiredForMillis; + private ClientSubmission clientSubmission; + private long lockAcquiredForMillis; - private final ClientSubmission clientSubmission; + public ExecutionPlanRequest() { + } public ExecutionPlanRequest(long lockAcquiredForMillis, List stages) { this.lockAcquiredForMillis = lockAcquiredForMillis; this.clientSubmission = new ClientSubmission(stages); } + public void setClientSubmission(ClientSubmission clientSubmission) { + this.clientSubmission = clientSubmission; + } + + public void setLockAcquiredForMillis(long lockAcquiredForMillis) { + this.lockAcquiredForMillis = lockAcquiredForMillis; + } + public long getLockAcquiredForMillis() { return lockAcquiredForMillis; } @@ -35,5 +45,6 @@ public long getLockAcquiredForMillis() { public ClientSubmission getClientSubmission() { return clientSubmission; } + } diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/StageRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java similarity index 72% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/StageRequest.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java index 61d4bb4f1..cd5f73c7c 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/StageRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java @@ -13,16 +13,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; import java.util.List; public class StageRequest { - private final String name; + private String name; - private final int order; + private int order; - private final List tasks; + private List tasks; + + public StageRequest() { + } public StageRequest(String name, int order, List tasks) { this.name = name; @@ -42,5 +45,15 @@ public List getTasks() { return tasks; } + public void setName(String name) { + this.name = name; + } + public void setOrder(int order) { + this.order = order; + } + + public void setTasks(List tasks) { + this.tasks = tasks; + } } diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/TaskRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java similarity index 75% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/TaskRequest.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java index 3de025765..86dd799ef 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/TaskRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java @@ -13,19 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; //TODO add recoveryStrategy, so we can determin the acction in the server public class TaskRequest { - private final String id; + private String id; - private final TargetSystemAuditMarkType ongoingStatus; + private TargetSystemAuditMarkType ongoingStatus; - private final boolean transactional; + private boolean transactional; + + public TaskRequest() { + } public static TaskRequest task(String id, boolean transactional) { return new TaskRequest(id, TargetSystemAuditMarkType.NONE, transactional); @@ -56,4 +59,16 @@ public TargetSystemAuditMarkType getOngoingStatus() { public boolean isTransactional() { return transactional; } + + public void setId(String id) { + this.id = id; + } + + public void setOngoingStatus(TargetSystemAuditMarkType ongoingStatus) { + this.ongoingStatus = ongoingStatus; + } + + public void setTransactional(boolean transactional) { + this.transactional = transactional; + } } \ No newline at end of file diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/ExecutionPlanResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java similarity index 75% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/ExecutionPlanResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java index 25f59583a..7bf623a6c 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/ExecutionPlanResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; -import io.flamingock.internal.common.cloud.vo.ActionResponse; +import io.flamingock.cloud.api.vo.ExecutionAction; import java.util.Collections; import java.util.List; @@ -23,11 +23,11 @@ public class ExecutionPlanResponse { - private ActionResponse action; + private ExecutionAction action; private String executionId; - private LockResponse lock; + private LockInfo lock; private List stages; @@ -35,15 +35,15 @@ public class ExecutionPlanResponse { public ExecutionPlanResponse() { } - public ExecutionPlanResponse(ActionResponse action, + public ExecutionPlanResponse(ExecutionAction action, String executionId, - LockResponse lock) { + LockInfo lock) { this(action, executionId, lock, Collections.emptyList()); } - public ExecutionPlanResponse(ActionResponse action, + public ExecutionPlanResponse(ExecutionAction action, String executionId, - LockResponse lock, + LockInfo lock, List stages) { this.action = action; this.executionId = executionId; @@ -51,7 +51,7 @@ public ExecutionPlanResponse(ActionResponse action, this.stages = stages; } - public void setAction(ActionResponse action) { + public void setAction(ExecutionAction action) { this.action = action; } @@ -63,11 +63,11 @@ public void setExecutionId(String executionId) { this.executionId = executionId; } - public LockResponse getLock() { + public LockInfo getLock() { return lock; } - public void setLock(LockResponse lock) { + public void setLock(LockInfo lock) { this.lock = lock; } @@ -80,19 +80,19 @@ public void setStages(List stages) { } public boolean isContinue() { - return action == ActionResponse.CONTINUE; + return action == ExecutionAction.CONTINUE; } - public ActionResponse getAction() { + public ExecutionAction getAction() { return action; } public boolean isExecute() { - return action == ActionResponse.EXECUTE; + return action == ExecutionAction.EXECUTE; } public boolean isAwait() { - return action == ActionResponse.AWAIT; + return action == ExecutionAction.AWAIT; } public void validate() { diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/LockResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java similarity index 92% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/LockResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java index e54e6307f..000c00c88 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/LockResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; -public class LockResponse { +public class LockInfo { private String key; @@ -26,7 +26,7 @@ public class LockResponse { private long acquiredForMillis; - public LockResponse() { + public LockInfo() { } public String getKey() { diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/StageResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/StageResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java index 5cb3e8957..09fb7bbd9 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/StageResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; import java.util.List; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/TaskResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java similarity index 92% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/TaskResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java index 89ee60495..81e6aafce 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/TaskResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; + +import io.flamingock.cloud.api.vo.CloudChangeAction; public class TaskResponse { private String id; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/CloudChangeAction.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeAction.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/CloudChangeAction.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeAction.java index b6a14c01c..eaf0e03c5 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/CloudChangeAction.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeAction.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.vo; /** diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/ActionResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java similarity index 85% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/ActionResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java index 1d722305e..99cff96bf 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/ActionResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java @@ -13,8 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.vo; +package io.flamingock.cloud.api.vo; -public enum ActionResponse { - CONTINUE, EXECUTE, AWAIT +public enum ExecutionAction { + CONTINUE, EXECUTE, AWAIT, ABORT } diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/TargetSystemAuditMarkType.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java similarity index 93% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/TargetSystemAuditMarkType.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java index 57751cde6..042bb61f2 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/TargetSystemAuditMarkType.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.vo; +package io.flamingock.cloud.api.vo; public enum TargetSystemAuditMarkType { NONE, APPLIED, ROLLBACK diff --git a/cloud/flamingock-cloud-bom/build.gradle.kts b/cloud/flamingock-cloud-bom/build.gradle.kts deleted file mode 100644 index 4cef8ad15..000000000 --- a/cloud/flamingock-cloud-bom/build.gradle.kts +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - `java-platform` -} - -dependencies { - constraints { - // Add constraints for BOM managed modules - api("io.flamingock:flamingock-cloud:${version}") - api("io.flamingock:flamingock-test-support:${version}") - - //target systems - api("io.flamingock:flamingock-nontransactional-targetsystem:${version}") - api("io.flamingock:flamingock-mongodb-externalsystem-api:${version}") - api("io.flamingock:flamingock-mongodb-sync-targetsystem:${version}") - api("io.flamingock:flamingock-mongodb-springdata-targetsystem:${version}") - api("io.flamingock:flamingock-sql-externalsystem-api:${version}") - api("io.flamingock:flamingock-sql-targetsystem:${version}") - api("io.flamingock:flamingock-dynamodb-externalsystem-api:${version}") - api("io.flamingock:flamingock-dynamodb-targetsystem:${version}") - api("io.flamingock:flamingock-couchbase-externalsystem-api:${version}") - api("io.flamingock:flamingock-couchbase-targetsystem:${version}") - api("io.flamingock:flamingock-sql-template:$version") - api("io.flamingock:flamingock-mongodb-sync-template:${version}") - api("io.flamingock:flamingock-springboot-integration:${version}") - api("io.flamingock:flamingock-springboot-test-support:${version}") - api("io.flamingock:flamingock-graalvm:${version}") - api("io.flamingock:mongock-support:${version}") - } -} - -description = "Bill of Materials for Cloud Edition dependency management" diff --git a/cloud/flamingock-cloud/build.gradle.kts b/cloud/flamingock-cloud/build.gradle.kts index c0e2e0612..cad2b6b01 100644 --- a/cloud/flamingock-cloud/build.gradle.kts +++ b/cloud/flamingock-cloud/build.gradle.kts @@ -1,6 +1,7 @@ val coreApiVersion: String by extra dependencies { // Core + api(project(":cloud:flamingock-cloud-api")) implementation(project(":core:flamingock-core")) api("io.flamingock:flamingock-core-api:${coreApiVersion}") // target systems diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java index 66a75a730..6141ba7e4 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java @@ -17,14 +17,14 @@ import io.flamingock.internal.util.id.RunnerId; import io.flamingock.internal.util.TimeService; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; -import io.flamingock.internal.common.cloud.planner.request.TaskRequest; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.planner.response.CloudChangeAction; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.StageRequest; +import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.CloudChangeAction; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.cloud.lock.CloudLockService; import io.flamingock.internal.core.configuration.core.CoreConfigurable; import io.flamingock.internal.common.core.recovery.action.ChangeAction; diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java index 66da10c9e..996695816 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java @@ -20,9 +20,9 @@ import io.flamingock.internal.util.ThreadSleeper; import io.flamingock.internal.util.TimeService; import io.flamingock.internal.common.core.error.FlamingockException; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.cloud.lock.CloudLockService; import io.flamingock.cloud.planner.client.ExecutionPlannerClient; diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java index 709aad4ef..479da21b9 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java @@ -15,8 +15,8 @@ */ package io.flamingock.cloud.planner.client; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; public interface ExecutionPlannerClient { diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java index 19a70063c..2ff03bdc7 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java @@ -16,8 +16,8 @@ package io.flamingock.cloud.planner.client; import io.flamingock.cloud.auth.AuthManager; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; import io.flamingock.internal.util.id.EnvironmentId; import io.flamingock.internal.util.id.ServiceId; import io.flamingock.internal.util.id.RunnerId; diff --git a/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java b/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java index 1ec0a38f5..50970096e 100644 --- a/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java +++ b/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java @@ -23,7 +23,7 @@ import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.common.cloud.audit.AuditEntryRequest; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.builder.runner.Runner; import org.junit.jupiter.api.AfterEach; diff --git a/core/flamingock-bom/build.gradle.kts b/core/flamingock-bom/build.gradle.kts new file mode 100644 index 000000000..d3b8f9567 --- /dev/null +++ b/core/flamingock-bom/build.gradle.kts @@ -0,0 +1,63 @@ +val sqlVersion: String by extra +val mongodbTemplateVersion: String by extra +val coreApiVersion: String by extra +val generalUtilVersion: String by extra +val templateApiVersion: String by extra + +plugins { + `java-platform` +} + +dependencies { + constraints { + // Flamingock Core + api("io.flamingock:flamingock-general-util:${generalUtilVersion}") + api("io.flamingock:flamingock-core-api:${coreApiVersion}") + api("io.flamingock:flamingock-template-api:${templateApiVersion}") + api("io.flamingock:flamingock-test-support:${version}") + api("io.flamingock:flamingock-nontransactional-targetsystem:${version}") + + //Flamingock Cloud + api("io.flamingock:flamingock-cloud:${version}") + api("io.flamingock:flamingock-cloud-api:${version}") + + // Flamingock Community + api("io.flamingock:flamingock-community:${version}") + api("io.flamingock:flamingock-mongodb-sync-auditstore:$version") + api("io.flamingock:flamingock-mongodb-springdata-auditstore:${version}") + api("io.flamingock:flamingock-couchbase-auditstore:$version") + api("io.flamingock:flamingock-dynamodb-auditstore:$version") + api("io.flamingock:flamingock-sql-auditstore:$version") + + // Springboot + api("io.flamingock:flamingock-springboot-integration:${version}") + api("io.flamingock:flamingock-springboot-test-support:${version}") + api("io.flamingock:flamingock-graalvm:${version}") + + // Mongock + api("io.flamingock:mongock-support:${version}") + + // Sql + api("io.flamingock:flamingock-sql-util:${sqlVersion}") + api("io.flamingock:flamingock-sql-targetsystem:${version}") + api("io.flamingock:flamingock-sql-externalsystem-api:${version}") + api("io.flamingock:flamingock-sql-test-util:${sqlVersion}") + api("io.flamingock:flamingock-sql-template:${sqlVersion}") + + // Mongodb + api("io.flamingock:flamingock-mongodb-externalsystem-api:${version}") + api("io.flamingock:flamingock-mongodb-sync-targetsystem:${version}") + api("io.flamingock:flamingock-mongodb-springdata-targetsystem:${version}") + api("io.flamingock:flamingock-mongodb-sync-template:${mongodbTemplateVersion}") + + // Dynamodb + api("io.flamingock:flamingock-dynamodb-externalsystem-api:${version}") + api("io.flamingock:flamingock-dynamodb-targetsystem:${version}") + + // Couchbase + api("io.flamingock:flamingock-couchbase-externalsystem-api:${version}") + api("io.flamingock:flamingock-couchbase-targetsystem:${version}") + } +} + +description = "Bill of Materials for Flamingock dependency management" diff --git a/core/flamingock-core-commons/build.gradle.kts b/core/flamingock-core-commons/build.gradle.kts index 355b3feb3..9ce946521 100644 --- a/core/flamingock-core-commons/build.gradle.kts +++ b/core/flamingock-core-commons/build.gradle.kts @@ -2,6 +2,7 @@ val jacksonVersion = "2.16.0" val generalUtilVersion: String by extra val coreApiVersion: String by extra dependencies { + api(project(":cloud:flamingock-cloud-api")) api("io.flamingock:flamingock-core-api:${coreApiVersion}") api("io.flamingock:flamingock-general-util:${generalUtilVersion}")//todo implementation api("jakarta.annotation:jakarta.annotation-api:2.1.1")//todo can this be implementation? diff --git a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java index fe73e9476..cc7ffb364 100644 --- a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java +++ b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java @@ -18,7 +18,7 @@ import io.flamingock.internal.common.core.audit.AuditTxType; import io.flamingock.internal.util.ThrowableUtil; import io.flamingock.internal.common.core.audit.AuditEntry; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.pipeline.execution.ExecutionContext; import io.flamingock.internal.core.task.loaded.AbstractLoadedTask; import io.flamingock.internal.core.task.loaded.AbstractTemplateLoadedChange; diff --git a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java index 65a19c832..814385e69 100644 --- a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java +++ b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java @@ -15,7 +15,7 @@ */ package io.flamingock.internal.core.external.targets.mark; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class TargetSystemAuditMark { diff --git a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java index edf3a9e82..e6eeffc6e 100644 --- a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java +++ b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java @@ -15,7 +15,7 @@ */ package io.flamingock.internal.core.external.targets.mark; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.core.error.FlamingockException; import io.flamingock.internal.core.task.executable.ExecutableTask; import java.util.Set; diff --git a/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java b/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java index e39d3144c..774cf6cc9 100644 --- a/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java +++ b/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java @@ -25,7 +25,7 @@ import com.couchbase.client.java.query.QueryScanConsistency; import com.couchbase.client.java.transactions.TransactionAttemptContext; import com.couchbase.client.java.transactions.TransactionGetResult; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.common.couchbase.CouchbaseCollectionInitializator; import io.flamingock.internal.util.constants.CommunityPersistenceConstants; diff --git a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java index 5e4c18ab4..4e996d035 100644 --- a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java +++ b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java @@ -27,7 +27,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.common.core.util.Deserializer; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; diff --git a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java index db415f7b8..820793eb1 100644 --- a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java +++ b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java @@ -20,7 +20,7 @@ import com.couchbase.client.java.Cluster; import com.couchbase.client.java.Collection; import com.couchbase.client.java.json.JsonObject; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.common.couchbase.CouchbaseCollectionInitializator; import io.flamingock.internal.core.external.store.audit.domain.AuditContextBundle; diff --git a/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java b/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java index 4cf9e5ad0..a86a6e7df 100644 --- a/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java +++ b/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java @@ -15,7 +15,7 @@ */ package io.flamingock.targetsystem.dynamodb; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute; import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean; diff --git a/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java b/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java index 6c51d525b..87d59f315 100644 --- a/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java +++ b/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java @@ -29,7 +29,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java index bd8bd9f9d..d6b363720 100644 --- a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java +++ b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java @@ -33,7 +33,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java index 8ff004367..f90623eaa 100644 --- a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java +++ b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java @@ -17,7 +17,7 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.external.store.audit.domain.AuditContextBundle; import io.flamingock.internal.common.mongodb.CollectionInitializator; diff --git a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java index 1724d64a3..a48744034 100644 --- a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java +++ b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java @@ -26,7 +26,7 @@ import io.flamingock.internal.util.constants.CommunityPersistenceConstants; import io.flamingock.internal.common.mongodb.MongoDBSyncCollectionHelper; import io.flamingock.internal.common.mongodb.MongoDBSyncDocumentHelper; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.mongodb.CollectionInitializator; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMarker; diff --git a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java index 17abb1ca3..14acf40bc 100644 --- a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java +++ b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java @@ -33,7 +33,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java index fcc58a7a3..b4b78abd8 100644 --- a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java +++ b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java @@ -20,7 +20,7 @@ import io.flamingock.internal.util.constants.CommunityPersistenceConstants; import io.flamingock.internal.common.mongodb.MongoDBSyncCollectionHelper; import io.flamingock.internal.common.mongodb.MongoDBSyncDocumentHelper; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.external.store.audit.domain.AuditContextBundle; import io.flamingock.internal.common.mongodb.CollectionInitializator; diff --git a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java index bd0d1dbaf..b70068226 100644 --- a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java +++ b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java @@ -17,6 +17,7 @@ import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.sql.SqlDialect; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.transaction.TransactionManager; @@ -174,7 +175,7 @@ void addOngoingTaskMark(SqlDialect dialect) { // GIVEN String taskId1 = "test-task-id1"; String taskId2 = "test-task-id2"; - io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType operation = io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType.ROLLBACK; + TargetSystemAuditMarkType operation = TargetSystemAuditMarkType.ROLLBACK; TargetSystemAuditMark mark1 = new TargetSystemAuditMark(taskId1, operation); TargetSystemAuditMark mark2 = new TargetSystemAuditMark(taskId2, operation); @@ -220,7 +221,7 @@ void removeOngoingTaskMark(SqlDialect dialect) { // GIVEN String taskId1 = "test-task-id1"; String taskId2 = "test-task-id2"; - io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType operation = io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType.ROLLBACK; + TargetSystemAuditMarkType operation = TargetSystemAuditMarkType.ROLLBACK; TargetSystemAuditMark mark1 = new TargetSystemAuditMark(taskId1, operation); TargetSystemAuditMark mark2 = new TargetSystemAuditMark(taskId2, operation); diff --git a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java index 0c62eaa04..cd2fb1321 100644 --- a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java +++ b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java @@ -29,7 +29,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/infra/check-latest-versions.sh b/infra/check-latest-versions.sh new file mode 100755 index 000000000..bcc7b04af --- /dev/null +++ b/infra/check-latest-versions.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +set -euo pipefail + +NAMESPACE="io.flamingock" +BASE_URL="https://central.sonatype.com/api/internal/browse/component/versions" + +get_version() { + local artifact="$1" + local version + version=$(curl -s "${BASE_URL}?sortField=normalizedVersion&sortDirection=desc&page=0&size=1&filter=namespace:${NAMESPACE},name:${artifact}" \ + | grep -o '"version":"[^"]*"' \ + | head -1 \ + | cut -d'"' -f4) + echo "${version:-NOT FOUND}" +} + +echo " extra[\"generalUtilVersion\"] = \"$(get_version flamingock-general-util)\"" +echo " extra[\"templateApiVersion\"] = \"$(get_version flamingock-template-api)\"" +echo " extra[\"coreApiVersion\"] = \"$(get_version flamingock-core-api)\"" +echo " extra[\"sqlVersion\"] = \"$(get_version flamingock-sql-template)\"" +echo " extra[\"mongodbTemplateVersion\"] = \"$(get_version flamingock-mongodb-sync-template)\"" +echo +echo " Core BOM: $(get_version flamingock-bom)" diff --git a/settings.gradle.kts b/settings.gradle.kts index 2847618ed..c12ee0135 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -28,6 +28,10 @@ include("core:flamingock-test-support") project(":core:flamingock-test-support").name = "flamingock-test-support" project(":core:flamingock-test-support").projectDir = file("core/flamingock-test-support") +include("core:flamingock-bom") +project(":core:flamingock-bom").name = "flamingock-bom" +project(":core:flamingock-bom").projectDir = file("core/flamingock-bom") + ////////////////////////////////////// // CLOUD @@ -36,9 +40,9 @@ include("cloud:flamingock-cloud") project(":cloud:flamingock-cloud").name = "flamingock-cloud" project(":cloud:flamingock-cloud").projectDir = file("cloud/flamingock-cloud") -include("cloud:flamingock-cloud-bom") -project(":cloud:flamingock-cloud-bom").name = "flamingock-cloud-bom" -project(":cloud:flamingock-cloud-bom").projectDir = file("cloud/flamingock-cloud-bom") +include("cloud:flamingock-cloud-api") +project(":cloud:flamingock-cloud-api").name = "flamingock-cloud-api" +project(":cloud:flamingock-cloud-api").projectDir = file("cloud/flamingock-cloud-api") ////////////////////////////////////// // COMMUNITY diff --git a/utils/test-util/build.gradle.kts b/utils/test-util/build.gradle.kts index ddf5bb7a6..fb528afb7 100644 --- a/utils/test-util/build.gradle.kts +++ b/utils/test-util/build.gradle.kts @@ -3,6 +3,7 @@ val generalUtilVersion: String by extra dependencies { api("io.flamingock:flamingock-general-util:${generalUtilVersion}") + api(project(":cloud:flamingock-cloud-api")) api(project(":core:flamingock-core")) api(project(":core:flamingock-core-commons")) api(project(":core:flamingock-processor")) diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java index 5ea31e5f8..1f85596c8 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java @@ -27,10 +27,10 @@ import io.flamingock.common.test.cloud.prototype.PrototypeTask; import io.flamingock.internal.common.cloud.auth.AuthRequest; import io.flamingock.internal.common.cloud.auth.AuthResponse; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; +import io.flamingock.cloud.api.request.StageRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; import io.flamingock.internal.common.core.audit.AuditEntry; import java.util.*; @@ -38,7 +38,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static io.flamingock.common.test.cloud.utils.JsonMapper.toJson; -import static io.flamingock.internal.common.cloud.planner.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.vo.CloudChangeAction.APPLY; public final class MockRunnerServer { diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java index 251a0fa0d..94cdee4bf 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java @@ -15,11 +15,11 @@ */ package io.flamingock.common.test.cloud.deprecated; -import io.flamingock.internal.common.cloud.planner.response.LockResponse; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.vo.ActionResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.ExecutionAction; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.core.audit.AuditEntry; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.client.ScenarioMappingBuilder; @@ -27,9 +27,9 @@ import com.github.tomakehurst.wiremock.stubbing.Scenario; import io.flamingock.internal.common.cloud.auth.AuthRequest; import io.flamingock.internal.common.cloud.auth.AuthResponse; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; import io.flamingock.internal.common.cloud.planner.request.TaskRequest; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.StageRequest; import io.flamingock.cloud.api.request.TaskRequest; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import java.util.*; @@ -37,7 +37,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static io.flamingock.common.test.cloud.utils.JsonMapper.toJson; -import static io.flamingock.internal.common.cloud.planner.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.vo.CloudChangeAction.APPLY; @Deprecated public final class MockRunnerServerOld { @@ -391,7 +391,7 @@ private void mockAuditWriteEndpoint() { } private void mockReleaseLockEndpoint() { - LockResponse lockResponse = new LockResponse(); + LockInfo lockResponse = new LockInfo(); lockResponse.setKey(serviceId); lockResponse.setOwner(runnerId); if(executionExpectation != null) { @@ -414,9 +414,9 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { ExecutePlanRequestResponse requestResponse = (ExecutePlanRequestResponse) executionRequestResponses.get(index); ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); executionPlanResponse.setExecutionId(requestResponse.executionId); - executionPlanResponse.setAction(ActionResponse.EXECUTE); + executionPlanResponse.setAction(ExecutionAction.EXECUTE); - LockResponse lockMock = new LockResponse(); + LockInfo lockMock = new LockInfo(); lockMock.setKey(serviceId); lockMock.setOwner(runnerId); lockMock.setAcquiredForMillis(requestResponse.getAcquiredForMillis()); @@ -432,9 +432,9 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); executionPlanResponse.setExecutionId(requestResponse.executionId); - executionPlanResponse.setAction(ActionResponse.AWAIT); + executionPlanResponse.setAction(ExecutionAction.AWAIT); - LockResponse lock = new LockResponse(); + LockInfo lock = new LockInfo(); lock.setAcquisitionId(requestResponse.getAcquisitionId()); lock.setKey(serviceName); lock.setOwner(runnerId); @@ -444,7 +444,7 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { } else { //IT'S CONTINUE ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); - executionPlanResponse.setAction(ActionResponse.CONTINUE); + executionPlanResponse.setAction(ExecutionAction.CONTINUE); return executionPlanResponse; } diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java index e328cd098..d447e34fa 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java @@ -20,21 +20,21 @@ import io.flamingock.common.test.cloud.execution.ExecutionAwaitRequestResponseMock; import io.flamingock.common.test.cloud.execution.ExecutionBaseRequestResponseMock; import io.flamingock.common.test.cloud.execution.ExecutionPlanRequestResponseMock; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; -import io.flamingock.internal.common.cloud.planner.request.TaskRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.response.LockResponse; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.vo.ActionResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.request.StageRequest; +import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.ExecutionAction; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import static io.flamingock.internal.common.cloud.planner.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.vo.CloudChangeAction.APPLY; public class MockExecutionPlanBuilder { @@ -76,23 +76,23 @@ public ExecutionPlanResponse getResponse(ExecutionBaseRequestResponseMock mockRe transformTaskResponses(stagePrototype.getTasks(), mockRequestResponse)) ).collect(Collectors.toList()); - LockResponse lock = new LockResponse(); + LockInfo lock = new LockInfo(); lock.setAcquisitionId(mockRequestResponse.getAcquisitionId()); lock.setKey(serviceId); lock.setOwner(runnerId); - return new ExecutionPlanResponse(ActionResponse.EXECUTE, executionId, lock, stages); + return new ExecutionPlanResponse(ExecutionAction.EXECUTE, executionId, lock, stages); } else if (mockRequestResponse instanceof ExecutionAwaitRequestResponseMock) { - LockResponse lock = new LockResponse(); + LockInfo lock = new LockInfo(); lock.setAcquisitionId(mockRequestResponse.getAcquisitionId()); lock.setKey(serviceId); lock.setOwner(runnerId); lock.setAcquiredForMillis(mockRequestResponse.getAcquiredForMillis()); - return new ExecutionPlanResponse(ActionResponse.AWAIT, executionId, lock); + return new ExecutionPlanResponse(ExecutionAction.AWAIT, executionId, lock); } else { //IT'S CONTINUE ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); - executionPlanResponse.setAction(ActionResponse.CONTINUE); + executionPlanResponse.setAction(ExecutionAction.CONTINUE); return executionPlanResponse; } diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java index ac87c4fcc..784d88090 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java @@ -15,8 +15,8 @@ */ package io.flamingock.common.test.cloud.mock; -import io.flamingock.internal.common.cloud.planner.response.CloudChangeAction; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.CloudChangeAction; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class MockRequestResponseTask { private final String taskId; diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java index b3698001f..4fcd7d715 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java @@ -17,10 +17,10 @@ import io.flamingock.common.test.cloud.deprecated.AuditEntryMatcher; import io.flamingock.internal.common.cloud.audit.AuditEntryRequest; -import io.flamingock.internal.common.cloud.planner.request.TaskRequest; -import io.flamingock.internal.common.cloud.planner.response.CloudChangeAction; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.vo.CloudChangeAction; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class PrototypeTask { private final String taskId;