- Build Workflow Requirements
Before running ./gradlew clean build, the project requires a mandatory formatting step. Currently, the build fails unless the following is executed first:
./gradlew spotlessApply.
- API Inconsistency: Missing resolve Method
There is a compilation error regarding a resolve method. It appears the codebase expects a signature with two arguments that does not exist in the current environment:
(Refer to the attached screenshot showing the resolution error)

What's more I can find methods that are not used:
- Redundant/Unused Code
I have identified several methods that appear to be dead code. There are likely more instances across the library, but specifically:
public class AppSideWindow {
public static Optional<ButtonType> showBlockingAlert(Consumer<Alert> c) {
PlatformInit.init(true);
// ErrorEventFactory class
public static <T extends Throwable> T expectedIfContains(T t, String... s) {
return expectedIf(
t,
t.getMessage() != null
&& Arrays.stream(s).map(String::toLowerCase).anyMatch(string -> t.getMessage()
.toLowerCase(Locale.ROOT)
.contains(string)));
}
And IntellijIDEA shows:
- Project Initialization & Architecture
I intend to start a project from an empty Stage using KickstartFX.
Setup: Which specific core components/classes are strictly necessary to copy to get the basic environment (theming, fonts, and base styles) running?
Architecture: How should the project be structured to maintain a clean separation between the Backend/Domain logic and the UI layer?
I am following Clean Architecture / Hexagonal principles combined with MVVM:
Where should the KickstartFX-specific utility classes and components reside?
How do we ensure the Domain layer remains decoupled from these UI-specific infrastructure classes?
In a multi-module setup, should KickstartFX classes be treated as a "UI Infrastructure Adapter"?
Before running ./gradlew clean build, the project requires a mandatory formatting step. Currently, the build fails unless the following is executed first:
./gradlew spotlessApply.There is a compilation error regarding a resolve method. It appears the codebase expects a signature with two arguments that does not exist in the current environment:
(Refer to the attached screenshot showing the resolution error)
I have identified several methods that appear to be dead code. There are likely more instances across the library, but specifically:
And IntellijIDEA shows:
I intend to start a project from an empty Stage using KickstartFX.
Setup: Which specific core components/classes are strictly necessary to copy to get the basic environment (theming, fonts, and base styles) running?
Architecture: How should the project be structured to maintain a clean separation between the Backend/Domain logic and the UI layer?
I am following Clean Architecture / Hexagonal principles combined with MVVM:
Where should the KickstartFX-specific utility classes and components reside?
How do we ensure the Domain layer remains decoupled from these UI-specific infrastructure classes?
In a multi-module setup, should KickstartFX classes be treated as a "UI Infrastructure Adapter"?