BuggleInc / PLM

Programmer's Learning Machine
http://people.irisa.fr/Martin.Quinson/Teaching/PLM/
Other
63 stars 40 forks source link

Move lessons and exercises back from webPLM to PLM #505

Closed polux closed 7 years ago

polux commented 7 years ago

We want webPLM to be a "dumb" frontend on top of PLM. All the core logic would reside in PLM. In particular lesson and exercise loading and management should be handled by PLM.

There were a bunch of places in PLM where files were loaded from the filesystem instead of the classpath. This commit also fixes that and only loads files from the classpath. This allows the webPLM tests to pass even if not run from the source directory.

Eventually we might want to load exercices and lessons from a separate repository and possibly look them up by commit hash. But this requires a careful design phase that we haven't gone through yet.

polux commented 7 years ago

By the way, I this change breaks PLM unit tests: the tests were relying on the ability to load exercises from disk instead of classpath. The clean way to fix that is to parameterize the code that loads exercises by a classloader and to provide a custom class loader in the tests. I want to do this in a further pull request if you don't mind because it requires also changing webPLM but I'd like to "save my progress" on webPLM without creating a commit that makes .submodules point to my github repository. (Or to create one that doesn't but then would not compile.)

mquinson commented 7 years ago

Thanks for this, even if the diff was too long for me to closely look at it. I just reviewed the code (not the exercises), and I'm pretty sure that this is enough. Eagerly waiting for the next load of change ;)