Hi Alex,

I think one of the problems is something I just get to know recently in
other discussion. With ANT all SWCs are available. With Maven you set
dependencies when you need it. I don't like how ANT manages it (don't know
if is something we set that way, or something ANT imposes). I think having
all libs available, will potentially generate various issues. I remember
put a list in other thread, but I'll put here what I remember:

1.- Having all classes available can make users and developers use
definitions that can entangle libraries unnecessarily if don't have special
care. Is easy to go fast and depend on something that a library makes
available for you instead of taking the time to use some interfaces or make
the code more smart to not use certain dependencies. Having all classes at
hand does not help on this. While having just the set of libraries that you
really required will ensure you use just the code you should use. In case
you can't will mean something must be refactored to offer the right
structures, libraries and definitions to the user.

2.- A usability thing (not as dangerous as point 1), is that you end having
in IDEs all the classes. That means you can have 7/8 Button classes, and
you probably only want just 1. If I work with Jewel, probably will want
just Jewel Button, and not having in code intelligence the rest (buttons
from basic, express, createjs, jQuery, mdl, etc...). It's a bit cumbersome
to go through all Button classes hitting CTRL+SPACE on and IDE. That can be
solved creating configs, but that's not an easy task, and a bit cumbersome
to do, and just the opposite to PAYG applied to how to configure a project.

We have other things like the CSS you commented or the extra processing of
classes that will never be needed, but maybe we're going a bit off topic
with this.
I think far beyond other ANT/MAVEN things, all build systems should put
available all libs to use, but the user should enable each one to avoid
potential problems and ensure codification is done in the proper way,
without mixing definitions that can pull from a tree or other ones not
wanted, enforcing PAYG.

Reply via email to