From 4211b9e8eae9fb240c679ae1073619e20714b8c5 Mon Sep 17 00:00:00 2001 From: Arnold Galovics Date: Wed, 14 Jun 2023 10:59:59 +0200 Subject: [PATCH] FINERACT-1724: Avoiding stackoverflowerror with GH builds --- .github/workflows/build-mariadb.yml | 4 +++- .github/workflows/build-mysql.yml | 4 +++- .github/workflows/build-postgresql.yml | 4 +++- build.gradle | 13 +------------ fineract-client/build.gradle | 3 --- fineract-core/build.gradle | 1 - fineract-core/dependencies.gradle | 4 +--- fineract-investor/build.gradle | 2 -- fineract-investor/dependencies.gradle | 4 +--- fineract-loan/build.gradle | 2 -- fineract-loan/dependencies.gradle | 4 +--- fineract-provider/build.gradle | 7 +++++++ fineract-provider/dependencies.gradle | 4 ++++ integration-tests/build.gradle | 3 --- integration-tests/dependencies.gradle | 1 - oauth2-tests/build.gradle | 3 --- twofactor-tests/build.gradle | 3 --- 17 files changed, 24 insertions(+), 42 deletions(-) diff --git a/.github/workflows/build-mariadb.yml b/.github/workflows/build-mariadb.yml index eb6a548eb..5a49f0532 100644 --- a/.github/workflows/build-mariadb.yml +++ b/.github/workflows/build-mariadb.yml @@ -87,7 +87,9 @@ jobs: FINERACT_REPORT_EXPORT_S3_ENABLED: true FINERACT_REPORT_EXPORT_S3_BUCKET_NAME: fineract-reports run: | - ./gradlew --no-daemon --console=plain build test -x doc -x :twofactor-tests:test -x :oauth2-test:test + ./gradlew --no-daemon --console=plain build -x cucumber -x test -x doc + ./gradlew --no-daemon --console=plain cucumber + ./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test ./gradlew --no-daemon --console=plain :twofactor-tests:test ./gradlew --no-daemon --console=plain :oauth2-tests:test diff --git a/.github/workflows/build-mysql.yml b/.github/workflows/build-mysql.yml index d5ca57bc7..4d966c703 100644 --- a/.github/workflows/build-mysql.yml +++ b/.github/workflows/build-mysql.yml @@ -87,7 +87,9 @@ jobs: FINERACT_REPORT_EXPORT_S3_ENABLED: true FINERACT_REPORT_EXPORT_S3_BUCKET_NAME: fineract-reports run: | - ./gradlew --no-daemon --console=plain build test -x doc -x :twofactor-tests:test -x :oauth2-test:test -PdbType=mysql + ./gradlew --no-daemon --console=plain build -x cucumber -x test -x doc + ./gradlew --no-daemon --console=plain cucumber + ./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test -PdbType=mysql ./gradlew --no-daemon --console=plain :twofactor-tests:test -PdbType=mysql ./gradlew --no-daemon --console=plain :oauth2-tests:test -PdbType=mysql diff --git a/.github/workflows/build-postgresql.yml b/.github/workflows/build-postgresql.yml index 130a1008a..42bf37db2 100644 --- a/.github/workflows/build-postgresql.yml +++ b/.github/workflows/build-postgresql.yml @@ -88,7 +88,9 @@ jobs: FINERACT_REPORT_EXPORT_S3_ENABLED: true FINERACT_REPORT_EXPORT_S3_BUCKET_NAME: fineract-reports run: | - ./gradlew --no-daemon --console=plain build test -x doc -x :twofactor-tests:test -x :oauth2-test:test -PdbType=postgresql + ./gradlew --no-daemon --console=plain build -x cucumber -x test -x doc + ./gradlew --no-daemon --console=plain cucumber + ./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test -PdbType=postgresql ./gradlew --no-daemon --console=plain :twofactor-tests:test -PdbType=postgresql ./gradlew --no-daemon --console=plain :oauth2-tests:test -PdbType=postgresql diff --git a/build.gradle b/build.gradle index 983de0f88..1be2a98d7 100644 --- a/build.gradle +++ b/build.gradle @@ -291,7 +291,6 @@ configure(project.fineractJavaProjects) { apply plugin: 'net.ltgt.errorprone' apply plugin: 'com.github.spotbugs' apply plugin: 'com.github.andygoossens.modernizer' - apply plugin: 'se.thinkcode.cucumber-runner' apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle" group = 'org.apache.fineract' @@ -559,11 +558,7 @@ configure(project.fineractJavaProjects) { 'org.bouncycastle:bcprov-jdk15to18', 'org.awaitility:awaitility', 'com.google.truth:truth', - 'com.google.truth.extensions:truth-java8-extension', - 'io.cucumber:cucumber-core', - 'io.cucumber:cucumber-java', - 'io.cucumber:cucumber-java8', - 'io.cucumber:cucumber-junit-platform-engine', + 'com.google.truth.extensions:truth-java8-extension' ) } @@ -581,12 +576,6 @@ configure(project.fineractJavaProjects) { logLevel 'quiet' } - cucumber { - tags = 'not @ignore' - main = 'io.cucumber.core.cli.Main' - shorten = 'argfile' - } - // Configuration for spotbugs plugin // https://github.com/spotbugs/spotbugs-gradle-plugin diff --git a/fineract-client/build.gradle b/fineract-client/build.gradle index 6725202e7..5c7bc6531 100644 --- a/fineract-client/build.gradle +++ b/fineract-client/build.gradle @@ -23,9 +23,6 @@ description = 'Fineract Client' apply from: 'dependencies.gradle' -// enable when all tests are migrated -tasks.cucumber.onlyIf {false} - // TODO: @vidakovic we should publish this lib to Maven Central; do in separate PR openApiMeta { diff --git a/fineract-core/build.gradle b/fineract-core/build.gradle index 14ffa8653..f02abf9a6 100644 --- a/fineract-core/build.gradle +++ b/fineract-core/build.gradle @@ -20,7 +20,6 @@ description = 'Fineract Core' apply plugin: 'java' apply plugin: 'eclipse' -check.dependsOn('cucumber') compileJava.doLast { def mainSS = sourceSets.main diff --git a/fineract-core/dependencies.gradle b/fineract-core/dependencies.gradle index 305607ae0..3bbde9d03 100644 --- a/fineract-core/dependencies.gradle +++ b/fineract-core/dependencies.gradle @@ -107,9 +107,7 @@ dependencies { // testCompile dependencies are ONLY used in src/test, not src/main. // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly! // - testImplementation( 'io.cucumber:cucumber-spring', - 'io.github.classgraph:classgraph', - ) + testImplementation( 'io.github.classgraph:classgraph') testImplementation ('org.springframework.boot:spring-boot-starter-test') { exclude group: 'com.jayway.jsonpath', module: 'json-path' exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' diff --git a/fineract-investor/build.gradle b/fineract-investor/build.gradle index c4fe0a7a4..22187772f 100644 --- a/fineract-investor/build.gradle +++ b/fineract-investor/build.gradle @@ -21,8 +21,6 @@ description = 'Fineract Investor' apply plugin: 'java' apply plugin: 'eclipse' -check.dependsOn('cucumber') - compileJava.doLast { def mainSS = sourceSets.main def source = mainSS.java.classesDirectory.get() diff --git a/fineract-investor/dependencies.gradle b/fineract-investor/dependencies.gradle index 26b040d9f..44a84d1d9 100644 --- a/fineract-investor/dependencies.gradle +++ b/fineract-investor/dependencies.gradle @@ -66,9 +66,7 @@ dependencies { // testCompile dependencies are ONLY used in src/test, not src/main. // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly! // - testImplementation( 'io.cucumber:cucumber-spring', - 'io.github.classgraph:classgraph', - ) + testImplementation( 'io.github.classgraph:classgraph' ) testImplementation ('org.springframework.boot:spring-boot-starter-test') { exclude group: 'com.jayway.jsonpath', module: 'json-path' exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' diff --git a/fineract-loan/build.gradle b/fineract-loan/build.gradle index 6e9fc042a..33b087faf 100644 --- a/fineract-loan/build.gradle +++ b/fineract-loan/build.gradle @@ -21,8 +21,6 @@ description = 'Fineract Loan' apply plugin: 'java' apply plugin: 'eclipse' -check.dependsOn('cucumber') - compileJava.doLast { def mainSS = sourceSets.main def source = mainSS.java.classesDirectory.get() diff --git a/fineract-loan/dependencies.gradle b/fineract-loan/dependencies.gradle index d76999691..c6f4d7c1a 100644 --- a/fineract-loan/dependencies.gradle +++ b/fineract-loan/dependencies.gradle @@ -62,9 +62,7 @@ dependencies { // testCompile dependencies are ONLY used in src/test, not src/main. // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly! // - testImplementation( 'io.cucumber:cucumber-spring', - 'io.github.classgraph:classgraph', - ) + testImplementation( 'io.github.classgraph:classgraph' ) testImplementation ('org.springframework.boot:spring-boot-starter-test') { exclude group: 'com.jayway.jsonpath', module: 'json-path' exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle index 90a732426..7df9eae28 100644 --- a/fineract-provider/build.gradle +++ b/fineract-provider/build.gradle @@ -26,6 +26,7 @@ apply plugin: 'com.gorylenko.gradle-git-properties' apply plugin: 'io.swagger.core.v3.swagger-gradle-plugin' apply plugin: 'com.google.cloud.tools.jib' apply plugin: 'org.springframework.boot' +apply plugin: 'se.thinkcode.cucumber-runner' check.dependsOn('cucumber') @@ -325,6 +326,12 @@ task migrateDatabase { } } +cucumber { + tags = 'not @ignore' + main = 'io.cucumber.core.cli.Main' + shorten = 'argfile' +} + tasks.jibDockerBuild.dependsOn(bootJar) // Configuration for git properties gradle plugin diff --git a/fineract-provider/dependencies.gradle b/fineract-provider/dependencies.gradle index 857b1137e..959ec2857 100644 --- a/fineract-provider/dependencies.gradle +++ b/fineract-provider/dependencies.gradle @@ -179,6 +179,10 @@ dependencies { // testImplementation( 'io.cucumber:cucumber-spring', 'io.github.classgraph:classgraph', + 'io.cucumber:cucumber-core', + 'io.cucumber:cucumber-java', + 'io.cucumber:cucumber-java8', + 'io.cucumber:cucumber-junit-platform-engine', ) testImplementation ('org.springframework.boot:spring-boot-starter-test') { exclude group: 'com.jayway.jsonpath', module: 'json-path' diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle index e7e42b2ff..366c286d5 100644 --- a/integration-tests/build.gradle +++ b/integration-tests/build.gradle @@ -28,9 +28,6 @@ configurations { apply from: 'dependencies.gradle' -// enable when all tests are migrated -tasks.cucumber.onlyIf { false } - // Allow external drivers to be used for the tests without packaging it // mainly due to license incompatibilities configurations { diff --git a/integration-tests/dependencies.gradle b/integration-tests/dependencies.gradle index a2cdcad25..6cec2df83 100644 --- a/integration-tests/dependencies.gradle +++ b/integration-tests/dependencies.gradle @@ -28,7 +28,6 @@ dependencies { project(path: ':fineract-provider', configuration: 'runtimeElements'), project(path: ':fineract-avro-schemas', configuration: 'runtimeElements'), project(path: ':fineract-client', configuration: 'runtimeElements'), - 'io.cucumber:cucumber-spring', 'com.intuit.karate:karate-junit5', // 'com.google.code.gson:gson', ) diff --git a/oauth2-tests/build.gradle b/oauth2-tests/build.gradle index 1d3712151..2cbba3f81 100644 --- a/oauth2-tests/build.gradle +++ b/oauth2-tests/build.gradle @@ -28,9 +28,6 @@ configurations { apply from: 'dependencies.gradle' -// enable when all tests are migrated -tasks.cucumber.onlyIf {false} - // Allow external drivers to be used for the tests without packaging it // mainly due to license incompatibilities configurations { diff --git a/twofactor-tests/build.gradle b/twofactor-tests/build.gradle index 342505dc5..a1d54da9a 100644 --- a/twofactor-tests/build.gradle +++ b/twofactor-tests/build.gradle @@ -28,9 +28,6 @@ configurations { apply from: 'dependencies.gradle' -// enable when all tests are migrated -tasks.cucumber.onlyIf {false} - // Allow external drivers to be used for the tests without packaging it // mainly due to license incompatibilities configurations {