blob: a5586070558460907d56f3238ba714dd77d3cbb8 [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()
}
}
plugins {
id 'com.github.hierynomus.license' version '0.13.1'
id("org.nosphere.apache.rat") version "0.3.1"
id "com.jfrog.artifactory" version "4.9.5"
}
group 'org.apache.fineract.cn'
version '0.1.0-BUILD-SNAPSHOT'
ext.versions = [
springcontext : '4.3.3.RELEASE',
springboot : '1.4.1.RELEASE',
findbugs : '3.0.1',
frameworklang : '0.1.0-BUILD-SNAPSHOT',
eclipselink : '2.7.4'
]
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'license'
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/' }
}
dependencies {
compile(
[group: 'org.springframework', name: 'spring-context', version: versions.springcontext],
[group: 'com.google.code.findbugs', name: 'jsr305', version: versions.findbugs],
[group: 'org.apache.fineract.cn', name: 'lang', version: versions.frameworklang],
[group: 'com.jolbox', name: 'bonecp', version: '0.8.0.RELEASE'],
[group: 'org.flywaydb', name: 'flyway-core', version: '4.0.1'],
[group: 'org.eclipse.persistence', name: 'org.eclipse.persistence.jpa', version: versions.eclipselink]
)
//Workaround for bug described here: https://discuss.gradle.org/t/build-failure-when-4-1-0-of-net-java-dev-jna-jna-is-selected-in-place-of-3-3-0-due-to-change-in-artifacts-with-classifiers/9377/3
//These two compiled of jna and the exclude under mariadb-java-client may be removable once
//the bug is fixed in gradle.
compile('org.mariadb.jdbc:mariadb-java-client:1.4.3') {
exclude group: 'net.java.dev.jna'
}
compile(group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: versions.springboot)
{
exclude group: 'org.hibernate', module: 'hibernate-entitymanager'
exclude group: 'org.hibernate', module: 'hibernate-core'
}
compile 'net.java.dev.jna:jna:4.1.0'
compile 'net.java.dev.jna:jna-platform:4.1.0'
testCompile(
[group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: versions.springboot]
)
}
jar {
from sourceSets.main.allSource
}
publishing {
publications {
mariadbPublication(MavenPublication) {
from components.java
groupId project.group
artifactId project.name
version project.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 ('mariadbPublication')
}
}
}
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"
]
plainOutput = true
}