All of the autograder templates have a config.json file that provides a list of options for the creator. We want to update the builder tool to dynamically read these configuration options, infer datatypes from default values, and display a list of inputs to the user. You can either expand the current JSwing project or rewrite the tool in a Java GUI library of your choice.
A few requirements:
Must be designed with cross-platform capabilities in mind. Bundle the final codebase into a runnable .jar file.
The user will first provide the folder containing one of the four templates. For now, you can assume they'll come from the existing repo structure.
If the template runs unit tests, the user will then provide the Java project folder. They will then select which test packages to include (assuming the package name includes test) and the grading weights.
Look into a way for the user to add non-test files to the autograder. The 220 LinkedList homework comes to mind, where we don't expect students to upload the SLL interface file themselves.
After selecting directories and files, the user should be prompted to enter additional configuration information based on the template's config.json file. We can pull the list of packages from the previous screen, so don't prompt the user for those.
Once everything is submitted, the program will copy the template and selected Java project files to a new user-specified folder. The configuration file will be updated and everything will be compressed into an autograder.zip file. A new file explorer window will open to the export directory.
Keep basic documentation in mind while working. This will make it easier for us to create tutorials in the future. Think high-level steps for running the program.
All of the autograder templates have a
config.json
file that provides a list of options for the creator. We want to update the builder tool to dynamically read these configuration options, infer datatypes from default values, and display a list of inputs to the user. You can either expand the current JSwing project or rewrite the tool in a Java GUI library of your choice.A few requirements:
.jar
file.test
) and the grading weights.config.json
file. We can pull the list of packages from the previous screen, so don't prompt the user for those.autograder.zip
file. A new file explorer window will open to the export directory.