logstash/logstash-core/benchmarks/build.gradle
João Duarte 0d6117173f
update multiple dependencies (#16136)
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
2024-05-08 09:13:41 +01:00

96 lines
2.6 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 Core Java Benchmarks"""
version = versionMap['logstash-core']
String jrubyVersion = versionMap['jruby']['version']
repositories {
mavenCentral()
}
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath "org.yaml:snakeyaml:${snakeYamlVersion}"
classpath "com.github.johnrengelman:shadow:${shadowGradlePluginVersion}"
}
}
test.enabled = false
jar {
manifest {
attributes "Main-Class": "org.openjdk.jmh.Main"
}
}
ext {
jmh = 1.22
}
dependencies {
implementation project(':logstash-core')
implementation "org.openjdk.jmh:jmh-core:$jmh"
annotationProcessor "org.openjdk.jmh:jmh-generator-annprocess:$jmh"
implementation 'com.google.guava:guava:33.1.0-jre'
implementation 'commons-io:commons-io:2.16.1'
runtimeOnly 'joda-time:joda-time:2.8.2'
api "org.jruby:jruby-core:$jrubyVersion"
}
javadoc {
enabled = false
}
apply plugin: 'com.github.johnrengelman.shadow'
shadowJar {
archiveBaseName = 'logstash-core-benchmarks-all'
archiveClassifier = null
archiveVersion = ''
}
tasks.register("jmh", JavaExec) {
dependsOn=[':logstash-core-benchmarks:clean', ':logstash-core-benchmarks:shadowJar']
main = "-jar"
def include = project.properties.get('include', '')
doFirst {
args = [
"-Djava.io.tmpdir=${buildDir.absolutePath}",
"-XX:+UseConcMarkSweepGC", "-XX:CMSInitiatingOccupancyFraction=75",
"-XX:+UseCMSInitiatingOccupancyOnly", "-XX:+DisableExplicitGC",
"-XX:+HeapDumpOnOutOfMemoryError", "-Xms2g", "-Xmx2g",
shadowJar.archivePath,
include
]
}
}