#
# Copyright (c) , KMG. All Rights Reserved.
#
# Licensed 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
#

# SBK_JAVA_HOME: Set this environment variable to point to your JDK 25 installation.
# If SBK_JAVA_HOME is set, it will be used instead of JAVA_HOME for building SBK.
# The first wrapper build persists its resolved JDK as SBK_JAVA_HOME in the
# per-user SBK cache. Later builds and generated launchers reuse that selection
# before checking JAVA_HOME, PATH, or the checksum-verified managed JDK cache.
# An explicitly configured but invalid variable stops resolution with an error.
# Example: export SBK_JAVA_HOME=/path/to/jdk-25

org.gradle.daemon=true
org.gradle.parallel=true

# Shared unit-test JVM defaults (overridable with Gradle properties).
testMinHeapSize=128m
testMaxHeapSize=512m
testMaxParallelForks=1

# Shared runtime container setting
runtimeContainerImage=eclipse-temurin:25-jdk-ubi10-minimal

# Shared build and publication endpoints
gradlePluginRepositoryUrl=https://plugins.gradle.org/m2/
haloDbRepositoryUrl=https://maven.pkg.github.com/yahoo/HaloDB
githubPackagesRepositoryUrl=https://maven.pkg.github.com/kmgowda/SBK
mavenCentralPublisherUrl=https://central.sonatype.com/api/v1/publisher
mavenStagingRepositoryDirectory=sbk-repo
releaseGitHubApiUrl=https://api.github.com
releaseGitHubApiVersion=2022-11-28
releaseGitHubWebUrl=https://github.com
releaseGitHubRepository=kmgowda/SBK
releaseWorkflowFile=release.yml
releaseWorkflowRef=master
releaseDispatchTimeoutSeconds=30

# Maven publication metadata
publicationName=SBK
publicationDescription=Storage Benchmark Kit
publicationProjectUrl=https://github.com/kmgowda/SBK
publicationScmUrl=https://github.com/kmgowda/SBK/tree/master
publicationScmConnection=scm:git:git://github.com/kmgowda/SBK.git
publicationScmDeveloperConnection=scm:git:https://github.com/kmgowda/SBK.git
publicationLicenseName=The Apache License, Version 2.0
publicationLicenseUrl=https://www.apache.org/licenses/LICENSE-2.0.txt
publicationDeveloperId=kmgowda
publicationDeveloperName=Keshava Munegowda
publicationDeveloperEmail=keshava.gowda@gmail.com

# Minimum normalized allocation saved by TimeStampMpscQueue when it
# eliminates the wrapper node allocated by ConcurrentLinkedQueue.
timeStampQueueMinimumAllocationReductionBytes=8.0

# Allow Lombok's compile-time Unsafe access on Java 25 and fix timezone warnings
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 --sun-misc-unsafe-memory-access=allow -Duser.timezone=Asia/Kolkata

# The below setting is required to avoid the '/gradlew publish -Pgithub throwing SHA-512 errors'
# issue: https://github.com/kmgowda/SBK/issues/356
systemProp.org.gradle.internal.publish.checksums.insecure=true


# gradle plugins

# gradle dependency package updates to check
# command : ./gradlew dependencyUpdates -Drevision=release --no-parallel
gradleVersionsPluginVersion=0.56.0

# gradle plugins
graalvmPluginVersion=0.10.0
spotbugsPluginVersion=6.5.9
jibVersion=3.5.4
sshPluginVersion=2.10.1
mkdocsPluginVersion=2.1.1
jReleaserPluginVersion=1.23.0
cycloneDxPluginVersion=3.4.1

#Dependencies
spotbugsVersion=4.10.3
grpcVersion=1.83.0
protobufGradlePlugin=0.10.0
protobufProtocVersion=4.35.1
checkstyleToolVersion=13.9.0
apacheRatVersion=0.18
jacocoVersion=0.8.14
slf4jVersion=2.0.18
javaxAnnotationVersion=3.0.0
junitVersion=6.1.2
mockitoVersion=5.23.0
lombokVersion=1.18.46
commonsCliVersion=1.11.0
commonsCompressVersion=1.27.1
apacheCommonsConfigVersion=2.15.1
apacheCommonsCsvVersion=1.14.1
apacheCommonsLang3Version=3.20.0
reflectionsVersion=0.10.2
micrometerVersion=1.16.6
guavaVersion=33.6.0-jre
jacksonVersion=3.1.5
fasterxmlVersion=2.21
sshdVersion=2.19.0
HdrHistogramVersion=2.2.2
jetbrainVersion=26.1.0
jmxPrometheusVersion=1.0.1
jmhGradleVersion=0.7.3
jmhVersion=1.37
jcstressVersion=0.16
lincheckVersion=3.6

eclipseCollectionVersion=13.0.0

#JMX exporter
jmxExport=false

jmxAgent=jmx_prometheus_javaagent

jmxSbkPort=8718
jmxSbmPort=8719

# Version and base tags can be overridden at build time
sbkVersion=10.6

sbkGroup=io.github.kmgowda.sbk
signing.keyId=
signing.password=
# This will be defaulted to ~/.gnupg/secring.gpg if not provided as a command line property
signing.secretKeyRingFile=

# Optional JReleaser environment file. Resolution order:
# this property, JRELEASER_CONFIG_FILE, ~/.jreleaser/config.toml.
jreleaser.configFile=
