-
Notifications
You must be signed in to change notification settings - Fork 4
json
within the project management system, since json is the official production spec'd based way of sending data to and from the server. loads of json strings get passed through the server at once.
since json is very horrible in resonite, currently we are only sending it one way to the server and maybe one day we send json to the client.
the project management system heavily relies on json for it's black magic that it uses to create files and run them.
the json for the PMS spec version 1.2 goes as follows.
{{
"PMS_System": "1.2.0",
"Project_Name": "{0}",
"Main_File": "{1}",
"Project_Build_Systems": "{2}",
"Project_Output": "{3}",
"Run_On_Build": "{4}",
"Project_Use_Multiple_Build_Systems": "{5}",
"CodeRunner-includes": "{6}",
"compiler-arguments": "{7}",
"Debug_enabled": "{8}",
"Description": "{9}"
}}
i've provided the json as a ready to use format string for CSharp and resonite if needed. though, most of these are not needed for a simple implementation of the PMS format.
to be fair, you really only need to accept these:
{{
"PMS_System": "1.2.0",
"Project_Name": "{0}",
"Main_File": "{1}",
"Project_Build_Systems": "{2}",
"Project_Output": "{3}",
"Run_On_Build": "{4}"
}}
to even be able to use the system with minimal functionality.
now, the thing that i want to put out there is
try not to change the version tag to something higher than the client or at all for the matter it could break the client or even the server and you might even have to reinstall the server.
at this point, changing anything that might sound like a bad idea to change without good reason will almost certainty break things
because who doesn't like broken things?
now, with the version string. the server has to handle the acceptance of valid and invalid strings or floats. not every server does have to accept the use of the pms version string, but it's something that's good.
what the heck is that?
compiler arguments are something that's a new experimental feature that allows the user to pass arguments to which ever build system they are using.
hmm, sounds funky.
Kode runner has a software libarary that allows the user to include simple header files for use with the build systems the client is using.
currently they only work with C and C++ but more should be supported later!
ohh, i might know what this is!
Debug_enabled is a key which takes in a True or False and for that build that was set to True, will allow the server to generate debug or logging infomation for said build to inprove the server or in case of a issue with it. fix the issue in question.
ok that i know.
it's just a simple description key that can be read from the server if you want to. no need to implement a check for it.