Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define student configuration file contents #151

Closed
eamelink opened this issue Mar 23, 2021 · 1 comment
Closed

Define student configuration file contents #151

eamelink opened this issue Mar 23, 2021 · 1 comment

Comments

@eamelink
Copy link

Currently the 'student' tooling is configured through the SSettings.scala file that gets generated by the studentify command.

We want to get rid of this generated Scala file in favour of a plain properties configuration file; which is usable for different student tools.

Let's develop the contents of the configuration file in this issue.

@eloots
Copy link
Collaborator

eloots commented May 13, 2022

@eamelink
We can close this one IMO. In CMT 2.0, the tooling indeed generates a configuration file as part of the studentified repo.

It's a file named .cmt-config located in the root folder of the studentified repo.

For example, for the Lunatech Quarkus course, this is the content of the configuration file generated by cmta:

$ more .cmt-config
{
    "active-exercise-folder" : "code",
    "cmt-studentified-dont-touch" : [
        "code/.idea",
        "code/.bsp",
        "code/.bloop",
        "code/.vscode",
        "code/.mvn",
        "code/target",
        "code/pom.xml"
    ],
    "exercises" : [
        "exercise_001_initial_state",
        "exercise_002_a_qute_hello_world",
        "exercise_003_qute_products",
        "exercise_004_even_qute_products",
        "exercise_005_products_from_the_database",
        "exercise_006_CDI_and_ArC",
        "exercise_007_Convert_endpoints_to_JSON",
        "exercise_008_Adding_REST_data_Panache",
        "exercise_009_Hook_up_the_React_app",
        "exercise_010_Validation_and_PUT",
        "exercise_011_Going_Reactive",
        "exercise_012_Reactive_search_endpoint",
        "exercise_013_Listen_and_Notify",
        "exercise_014_Internal_Channels",
        "exercise_015_Connecting_to_Kafka",
        "exercise_016_Dead_Letter_Queue_and_Stream_filtering"
    ],
    "read-me-files" : [
        "README.md",
        "EXERCISES.md"
    ],
    "studentified-repo-solutions-folder" : ".cue",
    "studentified-saved-states-folder" : ".savedStates",
    "test-code-folders" : [
        "src/test"
    ]
}

An advantage of this approach is that in "emergency situations", the config file can be patched up in place (imagine for example that a student uses an IDE that wasn't taken into account when the studentified artefact was created and that this IDE creates some IDE metadata folder. The student can then add the folder to the cmt.cmt-studentified-dont-touch setting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants