logstash/tools/benchmark-cli/build.gradle
Andrea Selva 9c0e50faac
Use org.logstash.common.Util to hashing by default to SHA256 (#17346)
Removes the usage fo Apache Commons Codec MessgeDigest to use internal Util class with embodies hashing methods.
2025-03-19 09:15:25 +01:00

87 lines
3 KiB
Groovy

/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. 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.
*/
import org.yaml.snakeyaml.Yaml
// fetch version from Logstash's main versions.yml file
def versionMap = (Map) (new Yaml()).load(new File("$projectDir/../../versions.yml").text)
description = """Logstash End to End Benchmarking Utility"""
version = versionMap['logstash-core']
String jacksonVersion = versionMap['jackson']
String jacksonDatabindVersion = versionMap['jackson-databind']
repositories {
mavenCentral()
}
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath group: 'org.yaml', name: 'snakeyaml', version: "${snakeYamlVersion}"
classpath "com.github.johnrengelman:shadow:${shadowGradlePluginVersion}"
}
}
ext {
jmh = '1.37'
elasticsearch = '5.6.16'
}
dependencies {
implementation 'net.sf.jopt-simple:jopt-simple:5.0.4'
implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.14'
implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.26.1'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.14.0'
implementation group: 'commons-codec', name: 'commons-codec', version: '1.17.0' // transitively required by httpclient
implementation group: 'commons-io', name: 'commons-io', version: '2.16.1'
implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}"
api "com.fasterxml.jackson.core:jackson-databind:${jacksonDatabindVersion}"
implementation group: 'org.elasticsearch.client', name: 'elasticsearch-rest-client', version: elasticsearch
implementation "org.openjdk.jmh:jmh-core:$jmh"
testImplementation group: 'org.wiremock', name: 'wiremock-standalone', version: '3.0.4'
testImplementation "junit:junit:4.13.2"
}
javadoc {
enabled = false
}
test {
// We need to force IPV4 usage to make WireMock tests portable between *nix and Windows.
// For details see: https://github.com/elastic/logstash/pull/8372
jvmArgs '-Djava.net.preferIPv4Stack=true'
exclude '**/org/logstash/benchmark/cli/MainTest*'
exclude '**/org/logstash/benchmark/cli/MainEsStorageTest*'
}
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'java'
shadowJar {
archiveBaseName = 'benchmark-cli'
archiveClassifier = null
archiveVersion = ''
}
assemble.dependsOn shadowJar