blob: 2090e1eb8d32387777ebf6b69f983f5d016af064 [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 {
compile('org.springframework.security:spring-security-core')
compile('javax.servlet:javax.servlet-api')
compile('mx4j:mx4j') {
ext.optional = true
}
compile('mx4j:mx4j-remote') {
ext.optional = true
}
integrationTestCompile('junit:junit')
uiTestCompile('junit:junit')
integrationTestCompile('org.hamcrest:hamcrest-core')
integrationTestCompile('org.hamcrest:hamcrest-library')
integrationTestCompile('org.hamcrest:hamcrest-all')
uiTestCompile('org.apache.httpcomponents:httpcore')
uiTestCompile('org.seleniumhq.selenium:selenium-api')
uiTestCompile('org.assertj:assertj-core')
uiTestCompile('org.apache.httpcomponents:httpclient')
uiTestCompile('org.seleniumhq.selenium:selenium-support')
compile('org.springframework:spring-beans')
// Needed to fully use log4j instead of commons-logging.
compile('org.apache.logging.log4j:log4j-jcl')
compile('org.apache.logging.log4j:log4j-api')
compile('org.apache.logging.log4j:log4j-core')
compile('commons-beanutils:commons-beanutils')
compile('commons-collections:commons-collections')
compile('commons-digester:commons-digester')
compile('org.apache.commons:commons-lang3')
compile('org.springframework.ldap:spring-ldap-core')
compile('org.springframework.security:spring-security-config') {
exclude module: 'aopalliance'
exclude module: 'spring-expression'
}
compile('org.springframework.security:spring-security-ldap') {
exclude module: 'aopalliance'
exclude module: 'spring-asm'
exclude module: 'spring-expression'
exclude module: 'spring-jdbc'
}
compile('org.springframework.security:spring-security-web') {
exclude module: 'aopalliance'
exclude module: 'spring-asm'
exclude module: 'spring-expression'
exclude module: 'spring-jdbc'
}
compile('org.springframework:spring-context')
compile('org.springframework:spring-web')
runtimeOnly('org.springframework:spring-webmvc') {
exclude module: 'aopalliance'
exclude module: 'aspectjweaver'
}
compile('org.springframework:spring-tx')
compile('com.fasterxml.jackson.core:jackson-annotations')
compile('com.fasterxml.jackson.core:jackson-core')
compile('com.fasterxml.jackson.core:jackson-databind')
compileOnly('org.mortbay.jetty:servlet-api')
runtimeOnly('org.springframework:spring-expression')
// added only to ensure common version with other geode modules
runtimeOnly('org.slf4j:slf4j-api')
providedCompile('commons-logging:commons-logging')
testCompile(project(':geode-junit')) {
exclude module: 'geode-core'
}
testCompile(project(':geode-core'))
testCompile('org.springframework:spring-test')
testCompile('org.powermock:powermock-core')
testCompile('org.powermock:powermock-module-junit4')
testCompile('org.powermock:powermock-api-mockito2')
integrationTestCompile(project(':geode-junit')) {
exclude module: 'geode-core'
}
integrationTestCompile(project(':geode-core'))
integrationTestCompile(project(':geode-pulse:geode-pulse-test'))
integrationTestCompile('org.powermock:powermock-core')
integrationTestCompile('org.powermock:powermock-module-junit4')
integrationTestCompile('org.powermock:powermock-api-mockito2')
integrationTestCompile('org.springframework:spring-test')
uiTestCompile(project(':geode-junit')) {
exclude module: 'geode-core'
}
uiTestCompile(project(':geode-json'))
uiTestCompile(project(':geode-pulse:geode-pulse-test'))
uiTestCompile('org.seleniumhq.selenium:selenium-remote-driver')
uiTestRuntime(project(':geode-core'))
}
def generatedResources = "$buildDir/generated-resources/main"
sourceSets {
main {
output.dir(generatedResources, builtBy: 'copyGemFireVersionFile')
}
integrationTest {
resources {
srcDir 'src/main/webapp/WEB-INF'
}
}
}
task copyGemFireVersionFile(type: Copy) {
from project(':geode-core').createVersionPropertiesFile
into generatedResources
}
eclipse.classpath.file {
whenMerged { classpath ->
classpath.entries.removeAll { entry -> entry.path.contains('geode-core/build')}
}
}
idea.module.iml {
whenMerged {module ->
module.dependencies.removeAll { entry -> entry.toString().contains('geode-core/build')}
}
}
artifacts {
archives war
}
war {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
classpath configurations.runtimeClasspath
classpath project(':geode-core').webJar.archivePath
}
war.dependsOn(':geode-core:webJar')
uiTest.dependsOn war
uiTest.finalizedBy rootProject.combineReports
rootProject.combineReports.mustRunAfter uiTest