don't worry Clayton, it doesn't have to come down to voting.  I don't have
any problem with your tasks being added to the NAnt distribution, I just
wanted to make sure we're doing the right thing here and force us to give it
a little thought first ...

Thanks,

Gert


----- Original Message ----- 
From: "Clayton Harbour" <[EMAIL PROTECTED]>
To: "Ian MacLean" <[EMAIL PROTECTED]>; "Gert Driesen"
<[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Sunday, June 08, 2003 7:42 PM
Subject: RE: [nant-dev] Nant cvs task using sharpcvslib


Hi,

I think that a nant task should live in nant.  It gives the nant
developers more choices if an external library decides to stop
supporting (or just hasn't developed (-:) features that the nant
community needs.

For instance if you do not like the fact that library x removed function
y then either go with library z, or build function y into your code.  If
the external library has this control they are going to do the easiest
thing and say that function y is no longer supported and force you to
upgrade your existing code.  Not to say that this will never happen in
nant itself but at least there will be discussions (like this, which is
very good!) to decide on the best course to take.

I think it is a good rule of thumb to say: if the project wants it, then
the project maintains it.  In other words internalize as many
dependencies as possible to minimize the risk to the project and the
customer/ community using that project.

Having said all that I did not intend to force the cvs task on anyone.
I just thought that it was missing and wanted to add it (I actually
wanted to port my ant cvs tasks to nant (-: ... and get draco.net
working with my linux cvs repository).  If it came down to a vote
though, I would vote for adding it.


Clayton


-----Original Message-----
From: Ian MacLean [mailto:[EMAIL PROTECTED]
Sent: June 8, 2003 6:27 AM
To: Gert Driesen
Cc: Clayton Harbour; [EMAIL PROTECTED]
Subject: Re: [nant-dev] Nant cvs task using sharpcvslib

> Yes Ant indeed does ship with cvs tasks, but the reasons for that
probable
> are :
>
> - backward compatibility
> - lack of third party libraries that include such a task

no - it ships for the same reason they ship the copy task - because lots

of people want it and

its totally unreasonable to expect cvs developers to maintain the Ant
cvs task. Ant calls the cvs executable rather than
using a library which is the only reason we are having this
conversation. If Clayton's tasks did the same would you suggest we ask
the developers of cvs to maintain the cvs task ?

> I do agree that its very useful to have support for cvs out of the
box, but
> perhaps that could be accomplished by including #cvslib (which itself
can
> then include the cvs nant tasks)
I still respectfully disagree. #cvslib is a library that encapsulates
cvs functionality just as ziplib is a library that encapsulates zip
functionality. If an IDE project wanted to use #cvslib you would expect
them them to call the library from their code - not to ask the library
writer to create a special layer for them. Should we ask microsoft to
maintain the copy task so that when a new version of the framework is
released we don't have to re-code - OK thats going a bit far but the
principle is the same.

 > not saying that what I want
> is best, but it certainly doesn't hurt to disucss such things ...

which we are doing. Saying I don't agree is not the same as saying we
shouldn't talk about it.

> I would find it appealing to just being able to plugin a new version
of
> #cvslib and at the same time get the corresponding nant tasks ....
we'll
> never be able to keep up with the functionality third party libraries
offer
> if we include tasks for them ourselves ....
But we certainly can do for the core set of tasks. This is a part of
almost every software development effort.
If you use external libraries you have to deal with updating to new
versions at some stage. I don't see our case as any different.
Having said that I totally agree that we shouldn't move tasks for *all*
scms into our core - the developers who need them will write and
maintain them and in some cases those developers will also be the
authors of the external systems.

> how will we cope with attributes, element, or even enum values that
are
> supported with one version of the library and not with another ?
wouldn't
> it be better to just move this stuff to the thid party library itself,
where
> possible ?
Seems to me that this is the same issue you run into whenever you use
someone elses library. If we need to updrade to a new version we make
the required code changes, ship the new version of the library and move
on. And since we do ship those libraries we control which version is
used. How often do you expect ziplib or #cvslib to change once they are
stable ? its not like the cvs api is changing rapidly these days.

ofcourse not every vendor will be interested in providing NAnt
> tasks for its products, but as NAnt gains popularity more vendors will
be
> ... until then, we could provide tasks ourselves ofcourse ...
>
> But I don't think it would hurt to discusss this with the #cvslib,
NDoc,
> NUnit (...) teams ...

yeah - and them impose *our* task writing standards on the authors of
those projects ? If we change the way tasks are laid out do we wait for
the NUnit developers to write a new version of the task before we can
release ?  NUnit and NDoc tasks have been included in the core becuase
they are deemed highly useful - and we use them in our own build
process. If we include them in the core then it is our responsibility to

maintain them.

Ian





-------------------------------------------------------
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.
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers




-------------------------------------------------------
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.
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to