diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 71584929f..6def4137c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -161,11 +161,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-auditstore-mongodb-springdata: + flamingock-auditstore-couchbase: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-auditstore-mongodb-springdata + module: flamingock-auditstore-couchbase secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -174,11 +174,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-auditstore-couchbase: + flamingock-auditstore-dynamodb: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-auditstore-couchbase + module: flamingock-auditstore-dynamodb secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -187,11 +187,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-auditstore-dynamodb: + flamingock-importer: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-auditstore-dynamodb + module: flamingock-importer secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -200,11 +200,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-importer: + flamingock-springboot-integration: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-importer + module: flamingock-springboot-integration secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -213,11 +213,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-springboot-integration: + nontransactional-target-system: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-springboot-integration + module: nontransactional-target-system secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -226,11 +226,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - sql-target-system: + mongodb-sync-target-system: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: sql-target-system + module: mongodb-sync-target-system secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -239,11 +239,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - mongodb-sync-target-system: + mongodb-springdata-target-system: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: mongodb-sync-target-system + module: mongodb-springdata-target-system secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -252,11 +252,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - dynamodb-transactioner: + sql-target-system: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: dynamodb-transactioner + module: sql-target-system secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -265,11 +265,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-sql-template: + dynamodb-target-system: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-sql-template + module: dynamodb-target-system secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -278,11 +278,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-mongodb-sync-template: + couchbase-target-system: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-mongodb-sync-template + module: couchbase-target-system secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -343,51 +343,20 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} -# run-examples-with-released-version: -# needs: [ -# flamingock-core, -# flamingock-core-commons, -# flamingock-core-api, -# flamingock-processor, -# flamingock-graalvm, -# flamingock-cloud, -# flamingock-cloud-bom, -# flamingock-community, -# flamingock-community-bom, -# flamingock-auditstore-mongodb-sync, -# flamingock-auditstore-mongodb-springdata, -# flamingock-auditstore-couchbase, -# flamingock-auditstore-dynamodb, -# flamingock-importer, -# flamingock-springboot-integration, -# sql-target-system, -# mongodb-sync-target-system, -# dynamodb-transactioner, -# flamingock-sql-template, -# flamingock-mongodb-sync-template, -# general-util, -# test-util, -# mongodb-util, -# dynamodb-util -# ] -# runs-on: ubuntu-latest -# continue-on-error: true -# steps: -# - name: Checkout flamingock-examples repository -# uses: actions/checkout@v3 -# with: -# repository: flamingock/flamingock-examples # Checkout flamingock-examples repo -# ref: master # Use the master branch of flamingock-examples -# - name: Setup java -# uses: actions/setup-java@v3 -# with: -# distribution: 'temurin' -# java-version: '17' -# - name: Run Gradle build on flamingock-examples -# run: ./misc/buildAll.sh + couchbase-util: + needs: [ build ] + uses: ./.github/workflows/module-release-graalvm.yml + with: + module: couchbase-util + 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 }} github-release: -# needs: [run-examples-with-released-version] needs: [ flamingock-core, flamingock-core-commons, @@ -399,20 +368,21 @@ jobs: flamingock-community, flamingock-community-bom, flamingock-auditstore-mongodb-sync, - flamingock-auditstore-mongodb-springdata, flamingock-auditstore-couchbase, flamingock-auditstore-dynamodb, flamingock-importer, flamingock-springboot-integration, - sql-target-system, + nontransactional-target-system, mongodb-sync-target-system, - dynamodb-transactioner, - flamingock-sql-template, - flamingock-mongodb-sync-template, + mongodb-springdata-target-system, + sql-target-system, + dynamodb-target-system, + couchbase-target-system, general-util, test-util, mongodb-util, - dynamodb-util + dynamodb-util, + couchbase-util ] uses: ./.github/workflows/github-release.yml secrets: @@ -422,17 +392,3 @@ jobs: 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 }} -# test-examples: -# needs: [ flamingock-core,flamingock-core-api,flamingock-core-commons,flamingock-springboot-v2-integration,flamingock-springboot-v3-integration,utils,driver-common,couchbase-driver,couchbase-springboot-v2-driver,flamingock-auditstore-dynamodb,mongodb-util,flamingock-auditstore-mongodb-springdata-v2,flamingock-auditstore-mongodb-springdata-v3,flamingock-auditstore-mongodb-springdata-v4,flamingock-auditstore-mongodb-sync,flamingock-ce-mongodb-v3,flamingock-sql-template,sql-target-system ] -# run: | -# curl -X POST \ -# -H "Accept: application/vnd.github+json" \ -# -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ -# https://api.github.com/repos/mongock/flamingock-examples/dispatches \ - -# - name: Synchronizing develop branch -# run: | -# git pull origin -# git checkout develop -# git merge -X theirs master --allow-unrelated-histories -# git push origin develop diff --git a/build.gradle.kts b/build.gradle.kts index 5b52debd0..dce719497 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,7 +16,7 @@ plugins { allprojects { group = "io.flamingock" - version = "0.0.42-beta" + version = "0.0.43-beta" repositories { mavenCentral() @@ -24,6 +24,8 @@ allprojects { } subprojects { - apply(plugin = "flamingock.project-structure") - apply(plugin = "flamingock.release-management") + if (project.file("build.gradle.kts").exists()) { + apply(plugin = "flamingock.project-structure") + apply(plugin = "flamingock.release-management") + } } diff --git a/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts b/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts index 403a75f1b..0ea0e5193 100644 --- a/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts +++ b/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts @@ -9,8 +9,7 @@ val coreProjects = setOf( "flamingock-core-commons", "flamingock-core-api", "flamingock-processor", - "flamingock-graalvm", -// "flamingock-cli" + "flamingock-graalvm" ) val cloudProjects = setOf( @@ -22,7 +21,6 @@ val communityProjects = setOf( "flamingock-community-bom", "flamingock-community", "flamingock-auditstore-mongodb-sync", - "flamingock-auditstore-mongodb-springdata", "flamingock-auditstore-couchbase", "flamingock-auditstore-dynamodb", "flamingock-importer" @@ -32,10 +30,13 @@ val pluginProjects = setOf( "flamingock-springboot-integration" ) -val transactionerProjects = setOf( - "sql-target-system", +val targetSystemProjects = setOf( + "nontransactional-target-system", "mongodb-sync-target-system", - "dynamodb-transactioner" + "mongodb-springdata-target-system", + "sql-target-system", + "dynamodb-target-system", + "couchbase-target-system" ) val templateProjects = setOf( @@ -47,10 +48,11 @@ val utilProjects = setOf( "general-util", "test-util", "mongodb-util", - "dynamodb-util" + "dynamodb-util", + "couchbase-util" ) -val allProjects = coreProjects + cloudProjects + communityProjects + pluginProjects + transactionerProjects + templateProjects + utilProjects +val allProjects = coreProjects + cloudProjects + communityProjects + pluginProjects + targetSystemProjects + templateProjects + utilProjects // Project classification utilities fun Project.isBomModule(): Boolean = name.endsWith("-bom") @@ -62,7 +64,7 @@ fun Project.getProjectCategory(): String? = when (name) { in cloudProjects -> "cloud" in communityProjects -> "community" in pluginProjects -> "plugins" - in transactionerProjects -> "transactioners" + in targetSystemProjects -> "targetSystems" in templateProjects -> "templates" in utilProjects -> "utils" else -> null @@ -74,7 +76,7 @@ fun getProjectsForBundle(bundle: String?): Set = when (bundle) { "cloud" -> cloudProjects "community" -> communityProjects "plugins" -> pluginProjects - "transactioners" -> transactionerProjects + "targetSystems" -> targetSystemProjects "templates" -> templateProjects "utils" -> utilProjects "all" -> allProjects @@ -86,7 +88,7 @@ extra["coreProjects"] = coreProjects extra["cloudProjects"] = cloudProjects extra["communityProjects"] = communityProjects extra["pluginProjects"] = pluginProjects -extra["transactionerProjects"] = transactionerProjects +extra["targetSystemProjects"] = targetSystemProjects extra["templateProjects"] = templateProjects extra["utilProjects"] = utilProjects extra["allProjects"] = allProjects diff --git a/buildSrc/src/main/kotlin/flamingock.release-management.gradle.kts b/buildSrc/src/main/kotlin/flamingock.release-management.gradle.kts index c2470ae7b..e3fa1ca69 100644 --- a/buildSrc/src/main/kotlin/flamingock.release-management.gradle.kts +++ b/buildSrc/src/main/kotlin/flamingock.release-management.gradle.kts @@ -30,7 +30,7 @@ val projectsToRelease = if (module != null) { val cloudProjects = project.extra["cloudProjects"] as Set val communityProjects = project.extra["communityProjects"] as Set val pluginProjects = project.extra["pluginProjects"] as Set - val transactionerProjects = project.extra["transactionerProjects"] as Set + val targetSystemProjects = project.extra["targetSystemProjects"] as Set val templateProjects = project.extra["templateProjects"] as Set val utilProjects = project.extra["utilProjects"] as Set @@ -39,7 +39,7 @@ val projectsToRelease = if (module != null) { "cloud" -> cloudProjects "community" -> communityProjects "plugins" -> pluginProjects - "transactioners" -> transactionerProjects + "targetSystems" -> targetSystemProjects "templates" -> templateProjects "utils" -> utilProjects "all" -> allProjects @@ -48,6 +48,12 @@ val projectsToRelease = if (module != null) { } // JReleaser configuration +jreleaser { + project { + inceptionYear.set("2024") + authors.set(setOf("dieppa", "osantana", "bercianor", "dfrigolet")) + } +} if (project != rootProject) { tasks.named("jreleaserRelease") { enabled = false diff --git a/infra/bundle-release-with-retry.sh b/infra/bundle-release-with-retry.sh index e6e6d0cfc..e065b06fb 100755 --- a/infra/bundle-release-with-retry.sh +++ b/infra/bundle-release-with-retry.sh @@ -2,7 +2,7 @@ validate_bundle() { case "$1" in - all|core|cloud|community|plugins|transactioners|templates|utils) + all|core|cloud|community|plugins|targetSystems|templates|utils) return 0 ;; *) @@ -31,4 +31,4 @@ for (( i=1; i<=maxAttempts; i++ )); do sleep "$waitingSeconds" echo echo "********************************************************************************** RELEASE ATTEMPT($((i + 1))) **********************************************************************************" -done \ No newline at end of file +done diff --git a/settings.gradle.kts b/settings.gradle.kts index 6ad316100..38d340b86 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -174,5 +174,3 @@ project(":cli:flamingock-cli").projectDir = file("cli/flamingock-cli") include("e2e:core-e2e") project(":e2e:core-e2e").name = "core-e2e" project(":e2e:core-e2e").projectDir = file("e2e/core-e2e") - -include("core:target-systems:nontransactional-target-system") \ No newline at end of file