From 97149a826be8fff79e4bff41b22c65ab3c1ff53e Mon Sep 17 00:00:00 2001 From: Arjan Molenaar Date: Sun, 19 Nov 2017 15:10:25 +0100 Subject: [PATCH] Upgrade Gradle to 4.3 This should help in building a Java 9 version of FitNesse. --- build.gradle | 6 ++-- gradle/wrapper/gradle-wrapper.jar | Bin 53556 -> 54712 bytes gradle/wrapper/gradle-wrapper.properties | 4 +-- gradlew | 26 ++++++++++++------ gradlew.bat | 6 ---- test/fit/FitServerTest.java | 3 +- .../testsystems/CommandRunnerTest.java | 3 +- .../testsystems/fit/FitClientTest.java | 3 +- .../slim/SslSlimClientBuilderTest.java | 3 +- test/fitnesse/updates/FileUpdateTest.java | 3 +- .../updates/ReplacingFileUpdateTest.java | 3 +- .../updates/WikiContentUpdaterTest.java | 19 +++++++------ test/util/GradleSupport.java | 9 ++++++ 13 files changed, 53 insertions(+), 35 deletions(-) create mode 100644 test/util/GradleSupport.java diff --git a/build.gradle b/build.gradle index 3913287b42..0e8d24d670 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,7 @@ sourceSets { main { java.srcDir 'src' resources.srcDir 'src' - output.resourcesDir output.classesDir + output.resourcesDir java.outputDir } test { java.srcDir 'test' @@ -198,7 +198,7 @@ task standaloneJar(type: Jar, dependsOn: jar) { task acceptanceTest(type: JavaExec) { mustRunAfter test - onlyIf { dependsOnTaskDidWork() } + onlyIf { test.didWork } classpath = standaloneJar.outputs.files main "fitnesseMain.FitNesseMain" args "-o", "-c", "FitNesse.SuiteAcceptanceTests?suite&format=text" @@ -309,7 +309,7 @@ bintray { } wrapper { - gradleVersion = '3.1' + gradleVersion = '4.3.1' } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ca78035ef0501d802d4fc55381ef2d5c3ce0ec6e..aa75fb51c4bcf31330758cc754ddddf7bd511fd3 100644 GIT binary patch delta 27356 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 z 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 Xjs_PV67{$3iX93Q5@6_^xBvbhs1H=S diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2b2d191bbf..d6c1aea299 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Nov 05 11:17:19 CET 2016 +#Sun Nov 19 14:54:04 CET 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-bin.zip diff --git a/gradlew b/gradlew index 27309d9231..cccdd3d517 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh ############################################################################## ## @@ -33,11 +33,11 @@ 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 @@ -154,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 "$@") -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# 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" "$@" diff --git a/gradlew.bat b/gradlew.bat index 832fdb6079..f9553162f1 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -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/test/fit/FitServerTest.java b/test/fit/FitServerTest.java index a21485a4b8..f453972a9d 100644 --- a/test/fit/FitServerTest.java +++ b/test/fit/FitServerTest.java @@ -24,6 +24,7 @@ import org.junit.Before; import org.junit.Test; import util.FileUtil; +import util.GradleSupport; import util.StreamReader; public class FitServerTest { @@ -327,7 +328,7 @@ private String readWholeResponse() throws Exception { } protected String command() { - return "java -cp build/classes/main fit.FitServer"; + return "java -cp " + GradleSupport.CLASSES_DIR + " fit.FitServer"; } protected String simpleTable(String fixtureName) { diff --git a/test/fitnesse/testsystems/CommandRunnerTest.java b/test/fitnesse/testsystems/CommandRunnerTest.java index 6cc052451f..f13de30e49 100644 --- a/test/fitnesse/testsystems/CommandRunnerTest.java +++ b/test/fitnesse/testsystems/CommandRunnerTest.java @@ -12,6 +12,7 @@ import org.junit.Test; import fitnesse.testutil.Echo; +import util.GradleSupport; public class CommandRunnerTest { @@ -19,7 +20,7 @@ public class CommandRunnerTest { @Test public void testBasics() throws Exception { - CommandRunner runner = new CommandRunner(new String[] { "java", "-cp", "build/classes/main", "fitnesse.testutil.Echo" }, null, executionLogListener); + CommandRunner runner = new CommandRunner(new String[] { "java", "-cp", GradleSupport.CLASSES_DIR, "fitnesse.testutil.Echo" }, null, executionLogListener); runner.asynchronousStart(); runner.join(); assertHasRegexp(Echo.ECHO_THIS, executionLogListener.stdOut.toString()); diff --git a/test/fitnesse/testsystems/fit/FitClientTest.java b/test/fitnesse/testsystems/fit/FitClientTest.java index 60137d5a52..aaec2e5db3 100644 --- a/test/fitnesse/testsystems/fit/FitClientTest.java +++ b/test/fitnesse/testsystems/fit/FitClientTest.java @@ -16,6 +16,7 @@ import org.junit.Before; import org.junit.Test; import fitnesse.util.TimeMeasurement; +import util.GradleSupport; public class FitClientTest implements FitClientListener { private List outputs = new ArrayList<>(); @@ -27,7 +28,7 @@ public class FitClientTest implements FitClientListener { public void setUp() throws Exception { CommandRunningFitClient.TIMEOUT = 10000; client = new CommandRunningFitClient(new CommandRunningFitClient.OutOfProcessCommandRunner( - new String[] { "java", "-cp", "build/classes/main", "fit.FitServer", "-v" }, null, new ConsoleExecutionLogListener())); + new String[] { "java", "-cp", GradleSupport.CLASSES_DIR, "fit.FitServer", "-v" }, null, new ConsoleExecutionLogListener())); client.addFitClientListener(this); } diff --git a/test/fitnesse/testsystems/slim/SslSlimClientBuilderTest.java b/test/fitnesse/testsystems/slim/SslSlimClientBuilderTest.java index 69172d1311..e1fe75ca2e 100644 --- a/test/fitnesse/testsystems/slim/SslSlimClientBuilderTest.java +++ b/test/fitnesse/testsystems/slim/SslSlimClientBuilderTest.java @@ -9,6 +9,7 @@ import org.junit.Before; import org.junit.Test; +import util.GradleSupport; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -53,7 +54,7 @@ public void executeAndCheck(String agentParameters, String clientParameters) thr "!define slim.pool.size {1}\n" + "!define wiki.protocol.ssl.parameter.class {"+ clientParameters + "}\n" ); - WikiPageDescriptor descriptor = new WikiPageDescriptor(testPage, false, false, "build/classes/test", "classes"); + WikiPageDescriptor descriptor = new WikiPageDescriptor(testPage, false, false, GradleSupport.TEST_CLASSES_DIR, "classes"); descriptor.getExecutionLogListener().addExecutionLogListener(new ConsoleExecutionLogListener()); SlimClientBuilder clientBuilder = new SlimClientBuilder(descriptor); String testSystemName = clientBuilder.getTestSystemName(); diff --git a/test/fitnesse/updates/FileUpdateTest.java b/test/fitnesse/updates/FileUpdateTest.java index 58aeed652b..a300c8363b 100644 --- a/test/fitnesse/updates/FileUpdateTest.java +++ b/test/fitnesse/updates/FileUpdateTest.java @@ -6,11 +6,12 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import org.junit.Test; +import util.GradleSupport; import java.io.File; public class FileUpdateTest extends UpdateTestCase { - public final File testFile = new File("build/classes/test/testFile"); + public final File testFile = new File(GradleSupport.TEST_CLASSES_DIR, "testFile"); @Override protected Update makeUpdate() throws Exception { diff --git a/test/fitnesse/updates/ReplacingFileUpdateTest.java b/test/fitnesse/updates/ReplacingFileUpdateTest.java index c95a0551d5..7e1692b082 100644 --- a/test/fitnesse/updates/ReplacingFileUpdateTest.java +++ b/test/fitnesse/updates/ReplacingFileUpdateTest.java @@ -8,12 +8,13 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertEquals; import util.FileUtil; +import util.GradleSupport; import java.io.File; import java.io.FileOutputStream; public class ReplacingFileUpdateTest extends UpdateTestCase { - public final File sourceFile = new File("build/classes/test", "testFile"); + public final File sourceFile = new File(GradleSupport.TEST_CLASSES_DIR, "testFile"); public final String destDirName = "subDir"; public File destFile; diff --git a/test/fitnesse/updates/WikiContentUpdaterTest.java b/test/fitnesse/updates/WikiContentUpdaterTest.java index af7c855dd4..6dd71eadaf 100644 --- a/test/fitnesse/updates/WikiContentUpdaterTest.java +++ b/test/fitnesse/updates/WikiContentUpdaterTest.java @@ -14,6 +14,7 @@ import org.junit.Before; import org.junit.Test; import util.FileUtil; +import util.GradleSupport; import static org.junit.Assert.*; import static util.RegexTestCase.assertSubString; @@ -52,16 +53,16 @@ private void setTheContext(String name) { } private void createFakeUpdateListFiles() throws IOException { - updateList = new File("build/classes/test/Resources/updateList"); - updateDoNotCopyOver = new File("build/classes/test/Resources/updateDoNotCopyOverList"); + updateList = new File(GradleSupport.TEST_CLASSES_DIR + "/Resources/updateList"); + updateDoNotCopyOver = new File(GradleSupport.TEST_CLASSES_DIR +"/Resources/updateDoNotCopyOverList"); FileUtil.createFile(updateList, "FitNesseRoot/files/TestFile\nFitNesseRoot/files/BestFile\n"); FileUtil.createFile(updateDoNotCopyOver, "FitNesseRoot/SpecialFile"); } private void createFakeJarFileResources() throws IOException { - FileUtil.createFile("build/classes/test/Resources/FitNesseRoot/files/TestFile","") ; - FileUtil.createFile("build/classes/test/Resources/FitNesseRoot/files/BestFile","") ; - FileUtil.createFile("build/classes/test/Resources/FitNesseRoot/SpecialFile",""); + FileUtil.createFile(GradleSupport.TEST_CLASSES_DIR + "/Resources/FitNesseRoot/files/TestFile","") ; + FileUtil.createFile(GradleSupport.TEST_CLASSES_DIR + "/Resources/FitNesseRoot/files/BestFile","") ; + FileUtil.createFile(GradleSupport.TEST_CLASSES_DIR + "/Resources/FitNesseRoot/SpecialFile",""); } @Test @@ -76,8 +77,8 @@ public void shouldBeAbleToGetUpdateFilesAndMakeAlistFromThem() throws Exception @Test public void shouldBeAbleToGetThePathOfJustTheParent() throws Exception { - File filePath = updater.getCorrectPathForTheDestination("build/classes/test/files/moreFiles/TestFile"); - assertSubString(portablePath("build/classes/test/files/moreFiles"), filePath.getPath()); + File filePath = updater.getCorrectPathForTheDestination(GradleSupport.TEST_CLASSES_DIR + "/files/moreFiles/TestFile"); + assertSubString(portablePath(GradleSupport.TEST_CLASSES_DIR + "/files/moreFiles"), filePath.getPath()); } private String portablePath(String path) { @@ -174,12 +175,12 @@ List makeAllUpdates() { @Test(expected = RuntimeException.class) public void shouldThrowExceptionInNoUpdateFileExists() throws Exception { FileUtil.deleteFile(updateList); - updater.parseResource("build/classes/test/Resources/updateList"); + updater.parseResource(GradleSupport.TEST_CLASSES_DIR + "/Resources/updateList"); } @After public void tearDown() throws IOException { - FileUtil.deleteFileSystemDirectory("build/classes/test/Resources"); + FileUtil.deleteFileSystemDirectory(GradleSupport.TEST_CLASSES_DIR + "/Resources"); FileUtil.deleteFileSystemDirectory(testDir); } diff --git a/test/util/GradleSupport.java b/test/util/GradleSupport.java new file mode 100644 index 0000000000..1837132f0c --- /dev/null +++ b/test/util/GradleSupport.java @@ -0,0 +1,9 @@ +package util; + +public final class GradleSupport { + public static final String CLASSES_DIR = "build/classes/java/main"; + public static final String TEST_CLASSES_DIR = "build/classes/java/test"; + + private GradleSupport() { + } +}