You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by pi...@apache.org on 2018/06/19 15:28:56 UTC

[geode] branch develop updated: GEODE-4791: Enable gradle 4.8 for features and futureproofing (#2050)

This is an automated email from the ASF dual-hosted git repository.

pivotalsarge pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 7685375  GEODE-4791: Enable gradle 4.8 for features and futureproofing (#2050)
7685375 is described below

commit 7685375ea7229ad0e0fc9ea188cccfa56ff7d8ef
Author: Robert Houghton <32...@users.noreply.github.com>
AuthorDate: Tue Jun 19 08:28:51 2018 -0700

    GEODE-4791: Enable gradle 4.8 for features and futureproofing (#2050)
    
    Enable:
    * Java 10 (when ready)
    * remove deprecated configuration settings
    * build-cache
    * incremental
    * Update classpath/srcpath logic
    
    Disable:
    * parallel (to fix Tomcat tests bind issues)
    
    Signed-off-by: Robert Houghton <rh...@pivotal.io>
    Signed-off-by: Jens Deppe <jd...@pivotal.io>
    Signed-off-by: Robert Houghton <rh...@pivotal.io>
    Signed-off-by: Jens Deppe <jd...@pivotal.io>
---
 build.gradle                                       |   7 +-
 .../geode/modules/session/TestSessionsBase.java    |   4 +-
 .../AnalyzeSerializablesJUnitTest.java             |   8 +--
 gradle.properties                                  |   6 +-
 gradle/java.gradle                                 |   7 +-
 gradle/test.gradle                                 |  10 +--
 gradle/wrapper/gradle-wrapper.jar                  | Bin 53639 -> 54413 bytes
 gradle/wrapper/gradle-wrapper.properties           |   4 +-
 gradlew                                            |  72 ++++++++++++---------
 gradlew.bat                                        |  12 +---
 settings.gradle                                    |   5 ++
 11 files changed, 76 insertions(+), 59 deletions(-)

diff --git a/build.gradle b/build.gradle
index 4adbe99..6f2ef08 100755
--- a/build.gradle
+++ b/build.gradle
@@ -26,16 +26,15 @@ buildscript {
   dependencies {
     classpath "gradle.plugin.org.nosphere.apache:creadur-rat-gradle:0.2.0"
     classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1'
-    classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.0.1'
+    classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2'
     classpath "com.diffplug.spotless:spotless-plugin-gradle:3.10.0"
     classpath "me.champeau.gradle:jmh-gradle-plugin:0.3.1"
-    classpath "com.pedjak.gradle.plugins:dockerized-test:0.5.6-SNAPSHOT"
+    classpath "com.pedjak.gradle.plugins:dockerized-test:0.5.6.2-SNAPSHOT"
     classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
+    classpath "com.gradle:build-scan-plugin:1.13.4"
   }
 }
 
-apply plugin: 'wrapper'
-
 wrapper {
   gradleVersion = minimumGradleVersion
 }
diff --git a/extensions/geode-modules/src/test/java/org/apache/geode/modules/session/TestSessionsBase.java b/extensions/geode-modules/src/test/java/org/apache/geode/modules/session/TestSessionsBase.java
index 3cfc667..41ecbc4 100644
--- a/extensions/geode-modules/src/test/java/org/apache/geode/modules/session/TestSessionsBase.java
+++ b/extensions/geode-modules/src/test/java/org/apache/geode/modules/session/TestSessionsBase.java
@@ -25,6 +25,7 @@ import java.beans.PropertyChangeEvent;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.nio.file.Paths;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -59,7 +60,8 @@ public abstract class TestSessionsBase {
 
   // Set up the servers we need
   public static void setupServer(DeltaSessionManager manager) throws Exception {
-    FileUtils.copyDirectory(new File("../resources/test/tomcat"), new File("./tomcat"));
+    FileUtils.copyDirectory(Paths.get("..", "resources", "test", "tomcat").toFile(),
+        new File("./tomcat"));
     port = AvailablePortHelper.getRandomAvailableTCPPort();
     server = new EmbeddedTomcat("/test", port, "JVM-1");
 
diff --git a/geode-core/src/test/java/org/apache/geode/codeAnalysis/AnalyzeSerializablesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/codeAnalysis/AnalyzeSerializablesJUnitTest.java
index fcd5d6d..e8bc11a 100644
--- a/geode-core/src/test/java/org/apache/geode/codeAnalysis/AnalyzeSerializablesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/codeAnalysis/AnalyzeSerializablesJUnitTest.java
@@ -41,6 +41,7 @@ import java.io.InvalidClassException;
 import java.io.Serializable;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Modifier;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -428,10 +429,9 @@ public class AnalyzeSerializablesJUnitTest {
     System.out.println("java classpath is " + classpath);
 
     String[] entries = classpath.split(File.pathSeparator);
-    String gradleBuildDirName = getModuleName() + File.separatorChar + "build" + File.separatorChar
-        + "classes" + File.separatorChar + "main";
-    String ideaBuildDirName = getModuleName() + File.separatorChar + "out" + File.separatorChar
-        + "production" + File.separatorChar + "classes";
+    String gradleBuildDirName =
+        Paths.get(getModuleName(), "build", "classes", "java", "main").toString();
+    String ideaBuildDirName = Paths.get(getModuleName(), "out", "production", "classes").toString();
     String buildDir = null;
 
     for (String entry : entries) {
diff --git a/gradle.properties b/gradle.properties
index 4fc2328..f449867 100755
--- a/gradle.properties
+++ b/gradle.properties
@@ -42,7 +42,7 @@ productOrg = Apache Software Foundation (ASF)
 org.gradle.daemon = true
 org.gradle.jvmargs = -Xmx2048m
 
-minimumGradleVersion = 3.5.1
+minimumGradleVersion = 4.8
 # Set this on the command line with -P or in ~/.gradle/gradle.properties
 # to change the buildDir location.  Use an absolute path.
 buildRoot=
@@ -59,3 +59,7 @@ dunitDockerUser = root
 
 #JVM to be used by tests
 testJVM=
+
+org.gradle.caching = true
+org.gradle.parallel = false
+org.gradle.configureondemand = false
diff --git a/gradle/java.gradle b/gradle/java.gradle
index 22fec1c..73d36eb 100644
--- a/gradle/java.gradle
+++ b/gradle/java.gradle
@@ -38,6 +38,7 @@ subprojects {
         targetCompatibility '1.8'
         options.encoding = 'UTF-8'
       }
+      javac.options.incremental = true
     }
   })
 
@@ -54,13 +55,12 @@ subprojects {
             "Organization": productOrg
           )
         }
-
-        metaInf {
+      }
+      jar.metaInf {
           from("$rootDir/LICENSE")
           if (jar.source.filter({ it.name.contains('NOTICE') }).empty) {
             from("$rootDir/NOTICE")
           }
-        }
       }
     }
   })
