Skip to content

Some problems with project #26

@CamilYed

Description

@CamilYed
  1. 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.

  1. 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)
Image What's more I can find methods that are not used:
  1. 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:

Image
  1. 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"?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions