softwareconstruction240 / autograder

Autograder for BYU's CS 240 Chess project
https://cs240.click
2 stars 2 forks source link

Extra imports working #397

Closed Fiwafoofa closed 3 months ago

Fiwafoofa commented 3 months ago

Add a verifier to read the maven compilation error output and check if there are any bad imports. If so, notify the observer of the bad imports on their result notes.

Fiwafoofa commented 3 months ago

After more thinking, I agree that this may not be needed anymore due to the work it requires and the existence of the module independence verifier. If students really just look at the details, I feel they can figure out a lot on their own without the autograder explicitly telling them. But this did get me thinking, this issue wouldn't be a problem if people strictly stuck to the information given in the pom.xmls. Maybe I'm misunderstanding how the build system works in IntelliJ, but is there a reason we sort of use two different pieces of software to manage this projects dependencies (Intellij's proprietary software and Maven's)? There ends up being a discontinuity in projects because of that. If we just strictly chose to use Maven for dependency management, I feel like we wouldn't have this issue of people doing bad imports as the IDE would follow what Maven says, but I really don't know if I'm right due to my lack of knowledge of how IntelliJ works. Michael, maybe you know more about the technical details?

19mdavenport commented 3 months ago

That does sound correct. However, Maven can be a bit temperamental sometimes, so the professors recommend using the IntelliJ system to students. The auto-grader can't use IntelliJ though, so it relies on maven, which is why we have both. This could also be solved by students not ever adding dependencies other than what the specs/getting started say (assuming the getting started is always correct, which has been variable, I'll check those again), but they always manage to add dependencies. In their defense, IntelliJ often offers that as a solution when people do things wrong