| /* |
| * 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 'java' |
| } |
| |
| group 'org.apache.geode-benchmark' |
| version '1.0-SNAPSHOT' |
| |
| sourceCompatibility = 1.8 |
| |
| def outputDir = project.hasProperty('outputDir') ? project.findProperty('outputDir') : new File(project.buildDir, "benchmarks_" + getDate()).getAbsolutePath() |
| def geodeVersion = project.hasProperty('geodeVersion') ? project.findProperty('geodeVersion') : '1.+' |
| |
| def getDate() { |
| new Date().format('yyyyMMddHHmmss') |
| } |
| |
| |
| repositories { |
| mavenLocal() |
| mavenCentral() |
| } |
| |
| dependencies { |
| compile(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version') |
| compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version') |
| compile(group: 'org.apache.geode', name: 'geode-core', version: geodeVersion) |
| compile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') |
| compile(project(':harness')) |
| |
| testCompile(group: 'org.mockito', name: 'mockito-all', version: project.'mockito-all.version') |
| testCompile(group: 'org.assertj', name: 'assertj-core', version: project.'assertj-core.version') |
| } |
| |
| test{ |
| useJUnitPlatform() |
| } |
| |
| task benchmark(type: Test) { |
| outputs.upToDateWhen { false } |
| testClassesDirs = project.sourceSets.main.output.classesDirs |
| classpath = project.sourceSets.main.runtimeClasspath |
| useJUnitPlatform() |
| testLogging { |
| exceptionFormat = 'full' |
| } |
| |
| forkEvery 1 |
| |
| systemProperty 'TEST_HOSTS', project.findProperty('hosts') |
| systemProperty 'TEST_METADATA', project.findProperty('metadata') |
| systemProperty 'OUTPUT_DIR', outputDir |
| |
| doFirst { |
| if(!project.hasProperty('hosts')) { |
| throw new GradleException("You must set the hosts property to a comma separated list of hosts. Eg ./gradlew benchmark -Phosts=localhost,localhost,localhost") |
| } |
| } |
| } |