-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make client thin #955
Comments
The goal is to fully respect what the user environment as usually loaded by maven. The compatibility is defined by two simple things:
For point #3, I think that's what the client roughly does. Why would that be different ? Here's what is sent to the daemon: maven-mvnd/common/src/main/java/org/mvndaemon/mvnd/common/Message.java Lines 328 to 331 in 2b8076d
Not sure to understand #4... |
Point 4 is about "client should not try to interpret ANY command, just pass it to daemon and let it interpret (and return any error if params are bad)". This way the client could be even "universal", same client could work for mvnd 1 and mvnd 2 (maybe not, but this is the idea). So make client "thin" in a way it does very same thing always, is unaware of backend, is just a mailman (between user/terminal and backend). |
That can be done as long as the option is "compatible" between daemons. As soon as option cannot be changed between runs (such as JVM options), the client must select an appropriate option, so it needs to understand those. Also, options that affects the display have to be well understood and handled on the client, as that's the one displaying everything. In addition, there are a few mvnd specific options that need to be handled. |
Currently there is some heavy logic in client, but IMHO it is superfluous.
Instead, make client thin as possible:
The text was updated successfully, but these errors were encountered: