From e81b96b898239ebaafb19ddeb154e4678f615ade Mon Sep 17 00:00:00 2001 From: Justin Field Date: Tue, 4 Jun 2019 09:41:14 -0700 Subject: [PATCH] Update Gradle Config (#195) * updated to Gradle 5, replaced findBugs with spotBugs, updated various Gradle plugins to b 5 compatable, add security dependency checker plugin, fixed spotBugs found bug * Use the PMD from before Gradle 5 * only run spotBugs on main source set --- build.gradle | 6 +- codequality/findbugs_default.xsl | 376 ------------------ gradle/buildscript.gradle | 16 +- gradle/check.gradle | 36 +- gradle/integration.gradle | 3 +- gradle/wrapper/gradle-wrapper.jar | Bin 50508 -> 53324 bytes gradle/wrapper/gradle-wrapper.properties | 20 +- gradlew | 52 +-- gradlew.bat | 8 +- .../service/DistributedLockService.java | 9 +- 10 files changed, 69 insertions(+), 457 deletions(-) delete mode 100644 codequality/findbugs_default.xsl diff --git a/build.gradle b/build.gradle index 55ce16e01..d55cb0752 100644 --- a/build.gradle +++ b/build.gradle @@ -34,6 +34,10 @@ apply plugin: 'com.wiredforcode.spawn' sourceCompatibility = 1.8 targetCompatibility = 1.8 +ext { + SpotBugsTask = com.github.spotbugs.SpotBugsTask +} + apply from: file('gradle/dependencies.gradle') apply from: file('gradle/check.gradle') apply from: file('gradle/integration.gradle') @@ -152,4 +156,4 @@ task copyDashboardResources(type: Copy, dependsOn: buildDashboard) { into dashboardResourceFolder } -apply from: file('gradle/develop.gradle') +apply from: file('gradle/develop.gradle') \ No newline at end of file diff --git a/codequality/findbugs_default.xsl b/codequality/findbugs_default.xsl deleted file mode 100644 index 2e254014f..000000000 --- a/codequality/findbugs_default.xsl +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - - - - -   - - - - - - Code - Warning - - - - - - - FindBugs Report - - - - - - - - - -

FindBugs Report

- -

Project Information

- - -

Metrics

- - -

Contents

- - -

Summary

- - - - - - - - - - - - tablerow0 - tablerow1 - - - - - - - - - - - tablerow0 - tablerow1 - - - - - - -
Warning TypeNumber
Warnings
Total
- -

Warnings

- -

Click on a warning row to see full context information.

- - - - - - - - - Warnings - Warnings_ - - - -

Details

- - - - - - - - -
- - -

Project: - - - - -

-

FindBugs version:

- -

Code analyzed:

-
    - -
  • -
    -
-



-
- - - - - - - - priority- - - - - - - - - - - - - - - - - - - - - -

:

- -
- - - - - - -

- - - - - - -
-
- - - - - -

lines of code analyzed, - in classes, - in packages.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MetricTotalDensity*
High Priority Warnings - - - - - - - - -
Medium Priority Warnings - - - - - - - - -
Low Priority Warnings - - - - - - - - -
Total Warnings
-

(* Defects per Thousand lines of non-commenting source statements)

-



- -
- -
- - diff --git a/gradle/buildscript.gradle b/gradle/buildscript.gradle index e43095d74..715e93812 100644 --- a/gradle/buildscript.gradle +++ b/gradle/buildscript.gradle @@ -16,16 +16,20 @@ repositories { jcenter() + maven { url 'https://plugins.gradle.org/m2/' } maven { url 'http://dl.bintray.com/vermeulen-mp/gradle-plugins' } } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' - classpath "net.saliman:gradle-cobertura-plugin:2.3.2" - classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.6.3' - classpath 'com.github.ksoichiro:gradle-console-reporter:0.4.0' + classpath 'com.github.jengelman.gradle.plugins:shadow:5.0.0' + classpath "net.saliman:gradle-cobertura-plugin:2.6.1" + classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.2' + classpath 'com.github.ksoichiro:gradle-console-reporter:0.6.2' classpath group: 'com.typesafe', name: 'config', version: '1.3.1' classpath group: 'org.codehaus.groovy.modules.http-builder', name: 'http-builder', version: '0.7.1' - classpath 'com.github.michaelruocco:embedded-mysql-plugin:2.1.4' + classpath 'com.github.michaelruocco:embedded-mysql-plugin:2.1.10' classpath 'com.wiredforcode:gradle-spawn-plugin:0.8.1' -} \ No newline at end of file + classpath 'org.owasp:dependency-check-gradle:4.0.1' + classpath "gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:2.0.0" + classpath 'com.google.guava:guava:27.1-jre' +} diff --git a/gradle/check.gradle b/gradle/check.gradle index a5268e3e2..c67247675 100644 --- a/gradle/check.gradle +++ b/gradle/check.gradle @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Nike, Inc. + * Copyright (c) 2019 Nike, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,24 +14,20 @@ * limitations under the License. */ -apply plugin: 'findbugs' +apply plugin: "com.github.spotbugs" apply plugin: 'pmd' apply plugin: "jacoco" apply plugin: 'com.github.kt3k.coveralls' +apply plugin: 'org.owasp.dependencycheck' -findbugs { - ignoreFailures = false - sourceSets = [ project.sourceSets.main ] +spotbugs { + toolVersion = '3.1.12' + sourceSets = [sourceSets.main] } pmd { sourceSets = [ project.sourceSets.main ] -} - -tasks.withType(FindBugs) { - reports { - xml.withMessages = true - } + toolVersion = "5.6.1" } jacoco { @@ -46,17 +42,15 @@ jacocoTestReport { } } +// To generate an HTML report instead of XML +tasks.withType(SpotBugsTask) { + reports.xml.enabled = false + reports.html.enabled = true +} + test.finalizedBy(project.tasks.jacocoTestReport) -task findbugsHtml { - group = "Verification" - description = "Creates a human readable Findbugs report" - doLast { - ant.xslt(in: file("$buildDir/reports/findbugs/main.xml"), - style: file('codequality/findbugs_default.xsl'), - out: new File("$buildDir/reports/findbugs/main.html")) - } -} -findbugsMain.finalizedBy findbugsHtml +tasks.check.dependsOn 'dependencyCheckAnalyze' +tasks.check.dependsOn 'spotbugsMain' tasks.coveralls.dependsOn check diff --git a/gradle/integration.gradle b/gradle/integration.gradle index eaec00a23..44b519825 100644 --- a/gradle/integration.gradle +++ b/gradle/integration.gradle @@ -31,7 +31,7 @@ configurations { } task integrationTest(type: Test) { - testClassesDir = sourceSets.integrationTest.output.classesDir + testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath } @@ -41,7 +41,6 @@ integrationTest { } } - dependencies { integrationTestCompile sourceSets.main.output integrationTestCompile configurations.testCompile diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d5c591c9c532da774b062aa6d7ab16405ff8700a..3baa851b28c65f87dd36a6748e1a85cf360c1301 100644 GIT binary patch delta 44061 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 delta 41376 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

jH(XM5>(5ybl8&J8OoRzv% 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 UUv)zu5HIj!4;Z)(S6}`2KPi3k`v3p{ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1916c7982..4f7bd6547 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,22 +1,6 @@ -# -# Copyright (c) 2016 Nike, Inc. -# -# 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 -# -# 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. -# - -#Tue Jul 01 11:06:28 PDT 2014 +#Mon Jun 03 15:19:19 PDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/gradlew b/gradlew index 91a7e269e..27309d923 100755 --- a/gradlew +++ b/gradlew @@ -6,12 +6,30 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,31 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` diff --git a/gradlew.bat b/gradlew.bat index aec99730b..f6d5974e7 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,7 +46,7 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args if "%@eval[2+2]" == "4" goto 4NT_args diff --git a/src/main/java/com/nike/cerberus/service/DistributedLockService.java b/src/main/java/com/nike/cerberus/service/DistributedLockService.java index e32d8bbdf..ca1a6a26f 100644 --- a/src/main/java/com/nike/cerberus/service/DistributedLockService.java +++ b/src/main/java/com/nike/cerberus/service/DistributedLockService.java @@ -136,10 +136,13 @@ public void executeServerShutdownHook(ServerConfig serverConfig, Channel channel locks.forEach((name, lock) -> { try { lock.release(); - lock.semaphore.tryAcquire(3, TimeUnit.SECONDS); + boolean didAcquireLock = lock.semaphore.tryAcquire(3, TimeUnit.SECONDS); + if (!didAcquireLock) { + throw new RuntimeException("Failed to acquire semaphore"); + } locks.remove(name); - } catch (InterruptedException e) { - log.error("Failed to gracefully release lock: {}, interrupting thread", e); + } catch (Exception e) { + log.error("Failed to gracefully release lock: {}, interrupting thread", name, e); lock.interrupt(); } });