Skip to content

Commit e953ca5

Browse files
authored
Add Gradle Version Tests (FG4) (#753)
1 parent 314f408 commit e953ca5

File tree

3 files changed

+34
-9
lines changed

3 files changed

+34
-9
lines changed

src/common/java/net/minecraftforge/gradle/common/util/Utils.java

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.gradle.api.Task;
4040
import org.gradle.api.plugins.JavaPluginConvention;
4141
import org.gradle.api.tasks.TaskProvider;
42+
import org.gradle.util.GradleVersion;
4243

4344
import javax.annotation.Nonnull;
4445
import javax.annotation.Nullable;
@@ -90,6 +91,7 @@
9091

9192
public class Utils {
9293
private static final boolean ENABLE_TEST_CERTS = Boolean.parseBoolean(System.getProperty("net.minecraftforge.gradle.test_certs", "true"));
94+
private static final boolean ENABLE_TEST_GRADLE = Boolean.parseBoolean(System.getProperty("net.minecraftforge.gradle.test_gradle", "true"));
9395
private static final boolean ENABLE_TEST_JAVA = Boolean.parseBoolean(System.getProperty("net.minecraftforge.gradle.test_java", "true"));
9496

9597
public static final Gson GSON = new GsonBuilder()
@@ -512,23 +514,46 @@ public static final String capitalize(@Nonnull final String toCapitalize) {
512514
return toCapitalize.length() > 1 ? toCapitalize.substring(0, 1).toUpperCase() + toCapitalize.substring(1) : toCapitalize;
513515
}
514516

515-
public static void checkJavaRange( @Nullable JavaVersionParser.JavaVersion minVersionInclusive, @Nullable JavaVersionParser.JavaVersion maxVersionExclusive) {
516-
JavaVersionParser.JavaVersion currentJavaVersion = JavaVersionParser.getCurrentJavaVersion();
517-
if (minVersionInclusive != null && currentJavaVersion.compareTo(minVersionInclusive) < 0)
518-
throw new RuntimeException(String.format("Found java version %s. Minimum required is %s.", currentJavaVersion, minVersionInclusive));
519-
if (maxVersionExclusive != null && currentJavaVersion.compareTo(maxVersionExclusive) >= 0)
520-
throw new RuntimeException(String.format("Found java version %s. Versions %s and newer are not supported yet.", currentJavaVersion, maxVersionExclusive));
517+
public static void checkJavaRange(@Nullable JavaVersionParser.JavaVersion minVersionInclusive, @Nullable JavaVersionParser.JavaVersion maxVersionExclusive) {
518+
checkRange("java", JavaVersionParser.getCurrentJavaVersion(), minVersionInclusive, maxVersionExclusive, "");
521519
}
522520

521+
public static void checkGradleRange(@Nullable GradleVersion minVersionInclusive, @Nullable GradleVersion maxVersionExclusive) {
522+
checkRange("Gradle", GradleVersion.current(), minVersionInclusive, maxVersionExclusive, "\nNote: Upgrade your gradle version first before trying to switch to FG4.");
523+
}
524+
525+
private static <T> void checkRange(String name, Comparable<T> current, @Nullable T minVersionInclusive, @Nullable T maxVersionExclusive, String additional) {
526+
if (minVersionInclusive != null && current.compareTo(minVersionInclusive) < 0)
527+
throw new RuntimeException(String.format("Found %s version %s. Minimum required is %s.%s", name, current, minVersionInclusive, additional));
528+
529+
if (maxVersionExclusive != null && current.compareTo(maxVersionExclusive) >= 0)
530+
throw new RuntimeException(String.format("Found %s version %s. Versions %s and newer are not supported yet.", name, current, maxVersionExclusive));
531+
}
532+
533+
/**
534+
* @deprecated To be removed in FG 4.2, see {@link #checkEnvironment()}
535+
*/
536+
@Deprecated
523537
public static void checkJavaVersion() {
538+
checkEnvironment();
539+
}
540+
541+
public static void checkEnvironment() {
524542
if (ENABLE_TEST_JAVA) {
525543
checkJavaRange(
526-
// Mininum must be update 101 as it's the first one to include Let's Encrypt certificates.
544+
// Minimum must be update 101 as it's the first one to include Let's Encrypt certificates.
527545
JavaVersionParser.parseJavaVersion("1.8.0_101"),
528546
null //TODO: Add JDK range check to MCPConfig?
529547
);
530548
}
531549

550+
if (ENABLE_TEST_GRADLE) {
551+
checkGradleRange(
552+
GradleVersion.version("6.8.1"),
553+
null
554+
);
555+
}
556+
532557
if (ENABLE_TEST_CERTS) {
533558
testServerConnection(FORGE_MAVEN);
534559
testServerConnection(MOJANG_MAVEN);

src/patcher/java/net/minecraftforge/gradle/patcher/PatcherPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public class PatcherPlugin implements Plugin<Project> {
8484

8585
@Override
8686
public void apply(@Nonnull Project project) {
87-
Utils.checkJavaVersion();
87+
Utils.checkEnvironment();
8888

8989
final PatcherExtension extension = project.getExtensions().create(PatcherExtension.class, PatcherExtension.EXTENSION_NAME, PatcherExtension.class, project);
9090
if (project.getPluginManager().findPlugin("java") == null) {

src/userdev/java/net/minecraftforge/gradle/userdev/UserDevPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public class UserDevPlugin implements Plugin<Project> {
6060

6161
@Override
6262
public void apply(@Nonnull Project project) {
63-
Utils.checkJavaVersion();
63+
Utils.checkEnvironment();
6464

6565
@SuppressWarnings("unused")
6666
final Logger logger = project.getLogger();

0 commit comments

Comments
 (0)