On Nov 8, 2010, at 4:09 PM, Roland Schulz wrote:
On Mon, Nov 8, 2010 at 3:40 PM, Greg Watson <g.watson@xxxxxxxxxxxx> wrote:
On Nov 8, 2010, at 3:20 PM, Benjamin Lindner wrote:
> I put the PBSAttributes and the Reader Classes into the pbs.core space because it makes sense. They are not a functionality of the proxy, but depend on the PBS specifications and command line tools. Currently the proxy server has hardcoded the command line parameters, but this will eventually be outsourced into a file, which also could be put into the pbs.core namespace.
But is only used by the proxy right? The pbs.core classes are for the client-side RM implementation, so anything that goes in here should be used by the client side at least.
>
> Why does the proxy server jar file get placed into pbs.core in the first place?
> Wouldn't it make more sense to put the proxy server jar file into the jproxy directory?
That's where it was originally, and is my preferred location, however it got moved due to dependency problems with proxy. See bug 319203 for details. Roland, I assume that this is still the situation, or is it possible to move the proxy back into the jproxy plugin?
I wrote in the bug: - Move the payload also to .rm.pbs.core.
I think it makes no sense that PBSProxyServerRunner was in .rm.pbs.jproxy, because it is the client code and not the server code, thus I think this change was good (also it would still cause dependency problems).
But may be the other option would have been the better one. Is it possible to have PBSProxyServerRunner in core but the payload jar in jproxy? Thus it is possible to configure the extension point in the way that it find the jar file in a different plug-in?
No, the PBSProxyServerRunner class must be in the same plugin that the jar file is in. Referencing a jar file in a different plugin would be difficult to accomplish in a portable manner.
In any case, I thought the reason it couldn't be in jproxy was related to the dependencies that it introduced, and which increased the size of the proxy jar.
In my recent proposal, this is what I'm suggesting:
org.eclipse.ptp.rm.pbs.core -> client code to implement the pbs resource manager (client plugin) org.eclipse.ptp.rm.pbs.core.server -> PBSProxyServerRunner and proxy jar (client plugin) org.eclipse.ptp.rm.pbs.jproxy -> proxy server code, only used to generate a jar that is placed in pbs.core.server plugin during the build
It seems like this may still be the best compromise.
Greg
|