130 lines
4.5 KiB
Groovy
130 lines
4.5 KiB
Groovy
import org.springframework.build.Version
|
|
|
|
// used for artifact names, building doc upload urls, etc.
|
|
description = 'Spring Data Key Value'
|
|
abbreviation = 'DATAKV'
|
|
|
|
apply plugin: 'base'
|
|
apply plugin: 'eclipse'
|
|
apply plugin: 'idea'
|
|
|
|
def buildSrcDir = "$rootDir/buildSrc"
|
|
apply from: "$buildSrcDir/wrapper.gradle"
|
|
apply from: "$buildSrcDir/maven-root-pom.gradle"
|
|
|
|
assemble.dependsOn generatePom
|
|
|
|
allprojects {
|
|
// group will translate to groupId during pom generation and deployment
|
|
group = 'org.springframework.data'
|
|
|
|
// version will be used in maven pom generation as well as determining
|
|
// where artifacts should be deployed, based on release type of snapshot,
|
|
// milestone or release.
|
|
// @see org.springframework.build.Version under buildSrc/ for more info
|
|
// @see gradle.properties for the declaration of this property.
|
|
version = new Version(springDataKeyValueVersion)
|
|
}
|
|
|
|
javaprojects = subprojects.findAll { project ->
|
|
project.path.startsWith(':spring-data-')
|
|
}
|
|
|
|
configure(javaprojects) {
|
|
apply plugin: "java"
|
|
apply plugin: "maven"
|
|
apply plugin: 'eclipse' // `gradle eclipse` to generate .classpath/.project
|
|
apply plugin: 'idea' // `gradle idea` to generate .ipr/.iml
|
|
apply plugin: 'bundlor' // all core projects should be OSGi-compliant
|
|
|
|
// set up dedicated directories for jars and source jars.
|
|
// this makes it easier when putting together the distribution
|
|
libsBinDir = new File(libsDir, 'bin')
|
|
libsSrcDir = new File(libsDir, 'src')
|
|
|
|
|
|
[compileJava, compileTestJava]*.options*.compilerArgs = ["-Xlint:-serial"]
|
|
assemble.dependsOn generatePom
|
|
|
|
// add tasks for creating source jars and generating poms etc
|
|
apply from: "$buildSrcDir/maven-deployment.gradle"
|
|
|
|
// add tasks for finding and publishing .xsd files
|
|
apply from: "$buildSrcDir/schema-publication.gradle"
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
// Public Spring artefacts
|
|
mavenRepo name: "springsource-org-release", urls: "http://repository.springsource.com/maven/bundles/release"
|
|
mavenRepo name: "spring-release", urls: "http://maven.springframework.org/release"
|
|
mavenRepo name: "spring-milestone", urls: "http://maven.springframework.org/milestone"
|
|
mavenRepo name: "spring-snapshot", urls: "http://maven.springframework.org/snapshot"
|
|
// Additional community artefacts
|
|
mavenCentral()
|
|
mavenRepo name: "sonatype-snapshot", urls: "http://oss.sonatype.org/content/repositories/snapshots"
|
|
mavenRepo name: "jboss", urls: "http://repository.jboss.org/maven2/"
|
|
mavenRepo name: "java.net", urls: "http://download.java.net/maven/2/"
|
|
}
|
|
|
|
// Common dependencies
|
|
dependencies {
|
|
// Logging
|
|
compile "org.slf4j:slf4j-api:$slf4jVersion"
|
|
compile "org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
|
runtime "log4j:log4j:$log4jVersion"
|
|
runtime "org.slf4j:slf4j-log4j12:$slf4jVersion"
|
|
// Spring Framework
|
|
compile("org.springframework:spring-core:$springVersion") {
|
|
exclude module: "commons-logging"
|
|
}
|
|
compile "org.springframework:spring-beans:$springVersion"
|
|
compile "org.springframework:spring-context:$springVersion"
|
|
compile "org.springframework:spring-context-support:$springVersion"
|
|
compile "org.springframework:spring-tx:$springVersion"
|
|
// Jackson JSON Mapper
|
|
compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion"
|
|
// Testing
|
|
testCompile "junit:junit:$junitVersion"
|
|
testCompile "org.springframework:spring-test:$springVersion"
|
|
testCompile "org.mockito:mockito-all:$mockitoVersion"
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
build
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
}
|
|
|
|
ideaProject {
|
|
withXml { provider ->
|
|
provider.node.component.find { it.@name == 'VcsDirectoryMappings' }.mapping.@vcs = 'Git'
|
|
}
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Configuration for the docs subproject
|
|
// -----------------------------------------------------------------------------
|
|
project('docs') {
|
|
apply from: "$buildSrcDir/docs.gradle"
|
|
// javadoc settings
|
|
api.options.breakIterator = true
|
|
api.options.showFromProtected()
|
|
api.options.groups = [
|
|
'Spring Data Key Value Core': ['org.springframework.data.keyvalue*'],
|
|
'Spring Data Redis Support' : ['org.springframework.data.keyvalue.redis*'],
|
|
'Spring Data Riak Support' : ['org.springframework.data.keyvalue.riak*']]
|
|
|
|
api.options.links = [
|
|
"http://static.springframework.org/spring/docs/3.0.x/javadoc-api",
|
|
"http://download.oracle.com/javase/6/docs/api/"]
|
|
}
|
|
|
|
apply from: "$buildSrcDir/dist.gradle"
|
|
apply from: "$buildSrcDir/checks.gradle" |