spring-projects / spring-security-samples

1.45k stars 700 forks source link

Problem with libs.version.toml #300

Open mghmay opened 2 months ago

mghmay commented 2 months ago

All I'm trying to do is run the sample and see it working. When I open up servlet/spring-boot/java/oauth2/login and try to run it I get an error stating:

java.lang.RuntimeException: org.gradle.api.InvalidUserDataException: Invalid TOML catalog definition:
  - Problem: In version catalog libs, parsing failed with 1 error.

    Reason: In file '...\IdeaProjects\spring-security-samples\servlet\spring-boot\java\oauth2\login\gradle\libs.versions.toml' at line 1, column 1: Unexpected '.', expected a-z, A-Z, 0-9, ', ", a table key, a newline, or end-of-input.

When I open up the libs.versions.toml I can clearly see the problem: ../../../../../../gradle/libs.versions.toml This isn't formatted correctly but I have no idea what this libs.versions.toml file actually does. Please help new users by formatting this correctly.

bkuntzelman commented 1 month ago

I'm having the same issue. @mghmay I'm guessing you're also running on Windows as well? I imagine that file is supposed to be a Linux/UNIX soft link (ln -s) to reference the "root" configuration for all the samples.

As a work around, I've copied the gradle/libs.versions.toml into the various samples I want to run and it seems to work okay.

fp024 commented 2 weeks ago

Even on Github's navigation screen, it really looks like a symbolic link icon.

image

In my opinion, it would be beneficial to specify the relative path of the toml file in the "settings.gradle" file of each sub-example project. This approach would ensure compatibility with OS environments other than Linux/UNIX, where symbolic links are not available.

Importing a catalog from a TOML file

dependencyResolutionManagement {
    versionCatalogs {
        libs {
            from(files("../../../gradle/libs.versions.toml"))
        }
    }
}