mirror of
https://github.com/elastic/logstash.git
synced 2025-04-19 04:15:23 -04:00
This upgrades multiple java libraries: * snakeyaml * shadow * gradle * guava * commons-io * commons-logging * commons-codec * commons-compress * commons-lang3 * commons-csv * log4j * google-java-format * httpclient * httpcore * javassist * jackson * jackson-databind * wiremock-standalone Gems: * rack *sinatra *octokit * gems * rake * webmock Also upgrades Java to 17.0.11+9. Leftover upgrades: * commons-csv 1.8 breaks license checker * janino 3.1.12 breaks java tests * log4j 2.21.0 breaks java compilation
87 lines
3 KiB
Groovy
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'
|
|
|
|
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
|