Graeme Geldenhuys wrote 9 lines
Darius Blaszijk, Vincent Snijders and myself had a discussion off the
mailing list about the possibility of moving FPCUnit out of FPC as a
separate project. I thought it to be important that we get the
opinions of others as well.
In summary:
Darius is all for it.
Vincent is against it.
I'm on the wire, but leaning towards the move. :-)
I think that most fpc-core developers aggree with Vincent. (On exactly the same reasons, but I could be wrong)
Show quoted text 7 lines
Some points that where raised in our discussion (please add more if I
left some out):
* As it stands now, FPCUnit is split between two repositories. The FPC
one and the Lazarus one. This make it really hard to submit updates.
The FPC one must be done first otherwise it breaks the Lazarus GUI
TestRunner (or Console TestRunner).
This is the same for all of the LCL. Clearest example is maybe the DB- components. But it holds for all of the LCL, which depends on the FCL and RTL. The LCL is full of version-checks to avoid problems with different fpc-releases.
Second there's no problem if FPCUnit is broken in svn. Those are _development_ versions. If people have problems with them, because they do not update enough (fpc or lazarus), that's their problem.
* FPC versions are a issue as the release cycles is very different for
the FPC and Lazarus projects. Apparently the FPCUnit is broken in the
previous release of Lazarus, due to this.
Which holds dor the complete LCL. That's why there are ifdefs all over the place, see above.
Show quoted text 7 lines
* Vincent likes the idea of the testing framework being part of FPC.
One simple checkout. I think this point is moot because SubVersion
support Externals Definitions for exactly this purpose and I think
will actually work better than the current setup. We can link FPCUnit
to FPC as an external link - and even link it to a specific revision
of FPCUnit to always guarantee it pulls in a stable version of FPCUnit
for use in FPC's test cases.
You don't want to pull in any LCL-dependencies to test the FCL or other fpc-things. So you still need to keep them separate. Besides, I see the graphical-features of fpcunit as a nice add-on, but I don't use them. You can use FPCUnit as it's provided by fpc, without the tools in Lazarus. I think there are a lot of ppl who actually do that. (Just like you can use the db-unit without the db-components from Lazarus)
* FPCUnit could move to the same repository as the other 3rdParty FPC
tools like LNet. I can't remember the exact SubVersion URL now. It
will still be close to FPC, just not live in the same repository.
What will become a real maintenance-nightmare, is if we split everything up in it's own repository. Release-management is an horror already as it is now...
And while this looks developer-friendly at start, it's user-unfriendly: 'Ah, you want to use Lazarus! Great, first you have to download+install fpc, and thereafter Lazarus. But if you want to use DB-controls, install the DB-controls from svn-XXX. If you need tests, install the FPCUnit- package, which you can find here ... . etc. etc. Maybe the new packaging-system can help here, though....
Joost