diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f004d0..3da96a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this project will be documented in this file. +## [[8.5.0]](https://github.com/iExecBlockchainComputing/tee-worker-pre-compute/releases/tag/v8.5.0) 2024-06-18 + +### Quality + +- Configure Gradle JVM Test Suite Plugin. (#82) + +### Dependency Upgrades + +- Upgrade to Gradle 8.7. (#83) +- Upgrade to `eclipse-temurin:11.0.22_7-jre-focal`. (#84) +- Upgrade to `iexec-commons-poco` 4.1.0. (#85) +- Upgrade to `iexec-common` 8.5.0. (#85) + ## [[8.4.0]](https://github.com/iExecBlockchainComputing/tee-worker-pre-compute/releases/tag/v8.4.0) 2024-02-29 ### Dependency Upgrades diff --git a/Dockerfile b/Dockerfile index d86a23d..dbd3b09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:11.0.21_9-jre-focal +FROM eclipse-temurin:11.0.22_7-jre-focal ARG jar diff --git a/build.gradle b/build.gradle index 03584fb..0fbf444 100644 --- a/build.gradle +++ b/build.gradle @@ -9,9 +9,9 @@ plugins { // Apply the application plugin to add support for building a CLI application in Java. id 'application' - id 'io.freefair.lombok' version '8.2.2' + id 'io.freefair.lombok' version '8.6' id 'jacoco' - id 'org.sonarqube' version '4.2.1.3168' + id 'org.sonarqube' version '5.0.0.4638' id 'maven-publish' id 'com.github.johnrengelman.shadow' version '8.1.1' } @@ -56,23 +56,6 @@ dependencies { // apache commons.lang3 implementation 'org.apache.commons:commons-lang3:3.12.0' - - // test - testImplementation 'org.junit.jupiter:junit-jupiter:5.7.0' - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation 'org.assertj:assertj-core:3.18.1' - testImplementation "uk.org.webcompere:system-stubs-core:$systemStubsVersion" // activates env var setting - testImplementation "uk.org.webcompere:system-stubs-jupiter:$systemStubsVersion" // activates env var setting - testImplementation "org.mockito:mockito-core:$mockitoVersion" - testImplementation "org.mockito:mockito-junit-jupiter:$mockitoVersion" - testImplementation "org.mockito:mockito-inline:$mockitoVersion" // activates mocking final classes/methods -} - -sourceSets { - itest { - compileClasspath += sourceSets.main.output - runtimeClasspath += sourceSets.main.output - } } java { @@ -87,9 +70,25 @@ tasks.withType(Tar).configureEach { enabled = false } +testing { + suites { + test { + useJUnitJupiter() + dependencies { + implementation 'org.junit.jupiter:junit-jupiter:5.7.0' + implementation 'org.assertj:assertj-core:3.18.1' + implementation "uk.org.webcompere:system-stubs-core:$systemStubsVersion" // activates env var setting + implementation "uk.org.webcompere:system-stubs-jupiter:$systemStubsVersion" // activates env var setting + implementation "org.mockito:mockito-core:$mockitoVersion" + implementation "org.mockito:mockito-junit-jupiter:$mockitoVersion" + implementation "org.mockito:mockito-inline:$mockitoVersion" // activates mocking final classes/methods + } + } + } +} + tasks.withType(Test).configureEach { finalizedBy jacocoTestReport - useJUnitPlatform() } // sonarqube code coverage requires jacoco XML report @@ -119,7 +118,7 @@ shadowJar { archiveVersion.set('') // remove version from name } -ext.jarPathForOCI = relativePath(tasks.shadowJar.outputs.files.singleFile) +ext.jarPathForOCI = relativePath(tasks.shadowJar.outputs.files.singleFile) tasks.register('buildImage', Exec) { group 'Build' @@ -138,7 +137,4 @@ tasks.register('buildSconeImage', Exec) { tasks.register('itest', Test) { group 'Verification' description 'Runs the integration tests.' - dependsOn buildImage - testClassesDirs = sourceSets.itest.output.classesDirs - classpath = sourceSets.itest.runtimeClasspath } diff --git a/gradle.properties b/gradle.properties index a6edc20..4b949d9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ -version=8.4.0 -iexecCommonVersion=8.4.0 -iexecCommonsPocoVersion=3.2.0 +version=8.5.0 +iexecCommonVersion=8.5.0 +iexecCommonsPocoVersion=4.1.0 nexusUser nexusPassword diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 033e24c..e644113 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 9f4197d..b82aa23 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index fcb6fca..1aa94a4 100755 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -201,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_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. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 93e3f59..25da30d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail