From 0cf5c4698cd9ff8bc394971be7d1f618e912be72 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Sat, 20 Jul 2024 17:02:37 -0500 Subject: [PATCH] fix checks not using outputVersion --- .../wagyourtail/jvmdg/gradle/flags/DowngradeFlags.kt | 2 +- .../java/xyz/wagyourtail/jvmdg/ClassDowngrader.java | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/flags/DowngradeFlags.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/flags/DowngradeFlags.kt index 01686818..a51cf0ee 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/flags/DowngradeFlags.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/flags/DowngradeFlags.kt @@ -27,7 +27,7 @@ interface DowngradeFlags : TransformParameters { * default is null */ @get:InputFiles - @get:PathSensitive(PathSensitivity.ABSOLUTE) + @get:PathSensitive(PathSensitivity.NONE) @get:Optional val apiJar: ListProperty diff --git a/src/main/java/xyz/wagyourtail/jvmdg/ClassDowngrader.java b/src/main/java/xyz/wagyourtail/jvmdg/ClassDowngrader.java index f0986aae..324ec56a 100644 --- a/src/main/java/xyz/wagyourtail/jvmdg/ClassDowngrader.java +++ b/src/main/java/xyz/wagyourtail/jvmdg/ClassDowngrader.java @@ -113,11 +113,12 @@ public synchronized Map collectProviders() { } public Set getMembers(int version, Type type, Set warnings) throws IOException { - for (int vers = version; vers > target; vers--) { + for (int vers = version; vers > target; ) { VersionProvider downgrader = downgraders.get(vers); if (downgrader == null) { throw new RuntimeException("Unsupported class version: " + vers + " supported: " + downgraders.keySet()); } + vers = downgrader.outputVersion; downgrader.ensureInit(this); Type stubbed = downgrader.stubClass(type, warnings); if (!stubbed.equals(type)) { @@ -158,11 +159,12 @@ public Set getMembers(int version, Type type, Set war } public List> getSupertypes(int version, Type type, Set warnings) throws IOException { - for (int vers = version; vers > target; vers--) { + for (int vers = version; vers > target;) { VersionProvider downgrader = downgraders.get(vers); if (downgrader == null) { throw new RuntimeException("Unsupported class version: " + vers + " supported: " + downgraders.keySet()); } + vers = downgrader.outputVersion; downgrader.ensureInit(this); Type stubbed = downgrader.stubClass(type, warnings); if (!stubbed.equals(type)) { @@ -191,11 +193,12 @@ public List> getSupertypes(int version, Type type, Set warnings) throws IOException { - for (int vers = version; vers > target; vers--) { + for (int vers = version; vers > target; ) { VersionProvider downgrader = downgraders.get(vers); if (downgrader == null) { throw new RuntimeException("Unsupported class version: " + vers + " supported: " + downgraders.keySet()); } + vers = downgrader.outputVersion; downgrader.ensureInit(this); Type stubbed = downgrader.stubClass(type, warnings); if (!stubbed.equals(type)) { @@ -214,11 +217,12 @@ public Boolean isInterface(int version, Type type, Set warnings) throws } public Type stubClass(int version, Type type, Set warnings) { - for (int vers = version; vers > target; vers--) { + for (int vers = version; vers > target;) { VersionProvider downgrader = downgraders.get(vers); if (downgrader == null) { throw new RuntimeException("Unsupported class version: " + vers + " supported: " + downgraders.keySet()); } + vers = downgrader.outputVersion; downgrader.ensureInit(this); Type stubbed = downgrader.stubClass(type, warnings); if (!stubbed.equals(type)) {