Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions api/Elementa.api
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public final class gg/essential/elementa/ElementaVersion : java/lang/Enum {
public static final field V8 Lgg/essential/elementa/ElementaVersion;
public static final field V9 Lgg/essential/elementa/ElementaVersion;
public final fun enableFor (Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/ElementaVersion;
public static fun values ()[Lgg/essential/elementa/ElementaVersion;
}
Expand Down Expand Up @@ -178,11 +179,6 @@ public final class gg/essential/elementa/UIComponent$Companion {
public final fun guiHint (FZ)F
}

public final class gg/essential/elementa/UIComponent$sam$i$java_util_function_Predicate$0 : java/util/function/Predicate {
public fun <init> (Lkotlin/jvm/functions/Function1;)V
public final synthetic fun test (Ljava/lang/Object;)Z
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a side effect of changing how the jvm-default option behaves. Given that it's a generated class I cannot add an annotation to ensure the generation of this, but looking at both the class itself and it's compiled version, it seems like the only use of this class is internal and not applicable or useful to any external user of the UIComponent class. Unless another solution is found for the handling of jvm-default, I want someone else to verify this removal is ok.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this is a side effect of anything to do with jvm-default. It didn't happen in the other PR.

It definitely looks like an internal class though, that probably shouldn't have been public to begin with.
I reckon it's either the bump to the Kotlin compiler which made it private, or the bump to binary-compatibility-validator which now excludes such internal (but technically public) classes.

Do you know which lambda in the source code this class corresponds to?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking into the decompiled UIComponent , the only use of the Predicate class is in the removeEffect() function (the no-args one). This was the basis of my assumption that it's only ever meant to be used internally and thus is useless to expose. The same can be seen in the compiled class before the update so I assume it could be the compatibility validator ignoring this now. In either case I think it's safe to safe to remove.
CleanShot (Elementa – kotlinDecompiledUIComponent decompiled java) 2026-03-13 at 20 23 49


public class gg/essential/elementa/UIConstraints : java/util/Observable {
public fun <init> (Lgg/essential/elementa/UIComponent;)V
public final fun copy ()Lgg/essential/elementa/UIConstraints;
Expand Down Expand Up @@ -328,6 +324,7 @@ public final class gg/essential/elementa/components/GradientComponent$GradientDi
public static final field LEFT_TO_RIGHT Lgg/essential/elementa/components/GradientComponent$GradientDirection;
public static final field RIGHT_TO_LEFT Lgg/essential/elementa/components/GradientComponent$GradientDirection;
public static final field TOP_TO_BOTTOM Lgg/essential/elementa/components/GradientComponent$GradientDirection;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public final fun getGradientColors (Ljava/awt/Color;Ljava/awt/Color;)Lgg/essential/elementa/components/GradientComponent$GradientColors;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/GradientComponent$GradientDirection;
public static fun values ()[Lgg/essential/elementa/components/GradientComponent$GradientDirection;
Expand Down Expand Up @@ -430,6 +427,7 @@ public final class gg/essential/elementa/components/ScrollComponent$Direction :
public static final field PreferHorizontal Lgg/essential/elementa/components/ScrollComponent$Direction;
public static final field PreferVertical Lgg/essential/elementa/components/ScrollComponent$Direction;
public static final field Vertical Lgg/essential/elementa/components/ScrollComponent$Direction;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/ScrollComponent$Direction;
public static fun values ()[Lgg/essential/elementa/components/ScrollComponent$Direction;
}
Expand Down Expand Up @@ -640,6 +638,7 @@ public final class gg/essential/elementa/components/UIImage$TextureScalingMode :
public static final field NEAREST Lgg/essential/elementa/components/UIImage$TextureScalingMode;
public static final field NEAREST_MIPMAP_LINEAR Lgg/essential/elementa/components/UIImage$TextureScalingMode;
public static final field NEAREST_MIPMAP_NEAREST Lgg/essential/elementa/components/UIImage$TextureScalingMode;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/UIImage$TextureScalingMode;
public static fun values ()[Lgg/essential/elementa/components/UIImage$TextureScalingMode;
}
Expand Down Expand Up @@ -977,6 +976,7 @@ protected final class gg/essential/elementa/components/input/AbstractTextInput$A
public final class gg/essential/elementa/components/input/AbstractTextInput$Direction : java/lang/Enum {
public static final field Left Lgg/essential/elementa/components/input/AbstractTextInput$Direction;
public static final field Right Lgg/essential/elementa/components/input/AbstractTextInput$Direction;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/input/AbstractTextInput$Direction;
public static fun values ()[Lgg/essential/elementa/components/input/AbstractTextInput$Direction;
}
Expand Down Expand Up @@ -1029,6 +1029,7 @@ public final class gg/essential/elementa/components/input/AbstractTextInput$Sele
public static final field Line Lgg/essential/elementa/components/input/AbstractTextInput$SelectionMode;
public static final field None Lgg/essential/elementa/components/input/AbstractTextInput$SelectionMode;
public static final field Word Lgg/essential/elementa/components/input/AbstractTextInput$SelectionMode;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/input/AbstractTextInput$SelectionMode;
public static fun values ()[Lgg/essential/elementa/components/input/AbstractTextInput$SelectionMode;
}
Expand Down Expand Up @@ -1231,6 +1232,7 @@ public final class gg/essential/elementa/components/plot/LineStyle {
public final class gg/essential/elementa/components/plot/LineType : java/lang/Enum {
public static final field Linear Lgg/essential/elementa/components/plot/LineType;
public final fun draw (Ljava/util/List;Ljava/awt/Color;F)V
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/plot/LineType;
public static fun values ()[Lgg/essential/elementa/components/plot/LineType;
}
Expand Down Expand Up @@ -1304,6 +1306,7 @@ public final class gg/essential/elementa/components/plot/PointStyle {
public final class gg/essential/elementa/components/plot/PointType : java/lang/Enum {
public static final field None Lgg/essential/elementa/components/plot/PointType;
public final fun draw (Ljava/util/List;Lgg/essential/elementa/components/plot/PlotStyle;)V
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/components/plot/PointType;
public static fun values ()[Lgg/essential/elementa/components/plot/PointType;
}
Expand Down Expand Up @@ -1555,6 +1558,7 @@ public final class gg/essential/elementa/constraints/ConstraintType : java/lang/
public static final field WIDTH Lgg/essential/elementa/constraints/ConstraintType;
public static final field X Lgg/essential/elementa/constraints/ConstraintType;
public static final field Y Lgg/essential/elementa/constraints/ConstraintType;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public final fun getPrettyName ()Ljava/lang/String;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/constraints/ConstraintType;
public static fun values ()[Lgg/essential/elementa/constraints/ConstraintType;
Expand Down Expand Up @@ -1966,6 +1970,7 @@ public final class gg/essential/elementa/constraints/RoundingConstraint$Mode : j
public static final field Ceil Lgg/essential/elementa/constraints/RoundingConstraint$Mode;
public static final field Floor Lgg/essential/elementa/constraints/RoundingConstraint$Mode;
public static final field Round Lgg/essential/elementa/constraints/RoundingConstraint$Mode;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/constraints/RoundingConstraint$Mode;
public static fun values ()[Lgg/essential/elementa/constraints/RoundingConstraint$Mode;
}
Expand Down Expand Up @@ -2251,6 +2256,7 @@ public abstract class gg/essential/elementa/constraints/animation/Animations : j
public static final field OUT_QUINT Lgg/essential/elementa/constraints/animation/Animations;
public static final field OUT_SIN Lgg/essential/elementa/constraints/animation/Animations;
public synthetic fun <init> (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/constraints/animation/Animations;
public static fun values ()[Lgg/essential/elementa/constraints/animation/Animations;
}
Expand Down Expand Up @@ -2644,6 +2650,7 @@ public final class gg/essential/elementa/effects/OutlineEffect$Side : java/lang/
public static final field Left Lgg/essential/elementa/effects/OutlineEffect$Side;
public static final field Right Lgg/essential/elementa/effects/OutlineEffect$Side;
public static final field Top Lgg/essential/elementa/effects/OutlineEffect$Side;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/effects/OutlineEffect$Side;
public static fun values ()[Lgg/essential/elementa/effects/OutlineEffect$Side;
}
Expand Down Expand Up @@ -3539,6 +3546,7 @@ public final class gg/essential/elementa/markdown/drawables/DrawableList$Directi
public static final field Left Lgg/essential/elementa/markdown/drawables/DrawableList$Direction;
public static final field Right Lgg/essential/elementa/markdown/drawables/DrawableList$Direction;
public static final field Up Lgg/essential/elementa/markdown/drawables/DrawableList$Direction;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lgg/essential/elementa/markdown/drawables/DrawableList$Direction;
public static fun values ()[Lgg/essential/elementa/markdown/drawables/DrawableList$Direction;
}
Expand Down
15 changes: 8 additions & 7 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import gg.essential.gradle.multiversion.StripReferencesTransform.Companion.registerStripReferencesAttribute
import gg.essential.gradle.util.*
import gg.essential.gradle.util.RelocationTransform.Companion.registerRelocationAttribute
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion

plugins {
kotlin("jvm") version "1.9.23"
kotlin("jvm") version "2.3.0"
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.8.0"
id("org.jetbrains.dokka") version "1.9.20"
id("gg.essential.defaults")
Expand All @@ -18,11 +19,11 @@ kotlin.jvmToolchain {
(this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(8))
}

tasks.withType<KotlinCompile> {
setJvmDefault("all-compatibility")
kotlinOptions {
languageVersion = "1.6"
apiVersion = "1.6"
kotlin {
compilerOptions {
languageVersion = KotlinVersion.KOTLIN_1_9
apiVersion = KotlinVersion.KOTLIN_1_9
jvmDefault = JvmDefaultMode.NO_COMPATIBILITY
}
}

Expand Down
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[versions]
kotlin = "1.5.10"
kotlin = "1.9.25"
kotlinx-coroutines = "1.5.2"
jetbrains-annotations = "23.0.0"
universalcraft = "406"
universalcraft = "453"
Comment thread
Johni0702 marked this conversation as resolved.
Outdated
commonmark = "0.17.1"
dom4j = "2.1.1"

Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Comment thread
Johni0702 marked this conversation as resolved.
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading
Loading