@@ -105,6 +105,7 @@ subprojects {
   javadoc.classpath += configurations.provided
 
   javadoc {
+    destinationDir = file("$buildDir/javadoc")
     options.addStringOption('Xdoclint:none', '-quiet')
     options.encoding = 'UTF-8'
   }
diff --git a/gradle/test.gradle b/gradle/test.gradle
index 1788199..18ce11b 100644
--- a/gradle/test.gradle
+++ b/gradle/test.gradle
@@ -121,6 +121,7 @@ subprojects {
     doFirst {
       TestPropertiesWriter.writeTestProperties(buildDir, name)
     }
+    outputs.upToDateWhen{false}
   }
 
   task distributedTest(type:Test) {
@@ -129,6 +130,7 @@ subprojects {
       excludeCategories 'org.apache.geode.test.junit.categories.FlakyTest'
     }
     forkEvery 1
+    outputs.upToDateWhen{false}
   }
 
   task flakyTest(type:Test) {
@@ -142,6 +144,7 @@ subprojects {
     }
 
     reports.junitXml.destination = file "$buildDir/test-reports-flaky"
+    outputs.upToDateWhen{false}
   }
 
   task securityTest(type:Test) {
@@ -345,6 +348,7 @@ subprojects {
       includeCategories 'org.apache.geode.test.junit.categories.AcceptanceTest'
     }
     forkEvery 1
+    outputs.upToDateWhen{false}
   }
 
   // apply common test configuration
@@ -354,12 +358,8 @@ subprojects {
       test.configure {
         onlyIf { ! Boolean.getBoolean('skip.tests') }
 
-        //force tests to be run every time by
-        //saying the results are never up to date
-        outputs.upToDateWhen { false }
-
         def resultsDir = TestPropertiesWriter.testResultsDir(buildDir, test.name)
-        workingDir resultsDir.absolutePath
+        test.workingDir = resultsDir
 
         reports.html.destination = file "$buildDir/reports/$name"
         testLogging {
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 2c6137b..1948b90 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 2fad278..266e923 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Tue Jul 05 14:26:44 PDT 2016
+#Thu May 31 20:15:27 PDT 2018
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
diff --git a/gradlew b/gradlew
index 9d82f78..cccdd3d 100755
--- a/gradlew
+++ b/gradlew
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 ##############################################################################
 ##
@@ -6,20 +6,38 @@
 ##
 ##############################################################################
 
-# 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"
 
-warn ( ) {
+warn () {
     echo "$*"
 }
 
-die ( ) {
+die () {
     echo
     echo "$*"
     echo
@@ -30,6 +48,7 @@ die ( ) {
 cygwin=false
 msys=false
 darwin=false
+nonstop=false
 case "`uname`" in
   CYGWIN* )
     cygwin=true
@@ -40,26 +59,11 @@ case "`uname`" in
   MINGW* )
     msys=true
     ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
 esac
 
-# 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
-
 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
 # Determine the Java command to use to start the JVM.
@@ -85,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
@@ -150,11 +154,19 @@ if $cygwin ; then
     esac
 fi
 
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
 }
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
 
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index 72d362d..e95643d 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
 
@@ -49,7 +49,6 @@ goto fail
 @rem Get command-line arguments, handling Windows variants
 
 if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
 
 :win9xME_args
 @rem Slurp the command line arguments.
@@ -60,11 +59,6 @@ set _SKIP=2
 if "x%~1" == "x" goto execute
 
 set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
 
 :execute
 @rem Setup the command line
diff --git a/settings.gradle b/settings.gradle
index 74c1811..ae55867 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -48,4 +48,9 @@ if (GradleVersion.current() < GradleVersion.version(minimumGradleVersion)) {
   throw new GradleException('Running with unsupported Gradle Version. Use Gradle Wrapper or with Gradle version >= ' + minimumGradleVersion)
 }
 
+buildCache {
+  local {
+    enabled = true
+  }
+}