Gradle: catch UnsupportedMethodException in favour of UnsupportedVersionException which has more clear description

GitOrigin-RevId: 69a9bfb480ca98b8f0ff5a06f9975e9c1e9a9b83
This commit is contained in:
Vladislav.Soroka
2019-05-17 15:02:13 +03:00
committed by intellij-monorepo-bot
parent 3bf9627221
commit f0f28abbc5
@@ -26,6 +26,8 @@ import org.gradle.process.internal.JvmOptions;
import org.gradle.tooling.*;
import org.gradle.tooling.events.OperationType;
import org.gradle.tooling.internal.consumer.DefaultGradleConnector;
import org.gradle.tooling.model.BuildIdentifier;
import org.gradle.tooling.model.UnsupportedMethodException;
import org.gradle.tooling.model.build.BuildEnvironment;
import org.gradle.util.GradleVersion;
import org.jetbrains.annotations.ApiStatus;
@@ -115,7 +117,8 @@ public class GradleExecutionHelper {
if (buildEnvironment != null) {
// the BuildEnvironment jvm arguments of the main build should be used for the 'buildSrc' import
// to avoid spawning of the second gradle daemon
List<String> buildJvmArguments = "buildSrc".equals(buildEnvironment.getBuildIdentifier().getRootDir().getName())
BuildIdentifier buildIdentifier = getBuildIdentifier(buildEnvironment);
List<String> buildJvmArguments = buildIdentifier == null || "buildSrc".equals(buildIdentifier.getRootDir().getName())
? ContainerUtil.emptyList()
: buildEnvironment.getJava().getJvmArguments();
merged = mergeJvmArgs(settings.getServiceDirectory(), buildJvmArguments, jvmArgs);
@@ -173,7 +176,14 @@ public class GradleExecutionHelper {
operation.setJavaHome(new File(javaHome));
}
String buildRootDir = buildEnvironment == null ? null : buildEnvironment.getBuildIdentifier().getRootDir().getPath();
String buildRootDir;
if (buildEnvironment == null) {
buildRootDir = null;
}
else {
BuildIdentifier buildIdentifier = getBuildIdentifier(buildEnvironment);
buildRootDir = buildIdentifier == null ? null : buildIdentifier.getRootDir().getPath();
}
GradleProgressListener gradleProgressListener = new GradleProgressListener(listener, id, buildRootDir);
operation.addProgressListener((ProgressListener)gradleProgressListener);
operation.addProgressListener(gradleProgressListener,
@@ -189,6 +199,16 @@ public class GradleExecutionHelper {
}
}
@Nullable
private static BuildIdentifier getBuildIdentifier(@NotNull BuildEnvironment buildEnvironment) {
try {
return buildEnvironment.getBuildIdentifier();
}
catch (UnsupportedMethodException ignore) {
}
return null;
}
private static void setupEnvironment(@NotNull LongRunningOperation operation,
@NotNull GradleExecutionSettings settings,
@Nullable String gradleVersion,