diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 5b903193..3276f5d8 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -13,8 +13,8 @@ jobs: strategy: matrix: java: - - 21 - 24 + - 25 fail-fast: false runs-on: [ubuntu-latest] name: Building PA package @@ -69,3 +69,4 @@ jobs: #- name: Run PerformanceAnalzyer Backwards Compatibility Tests # working-directory: ./tmp/performance-analyzer # run: ./gradlew bwcTestSuite -Dtests.security.manager=false + diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index e9f38007..0b8c65a0 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: temurin # Temurin is a distribution of adoptium - java-version: 21 + java-version: 25 - uses: actions/checkout@v3 - name: Load secret diff --git a/build.gradle b/build.gradle index 824a851e..1a975568 100644 --- a/build.gradle +++ b/build.gradle @@ -34,9 +34,9 @@ buildscript { // Used to resolve build file dependencies repositories { mavenLocal() - maven { url "https://ci.opensearch.org/ci/dbc/snapshots/maven/" } + maven { url = "https://ci.opensearch.org/ci/dbc/snapshots/maven/" } mavenCentral() - maven { url "https://plugins.gradle.org/m2/" } + maven { url = "https://plugins.gradle.org/m2/" } } dependencies { @@ -59,7 +59,7 @@ plugins { checkstyle { toolVersion = '11.0.0' - configFile file("checkstyle/checkstyle.xml") + configFile = file("checkstyle/checkstyle.xml") } spotbugsMain { @@ -106,7 +106,7 @@ noticeFile = rootProject.file('NOTICE.txt') spotless { java { licenseHeaderFile(file('license-header')) - googleJavaFormat('1.17.0').aosp() + googleJavaFormat('1.32.0').aosp() importOrder() removeUnusedImports() trimTrailingWhitespace() @@ -135,13 +135,18 @@ loggerUsageCheck.enabled = false def _numNodes = findProperty('numNodes') as Integer ?: 1 opensearchplugin { - name 'opensearch-performance-analyzer' - description 'OpenSearch Performance Analyzer Plugin' - classname 'org.opensearch.performanceanalyzer.PerformanceAnalyzerPlugin' + name = 'opensearch-performance-analyzer' + description = 'OpenSearch Performance Analyzer Plugin' + classname = 'org.opensearch.performanceanalyzer.PerformanceAnalyzerPlugin' } -sourceCompatibility = JavaVersion.VERSION_21 -targetCompatibility = JavaVersion.VERSION_21 +def javaVersion = JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_25) ? + JavaVersion.VERSION_25 : JavaVersion.VERSION_24 + +java { + sourceCompatibility = javaVersion + targetCompatibility = javaVersion +} compileJava { dependsOn spotlessApply @@ -151,7 +156,7 @@ javadoc { } project.afterEvaluate { - JavaVersion targetVersion = JavaVersion.toVersion(targetCompatibility) + JavaVersion targetVersion = JavaVersion.toVersion(project.java.targetCompatibility) // cannot contain the first version // should be '8' or '11' etc. @@ -161,6 +166,7 @@ project.afterEvaluate { } compileJava.options.compilerArgs.removeAll(['--release', version]) + compileJava.options.release = version.toInteger() } publishing { @@ -215,7 +221,7 @@ tasks.withType(JavaCompile) { } jacoco { - toolVersion = "0.8.12" + toolVersion = "0.8.14" } jacocoTestReport { @@ -286,19 +292,21 @@ dependencies { } configurations.all { - resolutionStrategy { - force "junit:junit:${junitVersion}" - force "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" - force "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" - force "com.fasterxml.jackson.core:jackson-databind:${jacksonDataBindVersion}" - force "com.fasterxml.jackson.module:jackson-module-paranamer:${jacksonVersion}" - force "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${jacksonVersion}" - force "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jacksonVersion}" - force "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${jacksonVersion}" - force "org.apache.commons:commons-lang3:${versions.commonslang}" - force "org.slf4j:slf4j-api:2.0.0" - force "org.apache.bcel:bcel:6.6.0" // This line should be removed once Spotbugs is upgraded to 4.7.4 - force "com.google.guava:guava:${guavaVersion}" + incoming.beforeResolve { + resolutionStrategy { + force "junit:junit:${junitVersion}" + force "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" + force "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" + force "com.fasterxml.jackson.core:jackson-databind:${jacksonDataBindVersion}" + force "com.fasterxml.jackson.module:jackson-module-paranamer:${jacksonVersion}" + force "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${jacksonVersion}" + force "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jacksonVersion}" + force "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${jacksonVersion}" + force "org.apache.commons:commons-lang3:${versions.commonslang}" + force "org.slf4j:slf4j-api:2.0.0" + force "org.apache.bcel:bcel:6.6.0" // This line should be removed once Spotbugs is upgraded to 4.7.4 + force "com.google.guava:guava:${guavaVersion}" + } } } @@ -440,10 +448,7 @@ dependencyLicenses { dependencyLicenses.doFirst { def licenseDir = "$projectDir/licenses" - exec { - workingDir("$licenseDir") - commandLine 'rm', "-f", "performance-analyzer-commons-${paCommonsVersion}.jar.sha1" - } + delete "${licenseDir}/performance-analyzer-commons-${paCommonsVersion}.jar.sha1" updateShas.updateShas() } @@ -724,7 +729,7 @@ afterEvaluate { version = "${project.version}" into '/usr/share/opensearch/plugins' - from(zipTree(bundlePlugin.archivePath)) { + from(zipTree(bundlePlugin.archiveFile)) { into opensearchplugin.name } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index a4b76b95..1b33c55b 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dbc089ed..b11741a1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=ed1a8d686605fd7c23bdf62c7fc7add1c5b23b2bbc3721e661934ef4a4911d7c -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip +distributionSha256Sum=16f2b95838c1ddcf7242b1c39e7bbbb43c842f1f1a1a0dc4959b6d4d68abcac3 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f3b75f3b..23d15a93 100755 --- a/gradlew +++ b/gradlew @@ -114,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -205,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. @@ -213,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9b42019c..5eed7ee8 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell