This is a sub-issue of #266 that describes and defines one issue that can be solved independent of the others.
Overview
Affects phases: 4
Root Cause: Students attempted to use classes or objects in their server from the client, or vice versa.
Prevents error: "Failed to Package Repo"
Tip on detection:
The client and server can both import from shared module, but they cannot import from each other. Make sure any resources needed by both the client and server and located in the shared module.
The fail to compile error already contains the exact output, and if students looked carefully, they would be able to figure this one out. However, they often don't realize that they crossed significant boundaries. Students who run into this error usually fail to understand how separate and distinct the client and server are from each other; they think of them as just one big project, which it's not.
Detection Strategy
Scan the packaging output for specific files importing objects from the client or server module inappropriately
Implementation Details
When there is a problem packaging the repo, scan the error output for regexes that indicate this issue. Then warn the student that this is an issue they need to fix. We can still refer to the generated error output for the actual line and column definitions of the packages not allowed.
This is a sub-issue of #266 that describes and defines one issue that can be solved independent of the others.
Overview
The fail to compile error already contains the exact output, and if students looked carefully, they would be able to figure this one out. However, they often don't realize that they crossed significant boundaries. Students who run into this error usually fail to understand how separate and distinct the
client
andserver
are from each other; they think of them as just one big project, which it's not.Detection Strategy
Scan the packaging output for specific files importing objects from the
client
orserver
module inappropriatelyImplementation Details
When there is a problem packaging the repo, scan the error output for regexes that indicate this issue. Then warn the student that this is an issue they need to fix. We can still refer to the generated error output for the actual line and column definitions of the packages not allowed.