For what it's worth, here's my opinion.  I'm trying to arrange things so
releases will be less chaotic affairs, so that's my main bias in my
arguments.
------------
NAntContrib should be distributed with NAnt.  That means when we have a
release, we build both and package all the binaries and source together.

The list of tasks that make up NAnt need to stabilize before 1.0.  There's
too much change between releases (though more frequent releases will help
fix this).  By necessity, everything else needs to go into NAntContrib.

I think for the next release (0.8.3.xxx), we should NOT restructure the
code; it will only delay things and confuse people. Instead, we simply need
to fix the project so it builds against the current version of NAnt.  Both
projects will be built and distributed together for this release.

The following release (0.8.4.xxx), we should do whatever restructuring is
necessary, as long as we can agree that no major refactorings are going to
take place after this. One of the reasons my company is paying for me to
work on this is because we are using the project in our production
environment; if things start breaking I know I'm the one they're going to
blame.

After that (0.8.xxx), there needs to be a major push to test everything.
Writing lots of test scripts, and a lot more unit tests.  There are a number
of subtle, untracked bugs caused by dependencies, cascades, etc.  Part of
the reason people complain about the extent of changes is so much stuff
breaks.  Better unit tests would make it a lot easier to find *and document*
the scope of proposed changes before they are made.

For the (0.9.xxx) releases, we really should be concentrating on documenting
things and bug fixing.  We need a *lot* more examples, so people don't keep
reinventing the wheel and so people get a deep understanding of how build
scripts work.

Unfortunately, the major features that get implemented between releases make
it much harder to get a deep understanding of the system; that makes it
harder to contribute to the core and everyone ends up trying to commit to
NAntContrib where everything breaks anyhow.

I know there are lots of really useful features that need to be added, but
the tasks that are in there TODAY are letting people write sophisticated,
production-quality build systems.  If we can polish and document the
existing functionality, we have a solid core for
a 1.0 release, and a much better foundation for integrating changes and
tasks going forward.
-------------
As for doing my part, I am going to be writing some fairly extensive release
notes this go round.  Expect a first draft in about two days.  In addition,
I'm going to be putting in some more unit tests as soon as we ship
0.8.3.xxx.  I'm also going to be pretty aggressive about trying to get out a
new release every month.
-------------
John C Barstow


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to