Re: Here is my Centipede scepticism

Mats Henricson <[email protected]>
Newsgroups gmane.comp.krysalis.user
Message-ID <[email protected]>
Nicola Ken Barozzi wrote:
> Mats Henricson wrote, On 07/06/2003 1.41:
>> Now your team members also need to learn Centipede, and
>> you claim that is an improvement?
> 
> Centipede is not to learn. It's an Ant task that uses the Gump 
> descriptor. What do you have to learn?

The Gump descriptor, for example. Plus the Centipede task.

>> But, that was what I tried to explain in my original
>> email, my javadoc ant target needs tweaking anyway.
>> And so would most other targets anyway. So, what have
>> you gained? Nothing, it seems to me. On the contrary,
>> since you've forced your co-workers to use something
>> that wasn't necessary.
> 
> Forced? You *can* use it, or not use it.

Of course, but what I mean is that in every environment
where you introduce Centipede you are adding complexity,
since Centipede is non-trivial. That means that for it
to be meaningful to use Centipeded, it must remove some
complexity somewhere else.

And this is the main idea with it all, right? Centipede
will reduce the complexity of you ant build scripts,
since it uses reusable cents.

My claim is that it doesn't work! I can't use your javadoc
cent, since it doesn't do what I want. I can't use your
JUnit cent (I assume there is such a thing) since it can't
possibly know the names of the JUnit classes I want to
run.

> Cents are like Ant tasks, you use them if you need them.

Well, I need them, but I can't use them.

>>>     2. It is trying to automate/simplify something
>>>         that is always going to have to be customized
>>>         by hand.
>>>
>>> Sounds like an argument against other build tools, not Centipede. 
>>> Centibuild
>>> is just ant w/ optional imports. You want your hand crafted ant 
>>> script, then
>>> paste it in. Centipede compliments ant w/ some metadata parsing into
>>> properties, w/ optional/re-usable scriptlets, it doesn't stop you 
>>> from using
>>> plain ant.
>>
>>
>> It is NOT just adding something without the cost, since
>> it requires your co-workers to learn yet another tool,
>> when ant in most cases is just fine.
> 
> 
> In most small projects it's easy to start. But then imagine to have to 
> manage 20 projects, each with their own buildfile changes, and have them 
> compile every time, with the defined libraries...

Yes, I agree, this is a complex task, and I do not have
much experience in maintaining such environments.

> Centipede is an Ant task. That can make "antlibs" that contain both 
> tasks and prepackaged targets.
> 
> If you don't want use target libraries and don't want to have 
> autodownload of jars and don't want to have common properties in a 
> common descriptor, fine. Then you don't need Centipede.

Autodownload of jars sounds scary to me, but I'm sure it
solves real problems in real environments.

So, does this mean that Centipede is mostly useful in
really complex environments, but overkill for smaller
projects?

After re-reading my text above it seems clear to me that
what I have most problems with are the reusable cents.
I can't see how they can possibly work. Centipede seems
to be much more than just reusable cents however, of
which I know nothing.

Mats




-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.