JSON
data class JSON(val id: String, val name: String, val aPlusUrl: URL, val languages: List<String>, val resources: Map<String, URL>, val vmOptions: Map<String, String>? = null, val autoInstall: List<String>? = null, val repl: CourseConfig.REPL? = null, val modules: List<CourseConfig.Module>, val exerciseModules: Map<String, Map<String, String>>, val hiddenElements: List<Long>? = null)
This class serves as the serializer and documentation for the course configuration file.
Example configuration file:
{
"id": "197",
"name": "O1",
"aPlusUrl": "https://plus.cs.aalto.fi/",
"languages": [
"fi",
"en"
],
"resources": {
"ideSettings": "https://grader.cs.aalto.fi/static/O1_2021/projects/o1_2021_ij_settings.zip",
"ideSettingsMac": "https://grader.cs.aalto.fi/static/O1_2021/projects/o1_2021_ij_mac_settings.zip",
"projectSettings": "https://grader.cs.aalto.fi/static/O1_2021/projects/o1_2021_project_settings.zip"
},
"vmOptions": {
"file.encoding": "UTF-8"
},
"autoInstall": [
"O1Library"
],
"repl": {
"initialCommands": {
"Adventure": [
"import o1.adventure._"
],
"AdventureDraft": [
"import o1.adventure.draft._"
],
"Aliohjelmia": [
"import o1._",
"import o1.aliohjelmia._"
]
}
},
"modules": [
{
"name": "Adventure",
"url": "https://grader.cs.aalto.fi/static/O1_2021/projects/given/Adventure/Adventure.zip",
"version": "1.0",
"changelog": ""
},
{
"name": "AdventureDraft",
"url": "https://grader.cs.aalto.fi/static/O1_2021/projects/given/AdventureDraft/AdventureDraft.zip",
"version": "1.0",
"changelog": ""
},
{
"name": "Aliohjelmia",
"url": "https://grader.cs.aalto.fi/static/O1_2021/projects/given/Aliohjelmia/Aliohjelmia.zip",
"version": "1.0",
"changelog": ""
}
],
"exerciseModules": {
"31353": {
"en": "Subprograms",
"fi": "Aliohjelmia"
},
"31383": {
"en": "IntroOOP",
"fi": "Oliointro"
},
"31427": {
"en": "Ave",
"fi": "Ave"
}
}
}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(id: String, name: String, aPlusUrl: URL, languages: List<String>, resources: Map<String, URL>, vmOptions: Map<String, String>? = null, autoInstall: List<String>? = null, repl: CourseConfig.REPL? = null, modules: List<CourseConfig.Module>, exerciseModules: Map<String, Map<String, String>>, hiddenElements: List<Long>? = null)
Properties
Link copied to clipboard
An array of the modules that get installed automatically when the project gets turned into an A+ project. "autoInstall": ["O1Library"]
Link copied to clipboard
Link copied to clipboard
TODO
Link copied to clipboard
An array of objects containing information about modules. See Module.
Link copied to clipboard
Settings for the Scala REPL. See REPL.