blob: 590ceaf70a328efbf4cd4df84d401ca42a527cf0 [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.
*/
apply plugin: 'war'
apply from: "${project.projectDir}/../gradle/geode-dependency-management.gradle"
apply from: "${project.projectDir}/../gradle/publish.gradle"
dependencies {
compileOnly('javax.servlet:javax.servlet-api')
compileOnly(project(path: ':geode-core', configuration: 'classesOutput'))
runtimeOnly('org.springframework:spring-aspects') {
exclude module: 'aspectjweaver'
exclude module: 'aopalliance'
exclude module: 'spring-core'
}
runtimeOnly('org.springframework:spring-oxm') {
exclude module: 'commons-logging'
exclude module: 'spring-beans'
exclude module: 'spring-core'
}
runtimeOnly('org.springframework:spring-webmvc') {
exclude module: 'aopalliance'
exclude module: 'aspectjweaver'
exclude module: 'spring-core'
}
runtimeOnly('commons-fileupload:commons-fileupload') {
exclude module: 'commons-io'
}
testCompile(project(':geode-core'))
testCompile(project(':geode-junit')) {
exclude module: 'geode-core'
}
// have to use output since we exclude the dependent classes from jar :(
testCompile(project(path: ':geode-core', configuration: 'classesOutput'))
testCompile(project(':geode-junit')) {
exclude module: 'geode-core'
}
testCompile('org.springframework:spring-test')
testCompile('org.springframework:spring-webmvc') {
exclude module: 'aopalliance'
exclude module: 'spring-aop'
}
integrationTestCompile(project(':geode-dunit')) {
exclude module: 'geode-core'
}
integrationTestRuntime(files(war.destinationDir))
integrationTestRuntime('org.springframework:spring-webmvc') {
exclude module: 'aopalliance'
exclude module: 'spring-aop'
}
distributedTestCompile(project(':geode-dunit')){
exclude module: 'geode-core'
}
distributedTestCompile('pl.pragmatists:JUnitParams')
distributedTestRuntime(files(war.destinationDir))
distributedTestRuntime('org.springframework:spring-webmvc') {
exclude module: 'aopalliance'
exclude module: 'spring-aop'
}
upgradeTestCompile(project(':geode-dunit')) {
exclude module: 'geode-core'
}
}
//Remove the gradle output directories from the eclipse classpath. These
//are added by the classesOutput configuration, above. Unfortunately, using
//minusConfigurations does not work here, because it removes the entire
//geode-core project
eclipse.classpath.file {
whenMerged { classpath ->
classpath.entries.removeAll { entry -> entry.path.contains('geode-core/build') }
}
}
distributedTest.dependsOn(war)
integrationTest.dependsOn(war)
war {
dependsOn ':geode-core:webJar'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
classpath configurations.runtimeClasspath
classpath project(':geode-core').webJar.archivePath
}