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
96 lines
2.6 KiB
Groovy
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
|
|
]
|
|
}
|
|
}
|