blob: 24c0680434022909956825e333a7931c463af782 [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.
*/
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:0.6.1.RELEASE'
}
}
plugins {
id 'com.github.hierynomus.license' version '0.15.0'
id("org.nosphere.apache.rat") version "0.6.0"
id "com.jfrog.artifactory" version "4.15.1"
id 'maven-publish'
id 'idea'
id 'java'
}
group 'org.apache.fineract.cn'
version 'spring_boot_2-SNAPSHOT'
ext.versions = [
springcontext : '5.2.5.RELEASE',
springboot : '2.2.6.RELEASE',
feigngson : '8.18.0',
findbugs : '3.0.2',
frameworklangversion : 'spring_boot_2-SNAPSHOT'
]
apply plugin: 'io.spring.dependency-management'
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.SR3'
}
}
dependencies {
compile(
[group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign'],
[group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client'],
[group: 'org.springframework', name: 'spring-context', version: versions.springcontext],
[group: 'com.google.code.findbugs', name: 'jsr305', version: versions.findbugs],
[group: 'com.netflix.feign', name: 'feign-gson', version: versions.feigngson],
[group: 'org.apache.fineract.cn', name: 'lang', version: versions.frameworklangversion],
)
testCompile(
[group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: versions.springboot]
)
}
jar {
from sourceSets.main.java
}
publishing {
publications {
apiPublication(MavenPublication) {
from components.java
groupId project.group
artifactId project.name
version findProperty('externalVersion') ?: project.version
}
}
}
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')
}
}
}
artifactoryPublish.dependsOn('clean','publishToMavenLocal')
license {
header rootProject.file('HEADER')
strictCheck true
mapping {
java = 'SLASHSTAR_STYLE'
}
}
rat {
// List of exclude directives, defaults to ['**/.gradle/**']
excludes = [
".idea/**",
".gradle/**",
"gradle/**",
"build/**",
"gradlew",
"gradlew.bat",
"README.md",
".project",
"bin/**",
".classpath",
".settings/**"
]
}