blob: ce110b2a734c060f9484af57880f456d946e5bb7 [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.
*/
plugins {
id 'me.champeau.gradle.jmh' version '0.4.8'
}
apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
apply from: "${project.projectDir}/../gradle/publish-java.gradle"
dependencies {
api(platform(project(':boms:geode-all-bom')))
implementation(project(':geode-core'))
implementation(project(':geode-logging'))
implementation('org.apache.logging.log4j:log4j-api')
implementation('org.apache.logging.log4j:log4j-core')
//This routes slf4j logs to log4j. Shiro and micrometer use slf4j
runtimeOnly('org.apache.logging.log4j:log4j-slf4j-impl') {
exclude module: 'slf4j-api'
ext.optional = true
}
//This routes commons logging logs to log4j. Several apache commons dependencies use commons logging
runtimeOnly('org.apache.logging.log4j:log4j-jcl') {
ext.optional = true
}
//This routes jdk logs to log4j. Several dependencies use JDK logs (jackson, jaxb, ...)
runtimeOnly('org.apache.logging.log4j:log4j-jul') {
ext.optional = true
}
jmhImplementation(project(':geode-junit')) {
exclude module: 'geode-core'
}
jmhImplementation('junit:junit')
jmhImplementation('org.assertj:assertj-core')
jmhImplementation('org.mockito:mockito-core')
testImplementation(project(':geode-junit')) {
exclude module: 'geode-core'
}
testImplementation('junit:junit')
testImplementation('org.assertj:assertj-core')
testImplementation('org.mockito:mockito-core')
integrationTestImplementation(project(':geode-junit')) {
exclude module: 'geode-core'
}
integrationTestImplementation('junit:junit')
integrationTestImplementation('org.apache.logging.log4j:log4j-core::tests')
integrationTestImplementation('org.apache.logging.log4j:log4j-core::test-sources')
integrationTestImplementation('org.assertj:assertj-core')
distributedTestImplementation(project(':geode-junit')) {
exclude module: 'geode-core'
}
distributedTestImplementation('commons-io:commons-io')
distributedTestImplementation('junit:junit')
distributedTestImplementation('org.apache.commons:commons-lang3')
distributedTestImplementation('org.assertj:assertj-core')
distributedTestImplementation('org.awaitility:awaitility')
distributedTestImplementation('org.hamcrest:hamcrest-all')
distributedTestImplementation('org.hamcrest:hamcrest-core')
distributedTestImplementation('org.hamcrest:hamcrest-library')
distributedTestImplementation('org.mockito:mockito-core')
distributedTestImplementation('pl.pragmatists:JUnitParams')
}
jmh {
duplicateClassesStrategy = 'warn'
include = project.hasProperty('jmh.include') ? project.getProperties().get('jmh.include') : '.*'
profilers = project.hasProperty('jmh.profilers') ? project.getProperties().get('jmh.profilers').tokenize() : []
threads = project.hasProperty('jmh.threads') ? project.getProperties().get('jmh.threads') : null
}
jmhJar {
inputs.files(project.sourceSets.main.output, project.sourceSets.test.output)
from {
[configurations.jmh, configurations.jmhRuntime, configurations.runtimeClasspath].collect {
it.asFileTree.collect {
it
}
}.flatten().unique().collect {
it.isDirectory() ? it : zipTree(it)
}
}
exclude(['META-INF/*.SF'])
exclude('META-INF/org/apache/logging/log4j/core/config/plugins/Log4j2Plugins.dat')
exclude('*.jar')
}