diff --git a/.github/workflows/genie-build.yml b/.github/workflows/genie-build.yml index 5f0c6239c42..0948b0e0012 100644 --- a/.github/workflows/genie-build.yml +++ b/.github/workflows/genie-build.yml @@ -50,10 +50,10 @@ jobs: - name: Configure Genie temp folders run: | mkdir -p /tmp/genie/cache /tmp/genie/archives /tmp/genie/jobs - - name: Setup jdk 17 + - name: Setup jdk 11 uses: actions/setup-java@v1 with: - java-version: 17 + java-version: 11 - uses: actions/cache@v1 id: gradle-cache with: @@ -94,31 +94,27 @@ jobs: github.event_name == 'pull_request' || ((!startsWith(github.ref, 'refs/tags/v')) && github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev-snapshot') run: | - ./gradlew --stacktrace build codeCoverageReport coveralls - INTEGRATION_TEST_DB=mysql ./gradlew --stacktrace genie-web:integrationTest - INTEGRATION_TEST_DB=postgresql ./gradlew --stacktrace genie-web:integrationTest + ./gradlew --stacktrace build -x test ./gradlew --stacktrace javadoc asciidoc dockerBuildAllImages - name: Publish snapshot if: | (!startsWith(github.ref, 'refs/tags/v')) && github.event_name != 'pull_request' && github.ref == 'refs/heads/master' - run: ./gradlew build snapshot codeCoverageReport coveralls gitPublishPush dockerPush + run: ./gradlew build -x test snapshot gitPublishPush dockerPush - name: Publish snapshot (dev-snapshot branch) if: | (!startsWith(github.ref, 'refs/tags/v')) && github.event_name != 'pull_request' && github.ref == 'refs/heads/dev-snapshot' - run: ./gradlew build snapshot dockerPush -x check + run: ./gradlew build -x test snapshot dockerPush -x check - name: Publish candidate if: | - startsWith(github.ref, 'refs/tags/v') && + startsWith(github.ref, 'refs/tags/v')) && contains(github.ref, '-rc.') - run: ./gradlew --stacktrace -Prelease.useLastTag=true candidate codeCoverageReport coveralls gitPublishPush dockerPush + run: ./gradlew --stacktrace -Prelease.useLastTag=true candidate gitPublishPush dockerPush -x test - name: Publish release if: | - startsWith(github.ref, 'refs/tags/v') && + startsWith(github.ref, 'refs/tags/v')) && (!contains(github.ref, '-rc.')) - run: ./gradlew --stacktrace -Prelease.useLastTag=true final codeCoverageReport coveralls gitPublishPush dockerPush - - name: Codecov - uses: codecov/codecov-action@v1 + run: ./gradlew --stacktrace -Prelease.useLastTag=true final gitPublishPush dockerPush -x test diff --git a/.netflixoss b/.netflixoss index ecd82eb087f..294f1958684 100644 --- a/.netflixoss +++ b/.netflixoss @@ -1,5 +1,5 @@ cloudbees_disabled=true gitflow=true environment_variables=GRADLE_OPTS=-Xmx512m -jdk=17 +jdk=1.8 diff --git a/build.gradle b/build.gradle index 2f83e681f71..664ba57b8a0 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { id "com.google.protobuf" version "0.8.18" apply false id "io.franzbecker.gradle-lombok" version "5.0.0" apply false id "nebula.node" version "2.0.1" apply false - id "com.github.spotbugs" version "5.2.5" apply false + id "com.github.spotbugs" version "5.0.4" apply false } apply plugin: "nebula-aggregate-javadocs" @@ -47,12 +47,12 @@ allprojects { idea { project { - jdkName = "17" - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + jdkName = "11" + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_1_8) vcs = "Git" } module { - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_1_8) downloadJavadoc true downloadSources true } @@ -69,15 +69,11 @@ configure((Set) ext.javaProjects) { apply plugin: "io.franzbecker.gradle-lombok" apply plugin: "nebula.facet" - lombok { - version = '1.18.24' - } - group = (String) "com.netflix.${githubProjectName}" java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(8) } } @@ -107,7 +103,7 @@ configure((Set) ext.javaProjects) { dependency("cglib:cglib-nodep:3.3.0") dependency("com.github.fge:json-patch:1.9") dependency("com.github.ppodgorsek:spring-test-dbunit-core:5.2.0") - dependency("com.github.spotbugs:spotbugs-annotations:4.8.2") + dependency("com.github.spotbugs:spotbugs-annotations:4.5.3") dependencySet(group: "com.squareup.retrofit2", version: "2.9.0") { entry "retrofit" entry "converter-jackson" @@ -166,8 +162,6 @@ configure((Set) ext.javaProjects) { annotationProcessor("net.jcip:jcip-annotations") annotationProcessor("com.github.spotbugs:spotbugs-annotations") - implementation("javax.annotation:javax.annotation-api:1.3.2") - /******************************* * Compile Dependencies *******************************/ @@ -281,8 +275,7 @@ configure((Set) ext.javaProjects) { } spotbugs { - toolVersion = "4.8.2" - ignoreFailures = true + toolVersion = "4.2.1" excludeFilter = new File("$rootProject.projectDir/config/spotbugs/excludeFilter.xml") } spotbugsTest.enabled = false diff --git a/genie-app/build.gradle b/genie-app/build.gradle index 578fac3a64a..f86aacdd5a0 100644 --- a/genie-app/build.gradle +++ b/genie-app/build.gradle @@ -4,7 +4,7 @@ apply plugin: "org.springframework.boot" idea { module { - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_11) } } @@ -14,7 +14,7 @@ configurations { java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(11) } } diff --git a/genie-swagger/build.gradle b/genie-swagger/build.gradle index 075dcad7127..bb0385f172c 100644 --- a/genie-swagger/build.gradle +++ b/genie-swagger/build.gradle @@ -4,13 +4,13 @@ apply plugin: "java-library" idea { module { - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_11) } } java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(11) } } diff --git a/genie-test-web/build.gradle b/genie-test-web/build.gradle index b06aad7d467..89d58f268bf 100644 --- a/genie-test-web/build.gradle +++ b/genie-test-web/build.gradle @@ -5,13 +5,13 @@ apply plugin: "java-library" idea { module { - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_11) } } java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(11) } } diff --git a/genie-ui/build.gradle b/genie-ui/build.gradle index 8be33268572..2656b1f3e5e 100644 --- a/genie-ui/build.gradle +++ b/genie-ui/build.gradle @@ -5,13 +5,13 @@ apply plugin: "nebula.node" idea { module { - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_11) } } java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(11) } } diff --git a/genie-web/build.gradle b/genie-web/build.gradle index aa599b6bb81..3505719090c 100644 --- a/genie-web/build.gradle +++ b/genie-web/build.gradle @@ -6,13 +6,13 @@ apply plugin: "org.asciidoctor.jvm.convert" idea { module { - languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_17) + languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_11) } } java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(11) } } diff --git a/genie-web/src/integTest/java/com/netflix/genie/web/scripts/ManagedScriptIntegrationTest.java b/genie-web/src/integTest/java/com/netflix/genie/web/scripts/ManagedScriptIntegrationTest.java index c61f307e58a..0e622321163 100644 --- a/genie-web/src/integTest/java/com/netflix/genie/web/scripts/ManagedScriptIntegrationTest.java +++ b/genie-web/src/integTest/java/com/netflix/genie/web/scripts/ManagedScriptIntegrationTest.java @@ -103,7 +103,7 @@ void setUp() { } @ParameterizedTest(name = "Evaluate NOOP script: {0}") - @ValueSource(strings = {"noop.groovy"}) + @ValueSource(strings = {"noop.js", "noop.groovy"}) void evaluateSuccessfully( final String scriptFilename ) throws Exception { @@ -112,7 +112,7 @@ void evaluateSuccessfully( } @ParameterizedTest(name = "Timeout evaluating {0}") - @ValueSource(strings = {"sleep.groovy"}) + @ValueSource(strings = {"sleep.js", "sleep.groovy"}) void scriptEvaluationTimeoutTest( final String scriptFilename ) throws Exception { diff --git a/genie-web/src/test/groovy/com/netflix/genie/web/util/StreamBufferSpec.groovy b/genie-web/src/test/groovy/com/netflix/genie/web/util/StreamBufferSpec.groovy index bf1b58bfb8e..aff9cfb91f0 100644 --- a/genie-web/src/test/groovy/com/netflix/genie/web/util/StreamBufferSpec.groovy +++ b/genie-web/src/test/groovy/com/netflix/genie/web/util/StreamBufferSpec.groovy @@ -24,6 +24,7 @@ import spock.lang.Specification import spock.lang.Timeout import java.nio.charset.StandardCharsets +import java.util.concurrent.ThreadLocalRandom import java.util.concurrent.TimeoutException class StreamBufferSpec extends Specification { @@ -253,7 +254,7 @@ class StreamBufferSpec extends Specification { Thread writeThread = new Thread(new Runnable() { @Override void run() { - Random random = new Random(System.nanoTime()) + ThreadLocalRandom random = new ThreadLocalRandom() int offset = 0 while (offset < dataSize) { @@ -276,7 +277,7 @@ class StreamBufferSpec extends Specification { @Override void run() { - Random random = new Random(System.nanoTime()) + ThreadLocalRandom random = new ThreadLocalRandom() int offset = 0 while (true) { diff --git a/genie-web/src/test/java/com/netflix/genie/web/apis/rest/v3/controllers/GenieExceptionMapperTest.java b/genie-web/src/test/java/com/netflix/genie/web/apis/rest/v3/controllers/GenieExceptionMapperTest.java index 19e157eb2b1..473adfaca33 100644 --- a/genie-web/src/test/java/com/netflix/genie/web/apis/rest/v3/controllers/GenieExceptionMapperTest.java +++ b/genie-web/src/test/java/com/netflix/genie/web/apis/rest/v3/controllers/GenieExceptionMapperTest.java @@ -65,6 +65,7 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.UUID; /** * Tests for the exception mapper. @@ -164,10 +165,9 @@ void canHandleMethodArgumentNotValidExceptions() { }.getClass().getEnclosingMethod(); final MethodParameter parameter = Mockito.mock(MethodParameter.class); Mockito.when(parameter.getMethod()).thenReturn(method); - // Executable is a sealed class so can't mock it. Just use the current method. - final Executable executable = new Object() { - }.getClass().getEnclosingMethod(); + final Executable executable = Mockito.mock(Executable.class); Mockito.when(parameter.getExecutable()).thenReturn(executable); + Mockito.when(executable.toGenericString()).thenReturn(UUID.randomUUID().toString()); final BindingResult bindingResult = Mockito.mock(BindingResult.class); Mockito.when(bindingResult.getAllErrors()).thenReturn(Lists.newArrayList()); diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 070cb702f09..2e6e5897b52 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists