This is an automated email from the ASF dual-hosted git repository.
aleks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 6aa668a5f FINERACT-1470-2: Build issues
6aa668a5f is described below
commit 6aa668a5f545e785673324b4b4d02376d27b41dc
Author: Aleks <[email protected]>
AuthorDate: Wed May 4 16:59:13 2022 +0200
FINERACT-1470-2: Build issues
---
.github/workflows/build-postgresql.yml | 18 ++++------
.github/workflows/build.yml | 18 ++++------
.github/workflows/sonarqube.yml | 10 +-----
build.gradle | 16 ++++-----
.../groovy/org.apache.fineract.dependencies.gradle | 15 ++++-----
fineract-client/build.gradle | 24 +++++--------
fineract-provider/build.gradle | 39 +++++++++-------------
fineract-war/build.gradle | 9 ++---
gradle.properties | 1 +
integration-tests/build.gradle | 6 ++--
oauth2-tests/build.gradle | 6 +++-
twofactor-tests/build.gradle | 6 +++-
12 files changed, 75 insertions(+), 93 deletions(-)
diff --git a/.github/workflows/build-postgresql.yml
b/.github/workflows/build-postgresql.yml
index 862451e64..f3f2f44e5 100644
--- a/.github/workflows/build-postgresql.yml
+++ b/.github/workflows/build-postgresql.yml
@@ -29,15 +29,6 @@ jobs:
env:
TZ: Asia/Kolkata
steps:
- - name: Set up cache
- uses: actions/cache@v3
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*',
'**/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 17
@@ -46,6 +37,11 @@ jobs:
java-version: '17'
distribution: 'zulu'
cache: gradle
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+ - name: Congfigure vega-cli
+ run: npm i -g vega-cli --unsafe
- name: Validate Gradle wrapper
uses:
gradle/wrapper-validation-action@859c33240bd026ce8d5f711f5adcc65c2f8eafc1
- name: Verify PostgreSQL connection
@@ -60,10 +56,10 @@ jobs:
- name: Install additional software
run: |
sudo apt-get update
- sudo apt-get install ghostscript -y
+ sudo apt-get install ghostscript graphviz -y
- name: Basic Auth Build & Test
- run: ./gradlew --no-daemon -q --console=plain licenseMain licenseTest
check build test --fail-fast doc -x :twofactor-tests:test -x :oauth2-test:test
-PdbType=postgresql
+ run: ./gradlew --no-daemon -q --console=plain build test --fail-fast
doc -x :twofactor-tests:test -x :oauth2-test:test -PdbType=postgresql
- name: 2FA Build & Test
run: ./gradlew --no-daemon -q --console=plain :twofactor-tests:test
--fail-fast -PdbType=postgresql
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b40cb8f63..21e4d5b5c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -28,15 +28,6 @@ jobs:
env:
TZ: Asia/Kolkata
steps:
- - name: Set up cache
- uses: actions/cache@v3
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*',
'**/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 17
@@ -45,6 +36,11 @@ jobs:
java-version: '17'
distribution: 'zulu'
cache: gradle
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+ - name: Congfigure vega-cli
+ run: npm i -g vega-cli --unsafe
- name: Validate Gradle wrapper
uses:
gradle/wrapper-validation-action@859c33240bd026ce8d5f711f5adcc65c2f8eafc1
- name: Verify MariaDB connection
@@ -59,10 +55,10 @@ jobs:
- name: Install additional software
run: |
sudo apt-get update
- sudo apt-get install ghostscript -y
+ sudo apt-get install ghostscript graphviz -y
- name: Basic Auth Build & Test
- run: ./gradlew --no-daemon -q --console=plain licenseMain licenseTest
check build test --fail-fast doc -x :twofactor-tests:test -x :oauth2-test:test
+ run: ./gradlew --no-daemon -q --console=plain build test --fail-fast
doc -x :twofactor-tests:test -x :oauth2-test:test
- name: 2FA Build & Test
run: ./gradlew --no-daemon -q --console=plain :twofactor-tests:test
--fail-fast
diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml
index e47d371d8..d4258af1b 100644
--- a/.github/workflows/sonarqube.yml
+++ b/.github/workflows/sonarqube.yml
@@ -18,15 +18,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
steps:
- - name: Set up cache
- uses: actions/cache@v3
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*',
'**/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 17
@@ -34,6 +25,7 @@ jobs:
with:
java-version: '17'
distribution: 'zulu'
+ cache: gradle
- name: Validate Gradle wrapper
uses:
gradle/wrapper-validation-action@859c33240bd026ce8d5f711f5adcc65c2f8eafc1
- name: Sonarqube
diff --git a/build.gradle b/build.gradle
index c874d2482..5a1042533 100644
--- a/build.gradle
+++ b/build.gradle
@@ -58,7 +58,7 @@ buildscript {
plugins {
id "org.barfuin.gradle.taskinfo" version "1.4.0"
id 'com.adarshr.test-logger' version '3.2.0'
- id 'com.diffplug.spotless' version '6.5.1' apply false
+ id 'com.diffplug.spotless' version '6.5.2' apply false
id 'org.nosphere.apache.rat' version '0.7.1' apply false
id 'com.github.hierynomus.license' version '0.16.1' apply false
id 'com.github.jk1.dependency-license-report' version '2.1' apply false
@@ -79,7 +79,7 @@ plugins {
id 'org.sonarqube' version '3.3'
id 'com.github.andygoossens.modernizer' version '1.6.2' apply false
id 'com.github.spotbugs' version '5.0.6' apply false
- id 'se.thinkcode.cucumber-runner' version '0.0.10' apply false
+ id 'se.thinkcode.cucumber-runner' version '0.0.11' apply false
}
apply from:
"${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.release.gradle"
@@ -92,8 +92,6 @@ ext['groovy.version'] = '3.0.10'
ext['swaggerFile'] =
"$rootDir/fineract-provider/build/classes/java/main/static/fineract.yaml".toString()
allprojects {
- apply from:
"${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle"
-
group = 'org.apache.fineract'
jgitver {
@@ -248,6 +246,7 @@ allprojects {
// Git build info
"**/git.properties",
".mailmap",
+ '**/images/diag-*.svg',
]
}
}
@@ -264,6 +263,7 @@ configure(project.fineractJavaProjects) {
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"
/* define the valid syntax level for source files */
@@ -366,10 +366,6 @@ configure(project.fineractJavaProjects) {
lineEndings 'UNIX'
}
- // compileJava may create more source files into generated, hence we need
to run these tasks after it
- licenseMain.dependsOn compileJava
- processResources.dependsOn compileJava
-
// If we are running Gradle within Eclipse to enhance classes,
// set the classes directory to point to Eclipse's default build directory
if (project.hasProperty('env') && project.getProperty('env') == 'eclipse')
{
@@ -502,6 +498,10 @@ configure(project.fineractJavaProjects) {
}
}
+ compileJava {
+ dependsOn(rat, licenseMain, licenseTest)
+ }
+
dependencies {
implementation (
'ch.qos.logback:logback-core',
diff --git a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
index 09aaefbf1..cc01b28f8 100644
--- a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
+++ b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
@@ -27,10 +27,9 @@ dependencyManagement {
mavenBom 'org.jetbrains.kotlin:kotlin-bom:1.6.21'
mavenBom 'org.junit:junit-bom:5.8.2'
mavenBom 'com.fasterxml.jackson:jackson-bom:2.13.2.1'
- mavenBom 'io.cucumber:cucumber-bom:7.3.3'
+ mavenBom 'io.cucumber:cucumber-bom:7.3.4'
mavenBom 'io.netty:netty-bom:4.1.76.Final'
mavenBom 'org.mockito:mockito-bom:4.5.1'
- mavenBom 'io.github.swagger2markup:swagger2markup-bom:1.3.4'
}
dependencies {
@@ -62,11 +61,11 @@ dependencyManagement {
exclude 'com.sun.mail:javax.mail'
}
dependency 'org.quartz-scheduler:quartz:2.3.2'
- dependency 'com.amazonaws:aws-java-sdk-s3:1.12.210'
+ dependency 'com.amazonaws:aws-java-sdk-s3:1.12.213'
dependency 'org.ehcache:ehcache:3.10.0'
dependency 'com.github.spullara.mustache.java:compiler:0.9.10'
dependency 'com.jayway.jsonpath:json-path:2.7.0'
- dependency 'org.apache.tika:tika-core:2.3.0'
+ dependency 'org.apache.tika:tika-core:2.4.0'
dependency 'org.apache.httpcomponents:httpclient:4.5.13'
dependency 'jakarta.management.j2ee:jakarta.management.j2ee-api:1.1.4'
dependency 'jakarta.jms:jakarta.jms-api:2.0.3'
@@ -76,11 +75,11 @@ dependencyManagement {
dependency 'io.github.classgraph:classgraph:4.8.146'
dependency 'org.awaitility:awaitility:4.2.0'
- dependency 'com.github.spotbugs:spotbugs-annotations:4.6.0'
+ dependency 'com.github.spotbugs:spotbugs-annotations:4.7.0'
dependency 'javax.cache:cache-api:1.1.1'
dependency 'org.mock-server:mockserver-junit-jupiter:5.13.2'
dependency 'org.webjars:webjars-locator-core:0.50'
- dependency 'com.icegreen:greenmail-junit5:1.6.8'
+ dependency 'com.icegreen:greenmail-junit5:1.6.9'
dependency 'com.intuit.karate:karate-junit5:1.2.0.RC6'
// fineract client dependencies
@@ -131,7 +130,7 @@ dependencyManagement {
dependency 'org.springdoc:springdoc-openapi-security:1.6.8'
dependency 'org.springdoc:springdoc-openapi-javadoc:1.6.8'
- dependency
'com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.5.0'
+ dependency
'com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.6.0'
dependency ('org.apache.activemq:activemq-broker:5.17.1') {
exclude 'javax.annotation:javax.annotation-api'
@@ -155,7 +154,7 @@ dependencyManagement {
exclude 'jakarta.activation:jakarta.activation-api'
}
- dependency ('org.liquibase:liquibase-core:4.9.1') {
+ dependency ('org.liquibase:liquibase-core:4.10.0') {
exclude 'javax.xml.bind:jaxb-api'
}
diff --git a/fineract-client/build.gradle b/fineract-client/build.gradle
index 01d994cc6..717cb3652 100644
--- a/fineract-client/build.gradle
+++ b/fineract-client/build.gradle
@@ -31,6 +31,7 @@ openApiMeta {
generatorName = 'Fineract'
packageName = 'org.apache.fineract.client'
outputFolder = "$buildDir/meta".toString()
+ // trick to make sure fineract.yaml is generated first
}
openApiValidate {
@@ -59,10 +60,7 @@ task buildJavaSdk(type:
org.openapitools.generator.gradle.plugin.tasks.GenerateT
generateModelTests = false
generateApiTests = false
ignoreFileOverride = "$projectDir/.openapi-generator-ignore"
- // trick to make sure fineract.yaml is generated first
- dependsOn = [
- ':fineract-provider:resolve'
- ]
+ dependsOn(':fineract-provider:resolve')
}
task buildTypescriptAngularSdk(type:
org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
@@ -82,9 +80,7 @@ task buildTypescriptAngularSdk(type:
org.openapitools.generator.gradle.plugin.ta
npmName: '@apache/fineract-client',
npmRepository: "${npmRepository}"
]
- dependsOn = [
- ':fineract-provider:resolve'
- ]
+ dependsOn(':fineract-provider:resolve')
}
task buildAsciidoc(type:
org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
@@ -97,17 +93,11 @@ task buildAsciidoc(type:
org.openapitools.generator.gradle.plugin.tasks.Generate
apiPackage = 'org.apache.fineract.client.services'
invokerPackage = 'org.apache.fineract.client'
modelPackage = 'org.apache.fineract.client.models'
- dependsOn = [
- ':fineract-provider:resolve'
- ]
+ dependsOn(':fineract-provider:resolve')
}
// TODO: @vidakovic we could provide even more client libs in different
languages (Go, Ruby, Swift etc.)
-licenseMain.dependsOn(buildJavaSdk, licenseFormatMain, spotlessMiscApply)
-licenseMain.dependsOn(buildTypescriptAngularSdk, licenseFormatMain,
spotlessMiscApply)
-licenseMain.dependsOn(buildAsciidoc, licenseFormatMain, spotlessMiscApply)
-
-compileJava.dependsOn(licenseFormatMain, spotlessMiscApply)
+compileJava.dependsOn(buildJavaSdk, buildTypescriptAngularSdk, buildAsciidoc,
licenseFormatMain, spotlessMiscApply)
java {
// keep this at Java 8, not 17; see
https://issues.apache.org/jira/browse/FINERACT-1214
@@ -134,3 +124,7 @@ test {
}
sourceSets.main.java.srcDir new File(buildDir, "generated/java/src/main/java")
+
+// NOTE: Gradle suggested these dependencies
+licenseFormatMain.dependsOn buildJavaSdk
+licenseMain.dependsOn buildJavaSdk
diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle
index 981c9d64c..8dd85a234 100644
--- a/fineract-provider/build.gradle
+++ b/fineract-provider/build.gradle
@@ -56,28 +56,25 @@ task prepareInputYaml {
doLast {
copy {
from file('config/swagger/fineract-input.yaml.template')
- into file('config/swagger')
+ into file("${buildDir}/tmp/swagger")
rename { String filename -> return 'fineract-input.yaml' }
filter(ReplaceTokens, tokens: [VERSION:
"${project.version}".toString()])
}
}
}
-rat.dependsOn prepareInputYaml
-
resolve {
- logging.captureStandardOutput LogLevel.INFO
+ logging.captureStandardOutput LogLevel.QUIET
outputFileName = 'fineract'
outputFormat = 'JSONANDYAML'
- prettyPrint = true
+ prettyPrint = false
classpath = sourceSets.main.runtimeClasspath
outputDir = file("${buildDir}/classes/java/main/static")
- openApiFile = file("config/swagger/fineract-input.yaml")
+ // openApiFile = file("${buildDir}/tmp/swagger/fineract-input.yaml")
sortOutput = true
+ // dependsOn(prepareInputYaml)
}
-resolve.dependsOn prepareInputYaml
-
configurations {
providedRuntime // needed for Spring Boot executable WAR
providedCompile
@@ -111,11 +108,6 @@ modernizer {
]
}
-compileJava {
- dependsOn rat
- finalizedBy resolve
-}
-
// If we are running Gradle within Eclipse to enhance classes with OpenJPA,
// set the classes directory to point to Eclipse's default build directory
if (project.hasProperty('env') && project.getProperty('env') == 'eclipse')
@@ -158,7 +150,7 @@ configurations {
}
dependencies {
driver 'org.mariadb.jdbc:mariadb-java-client:2.7.5'
- driver 'org.postgresql:postgresql:42.3.4'
+ driver 'org.postgresql:postgresql:42.3.5'
}
URLClassLoader loader = GroovyObject.class.classLoader
@@ -213,22 +205,21 @@ bootRun {
dependencies {
implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.5'
- implementation 'org.postgresql:postgresql:42.3.4'
+ implementation 'org.postgresql:postgresql:42.3.5'
}
}
springBoot {
mainClass = 'org.apache.fineract.ServerApplication'
- buildInfo()
}
bootJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
- attributes('Main-Class':
'org.springframework.boot.loader.PropertiesLauncher', 'Implementation-Title':
'Apache Fineract', 'Implementation-Version': archiveVersion)
+ attributes('Main-Class':
'org.springframework.boot.loader.PropertiesLauncher', 'Implementation-Title':
'Apache Fineract', 'Implementation-Version': project.version)
}
- dependsOn resolve
classifier = ''
+ dependsOn resolve
}
jib {
@@ -279,7 +270,7 @@ jib {
dependencies {
implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.5'
- implementation 'org.postgresql:postgresql:42.3.4'
+ implementation 'org.postgresql:postgresql:42.3.5'
}
pluginExtensions {
@@ -296,7 +287,7 @@ jib {
}
}
-tasks.jibDockerBuild.dependsOn = ["bootJar"]
+tasks.jibDockerBuild.dependsOn(bootJar)
// Configuration for git properties gradle plugin
// https://github.com/n0mer/gradle-git-properties
@@ -310,9 +301,11 @@ gitProperties {
// make sure the generateGitProperties task always executes (even when
git.properties is not changed)
generateGitProperties.outputs.upToDateWhen { false }
-// Gradle 7.x asks for explicit dependencies between tasks
+// NOTE: Gradle suggested these dependencies
+jar.dependsOn resolve
+test.dependsOn resolve
checkstyleMain.dependsOn resolve
checkstyleTest.dependsOn resolve
-licenseMain.dependsOn processResources, generateGitProperties
spotbugsTest.dependsOn resolve
-test.dependsOn resolve
+compileTestJava.dependsOn ':fineract-client:processResources'
+bootJarMainClassName.dependsOn resolve
diff --git a/fineract-war/build.gradle b/fineract-war/build.gradle
index 0e560020d..aca955e22 100644
--- a/fineract-war/build.gradle
+++ b/fineract-war/build.gradle
@@ -20,6 +20,7 @@ description = 'Fineract WAR'
apply plugin: 'war'
apply plugin: 'distribution'
+apply from:
"${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle"
war {
archiveFileName = 'fineract-provider.war'
@@ -102,7 +103,7 @@ distributions {
}
}
-tasks.binaryDistZip.enabled false
-tasks.srcDistZip.enabled false
-tasks.binaryDistTar.dependsOn = [war, ':fineract-doc:doc']
-// tasks.srcDistTar.dependsOn prepareInputYaml
+binaryDistZip.enabled false
+srcDistZip.enabled false
+// NOTE: Gradle suggested these dependencies
+binaryDistTar.dependsOn(war, ':fineract-client:jar',
':fineract-provider:build', ':fineract-doc:doc')
diff --git a/gradle.properties b/gradle.properties
index 89f430e5c..0da3f472a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -19,3 +19,4 @@
org.gradle.jvmargs=-Xmx2g --add-exports
jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports
jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports
jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports
jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports
jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UN [...]
buildType=BUILD
org.gradle.caching=true
+org.gradle.parallel=true
diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle
index f8dfafe3a..fdc79a14a 100644
--- a/integration-tests/build.gradle
+++ b/integration-tests/build.gradle
@@ -76,8 +76,10 @@ cargoStartLocal.dependsOn ':fineract-war:war'
cargoStartLocal.mustRunAfter 'testClasses'
test {
- dependsOn cargoStartLocal
+ dependsOn (cargoStartLocal)
finalizedBy cargoStopLocal
}
-compileTestJava.dependsOn ':fineract-client:processResources'
+// NOTE: Gradle suggested these dependencies
+compileTestJava.dependsOn(':fineract-provider:generateGitProperties',
':fineract-provider:processResources', ':fineract-provider:resolve')
+spotbugsTest.dependsOn(':fineract-provider:generateGitProperties',
':fineract-provider:processResources', ':fineract-provider:resolve')
diff --git a/oauth2-tests/build.gradle b/oauth2-tests/build.gradle
index eebd32dd1..20220e460 100644
--- a/oauth2-tests/build.gradle
+++ b/oauth2-tests/build.gradle
@@ -73,6 +73,10 @@ cargoStartLocal.dependsOn ':fineract-war:war'
cargoStartLocal.mustRunAfter 'testClasses'
test {
- dependsOn cargoStartLocal
+ dependsOn (cargoStartLocal)
finalizedBy cargoStopLocal
}
+
+// NOTE: Gradle suggested these dependencies
+compileTestJava.dependsOn(':fineract-provider:generateGitProperties',
':fineract-provider:processResources', ':fineract-provider:resolve')
+spotbugsTest.dependsOn(':fineract-provider:generateGitProperties',
':fineract-provider:processResources', ':fineract-provider:resolve')
diff --git a/twofactor-tests/build.gradle b/twofactor-tests/build.gradle
index 272fa0f32..464d73c22 100644
--- a/twofactor-tests/build.gradle
+++ b/twofactor-tests/build.gradle
@@ -73,6 +73,10 @@ cargoStartLocal.dependsOn ':fineract-war:war'
cargoStartLocal.mustRunAfter 'testClasses'
test {
- dependsOn cargoStartLocal
+ dependsOn (cargoStartLocal)
finalizedBy cargoStopLocal
}
+
+// NOTE: Gradle suggested these dependencies
+compileTestJava.dependsOn(':fineract-provider:generateGitProperties',
':fineract-provider:processResources', ':fineract-provider:resolve')
+spotbugsTest.dependsOn(':fineract-provider:generateGitProperties',
':fineract-provider:processResources', ':fineract-provider:resolve')