Collection of utilities to grade IT exercises
The toolkit supplies a generic launcher com.github.lernejo.korekto.toolkit.launcher.GradingJobLauncher relying on the
existence of a Service Provider
of com.github.lernejo.korekto.toolkit.Grader.
For the generic launcher to pick up the grading service, make it implement the Grader interface and declare it in
META-INF/services/com.github.lernejo.korekto.toolkit.Grader.
The generic launcher has 3 modes
- container the default mode, sends the results to the given
CALLBACK_URL - demo by specifying a user slug (
-s=mySlug) - group by specifying the group mode (
-g) and supplying a slugs file
CloneStepperforms a Git clone of the REPO_URL parameter and providesGradingContext#exerciseSendStepsends theGradingContext#gradeDetailsto the CALLBACK_URL parameter, using CALLBACK_PASSWORD parameter if presentUpsertGitHubGradingIssuesopens 2 kinds of issues on GitHub reflecting the state of ongoing exercise or its completion (requires a GitHub token, either personal or app installation)
Parameters are read from the environment (System#getenv).
<dependencies>
...
<dependency>
<groupId>com.github.lernejo</groupId>
<artifactId>korekto-toolkit</artifactId>
<version>${korekto-toolkit.version}</version>
</dependency>
...
</dependencies>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>