Merge pull request #11 from aasaru/gradle_4.10.3
FINCN-179 gradle to 4.10.3, FINCN-178 make Travis build forks, ...
diff --git a/README.md b/README.md
index 726b35a..3dda2ba 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
-# Apache Fineract CN Provisioner [![Build Status](https://api.travis-ci.com/apache/fineract-cn-provisioner.svg?branch=develop)](https://travis-ci.com/apache/fineract-cn-provisioner)
+# Apache Fineract CN Provisioner [![Build Status](https://api.travis-ci.com/apache/fineract-cn-provisioner.svg?branch=develop)](https://travis-ci.com/apache/fineract-cn-provisioner) [![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/apache/fineract-cn-provisioner)](https://hub.docker.com/r/apache/fineract-cn-provisioner/builds)
+
This service provisions services for tenants of an Apache Fineract CN installation.
+[Read more](https://cwiki.apache.org/confluence/display/FINERACT/Fineract+CN+Project+Structure#FineractCNProjectStructure-provisioner).
## Abstract
Apache Fineract CN is an application framework for digital financial services, a system to support nationwide and cross-national financial transactions and help to level and speed the creation of an inclusive, interconnected digital economy for every nation in the world.
diff --git a/api/build.gradle b/api/build.gradle
index b3812a1..f846390 100644
--- a/api/build.gradle
+++ b/api/build.gradle
@@ -20,15 +20,15 @@
jcenter()
}
- dependencies {
- classpath 'io.spring.gradle:dependency-management-plugin:0.6.0.RELEASE'
- }
}
plugins {
id 'com.github.hierynomus.license' version '0.13.1'
- id("org.nosphere.apache.rat") version "0.3.1"
+ id("org.nosphere.apache.rat") version "0.5.2"
id "com.jfrog.artifactory" version "4.9.5"
+ id "io.spring.dependency-management" version "1.0.8.RELEASE"
+ id 'maven-publish'
+ id 'java'
}
apply from: '../shared.gradle'
diff --git a/build.gradle b/build.gradle
index e2e2bfd..74c5dae 100644
--- a/build.gradle
+++ b/build.gradle
@@ -45,7 +45,13 @@
dependsOn gradle.includedBuild('api').task(':artifactoryPublish')
dependsOn gradle.includedBuild('service').task(':artifactoryPublish')
dependsOn gradle.includedBuild('component-test').task(':artifactoryPublish')
+}
+task clean {
+ group 'all'
+ dependsOn gradle.includedBuild('api').task(':clean')
+ dependsOn gradle.includedBuild('service').task(':clean')
+ dependsOn gradle.includedBuild('component-test').task(':clean')
}
task prepareForTest {
diff --git a/component-test/build.gradle b/component-test/build.gradle
index 8ccc60e..ab06748 100644
--- a/component-test/build.gradle
+++ b/component-test/build.gradle
@@ -25,20 +25,26 @@
}
dependencies {
- classpath ("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.asciidoctor:asciidoctor-gradle-plugin:1.5.3")
}
}
plugins {
id 'com.github.hierynomus.license' version '0.13.1'
- id("org.nosphere.apache.rat") version "0.3.1"
+ id("org.nosphere.apache.rat") version "0.5.2"
id "com.jfrog.artifactory" version "4.9.5"
+ id "org.springframework.boot" version "1.4.3.RELEASE"
+ id 'maven-publish'
+ id 'java'
}
apply from: '../shared.gradle'
apply plugin: 'org.asciidoctor.convert'
+bootRepackage {
+ enabled = false
+}
+
dependencies {
compile(
[group: 'org.apache.fineract.cn.provisioner', name: 'api', version: project.version],
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 811409c..94336fc 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 7e825ac..290541c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,5 @@
-#Fri Apr 13 14:41:57 CEST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip
diff --git a/gradlew b/gradlew
index 4453cce..cccdd3d 100755
--- a/gradlew
+++ b/gradlew
@@ -33,11 +33,11 @@
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
-warn ( ) {
+warn () {
echo "$*"
}
-die ( ) {
+die () {
echo
echo "$*"
echo
@@ -155,7 +155,7 @@
fi
# Escape application args
-save ( ) {
+save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
diff --git a/service/build.gradle b/service/build.gradle
index ffb7fa1..09003e6 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -23,25 +23,23 @@
repositories {
jcenter()
}
-
- dependencies {
- classpath ("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
-}
-
plugins {
id 'com.github.hierynomus.license' version '0.13.1'
- id("org.nosphere.apache.rat") version "0.3.1"
+ id("org.nosphere.apache.rat") version "0.5.2"
id "com.jfrog.artifactory" version "4.9.5"
+ id "org.springframework.boot" version "1.4.3.RELEASE"
+ id 'maven'
+ id 'maven-publish'
+ id 'java'
+ id 'idea'
}
apply from: '../shared.gradle'
-apply plugin: 'spring-boot'
-
-springBoot {
- executable = true
+bootRepackage {
+ enabled = true
classifier = 'boot'
}
@@ -65,6 +63,8 @@
[group: 'org.apache.fineract.cn', name: 'cassandra', version: versions.frameworkcassandra],
[group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator],
[group: 'org.apache.fineract.cn', name: 'crypto', version: versions.frameworkcrypto],
+ [group: 'io.netty', name: 'netty-all', version: '4.1.39.Final'],
+ [group: 'io.netty', name: 'netty-transport-native-epoll', version: '4.1.39.Final']
)
testCompile(
@@ -72,7 +72,9 @@
)
}
-publishToMavenLocal.dependsOn bootRepackage
+tasks.withType(PublishToMavenLocal) { task ->
+ task.dependsOn 'bootRepackage'
+}
publishing {
publications {
@@ -84,7 +86,7 @@
}
bootService(MavenPublication) {
// "boot" jar
- artifact ("$buildDir/libs/$project.name-$version-boot.jar")
+ artifact(file("$buildDir/libs/$project.name-$project.version-${bootRepackage.classifier}.jar"))
groupId project.group
artifactId ("$project.name-boot")
version project.findProperty('externalVersion') ?: project.version
diff --git a/service/src/main/java/org/apache/fineract/cn/provisioner/internal/service/TenantApplicationService.java b/service/src/main/java/org/apache/fineract/cn/provisioner/internal/service/TenantApplicationService.java
index ea343fd..a92d2b2 100644
--- a/service/src/main/java/org/apache/fineract/cn/provisioner/internal/service/TenantApplicationService.java
+++ b/service/src/main/java/org/apache/fineract/cn/provisioner/internal/service/TenantApplicationService.java
@@ -144,7 +144,7 @@
//InitializeResources on the service being added should occur last, for two reasons:
// 1.) When the initialization event is put on the queue for this app/tenant combo, the app is fully ready for business.
- // 2.) If the app depeneds on the provisioning of identitypermissions in its initialization, those resources will be there.
+ // 2.) If the app depends on the provisioning of identitypermissions in its initialization, those resources will be there.
anubisInitializer.initializeResources(tenantIdentifier, x.name, x.uri);
});
}
diff --git a/service/src/main/resources/application.yaml b/service/src/main/resources/application.yaml
index d584204..ef6a76a 100644
--- a/service/src/main/resources/application.yaml
+++ b/service/src/main/resources/application.yaml
@@ -23,7 +23,7 @@
defaultZone: http://localhost:8761/eureka/
server:
- port: 9090
+ port: 2020
contextPath: /provisioner/v1/*
flyway:
@@ -50,4 +50,4 @@
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/seshat
username: postgres
- password: postgres
\ No newline at end of file
+ password: postgres
diff --git a/service/src/main/resources/banner.txt b/service/src/main/resources/banner.txt
new file mode 100644
index 0000000..9e33dda
--- /dev/null
+++ b/service/src/main/resources/banner.txt
@@ -0,0 +1,10 @@
+ _____ _ _ ____ _ _
+ | ___(_)_ __ ___ _ __ __ _ ___| |_ / ___| \ | |
+ | |_ | | '_ \ / _ \ '__/ _` |/ __| __|____| | | \| |
+ | _| | | | | | __/ | | (_| | (__| ||_____| |___| |\ |
+ |_| |_|_| |_|\___|_| \__,_|\___|\__| \____|_| \_|
+ ____ _ _
+ | _ \ _ __ _____ _(_)___(_) ___ _ __ ___ _ __
+ | |_) | '__/ _ \ \ / / / __| |/ _ \| '_ \ / _ \ '__|
+ | __/| | | (_) \ V /| \__ \ | (_) | | | | __/ |
+ |_| |_| \___/ \_/ |_|___/_|\___/|_| |_|\___|_|
diff --git a/service/src/test/java/org/apache/fineract/cn/provisioner/internal/util/JdbcUrlBuilderTest.java b/service/src/test/java/org/apache/fineract/cn/provisioner/internal/util/JdbcUrlBuilderTest.java
index e52c8d2..97acfae 100644
--- a/service/src/test/java/org/apache/fineract/cn/provisioner/internal/util/JdbcUrlBuilderTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/provisioner/internal/util/JdbcUrlBuilderTest.java
@@ -23,21 +23,21 @@
public class JdbcUrlBuilderTest {
- private final static String MARAIDB_JDBC_URL = "jdbc:mariadb://localhost:3306/comp_test";
+ private final static String POSTGRES_DB_JDBC_URL = "jdbc:postgresql:localhost:5432/comp_test";
public JdbcUrlBuilderTest() {
super();
}
@Test
- public void shouldCreateMysqlUrl() {
- final String mariaDbJdbcUrl = JdbcUrlBuilder
- .create(JdbcUrlBuilder.DatabaseType.MARIADB)
+ public void shouldCreatePostgresUrl() {
+ final String postgresDbUrl = JdbcUrlBuilder
+ .create(JdbcUrlBuilder.DatabaseType.POSTGRESQL)
.host("localhost")
- .port("3306")
+ .port("5432")
.instanceName("comp_test")
.build();
- Assert.assertEquals(MARAIDB_JDBC_URL, mariaDbJdbcUrl);
+ Assert.assertEquals(POSTGRES_DB_JDBC_URL, postgresDbUrl);
}
}
diff --git a/shared.gradle b/shared.gradle
index 5ded62e..02a5db0 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -34,12 +34,6 @@
validator : '5.3.0.Final'
]
-
-apply plugin: 'java'
-apply plugin: 'idea'
-apply plugin: 'maven-publish'
-apply plugin: 'io.spring.dependency-management'
-
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
@@ -77,7 +71,7 @@
}
jar {
- from sourceSets.main.allSource
+ from sourceSets.main.java
}
artifactory {
@@ -110,6 +104,8 @@
rat {
// List of exclude directives, defaults to ['**/.gradle/**']
excludes = [
+ "**/*.log",
+ "**/banner.txt",
"**/.idea/**",
"**/.gradle/**",
"**/gradle/**",
@@ -117,7 +113,8 @@
"gradlew",
"gradlew.bat",
"README.md",
- "**/.dockerignore/**"
+ "**/.dockerignore/**",
+ "**/logs/**/*.log",
+ "**/banner.txt"
]
- plainOutput = true
}
diff --git a/travis.sh b/travis.sh
index 03a75ee..d54330d 100755
--- a/travis.sh
+++ b/travis.sh
@@ -36,6 +36,12 @@
./gradlew publishToMavenLocal rat || EXIT_STATUS=$?
}
+# Builds Forked (non-apache) Repository
+function build_fork() {
+ echo -e "Building branch $TRAVIS_BRANCH of fork $TRAVIS_REPO_SLUG. Won't publish anything to Artifactory."
+ ./gradlew publishToMavenLocal rat || EXIT_STATUS=$?
+}
+
# For other branches we need to add branch name as prefix
function build_otherbranch() {
echo -e "Building a snapshot out of branch [$TRAVIS_BRANCH] and publishing it with prefix '${TRAVIS_BRANCH}-SNAPSHOT'"
@@ -49,17 +55,19 @@
}
+echo -e "TRAVIS_REPO_SLUG=$TRAVIS_REPO_SLUG"
echo -e "TRAVIS_BRANCH=$TRAVIS_BRANCH"
echo -e "TRAVIS_TAG=$TRAVIS_TAG"
echo -e "TRAVIS_COMMIT=${TRAVIS_COMMIT::7}"
echo -e "TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST"
-# Build Logic
-if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
+if [[ $TRAVIS_REPO_SLUG != apache* ]]; then
+ build_fork
+elif [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
build_pullrequest
-elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" != "$BUILD_SNAPSHOTS_BRANCH" ] && [ "$TRAVIS_TAG" == "" ] ; then
+elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" != "$BUILD_SNAPSHOTS_BRANCH" ] && [ "$TRAVIS_TAG" == "" ]; then
build_otherbranch
-elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "$BUILD_SNAPSHOTS_BRANCH" ] && [ "$TRAVIS_TAG" == "" ] ; then
+elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "$BUILD_SNAPSHOTS_BRANCH" ] && [ "$TRAVIS_TAG" == "" ]; then
build_snapshot
elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" != "" ]; then
build_tag