[jbosstools-dev] Unnecessary Dependencies

Max Rydahl Andersen max.andersen at redhat.com
Thu Feb 12 05:49:55 EST 2009


On 12-02-2009 06:34, Rob Stryker wrote:
> So today I decided to work on JBIDE-3772 and I create a workspace with 
> just ESB projects.
>
> I see immediately that it requires XModel (bleh), but that's fine I 
> guess. It provides a lot of functionality. I also see, however, that 
> it requires as.classpath.core.
>
> Requiring XModel is maybe justifiable as it's "common" code. The 
> requirement on as.classpath.core is just to make use of an Abstract 
> classpath provider that's in there.
>
> I'm not trying to call any plugin or developer out here, but I'd like 
> to suggest that we try to decouple our code as much as is possible. If 
> you're just borrowing one or two classes with minimal dependencies, 
> would it be better to copy that class?  I think it would be better but 
> I'd like to hear other's thoughts.
No, copy/paste of code that is doing more than just very simple things 
should not just be copied.

You don't tell what classpath provider you are copying so I can't see 
what it does (and fisheye is down), but my guess is that it is the 
classpth container
that manages the sourcecode and javadoc attachements - that is excellent 
candidates for code to be shared.

This does not mean you should not decouple your code, but decoupling is 
much more than just avoiding plugin dependencies between our plugins.
i.e. if having ESB classpath containers and deployment being dependent 
on AS plugin saves us from a lot of possibly maintanence duplication 
then why bother
separating them when the only adapter and server in the world that will 
work with ESB is our AS plugin...in other words ESB has (IMO) a natural 
dependeny on AS
hence having common code in AS does not hurt anyone.

If ESB one day can be deployed to other servers or the classpath 
container start being used by other parts of our code that is not 100% 
dependent on AS by nature then
separating those base classes out makes a lot of sense.

/max



More information about the jbosstools-dev mailing list