blob: e509392f328ff39a262c20cbf6eecef76d22d002 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
group 'org.apache.fineract.cn.anubis'
version 'spring_boot_2-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven-publish'
apply plugin: 'io.spring.dependency-management'
ext.versions = [
frameworktest : 'spring_boot_2-SNAPSHOT',
frameworkapi : 'spring_boot_2-SNAPSHOT',
frameworkcassandra : 'spring_boot_2-SNAPSHOT',
frameworklang : 'spring_boot_2-SNAPSHOT',
jjwt : '0.9.1',
hibernatevalidator : '6.1.6.Final'
]
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
repositories {
jcenter()
mavenLocal()
maven { url 'https://mifos.jfrog.io/mifos/libs-snapshot/' }
}
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR9'
}
dependencies {
dependency group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.13'
dependency group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '2.4.1'
dependency group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
}
}
// override certain dependency provided by Spring platform using newer releases
ext['cassandra.version'] = '3.11.9'
ext['cassandra-driver.version'] = '4.9.0'
ext['cassandra-driver.version'] = '4.9.0'
ext['activemq.version'] = '5.13.2'
ext['spring-data-releasetrain.version'] = 'Gosling-SR2A'
dependencies {
compile(
[
group: 'com.github.spotbugs', name: 'spotbugs', version: '4.2.0'
]
)
testCompile(
[group: 'org.springframework.boot', name: 'spring-boot-starter-test'],
[group: 'org.apache.fineract.cn', name: 'test', version: versions.frameworktest],
)
}
jar {
from sourceSets.main.java
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
artifactory {
contextUrl = System.getenv("ARTIFACTORY_URL")
publish {
repository {
repoKey = project.findProperty('artifactoryRepoKey')
username = System.getenv("ARTIFACTORY_USER")
password = System.getenv("ARTIFACTORY_PASSWORD")
}
defaults {
publications ('apiPublication', 'libraryPublication', 'testPublication')
}
}
}
artifactoryPublish.dependsOn('publishToMavenLocal')
license {
header rootProject.file('../HEADER')
strictCheck true
mapping {
java = 'SLASHSTAR_STYLE'
xml = 'XML_STYLE'
yml = 'SCRIPT_STYLE'
yaml = 'SCRIPT_STYLE'
}
}
task ci(dependsOn: ['clean', 'test', 'publish'])
rat {
// List of exclude directives, defaults to ['**/.gradle/**']
excludes = [
"**/*.log",
"**/.gradle/**",
"**/.idea/**",
"**/banner.txt",
"**/build/**",
"**/gradle/**",
"gradlew",
"gradlew.bat",
"README.md"
]
}