[quanta-devel] Re: Subversion repository structure (was: trunk/kdeedu/klettres)
Andras Mantia
amantia at kde.org
Sun Feb 20 10:05:06 UTC 2005
> [ Please let any further discussion on this topic happen in
> kdevelop-devel mailinglist ]
I'd like to crossposts to quanta-devel as well, as some of us are not
subscribed to kdevelop-devel and might miss it.
On Sunday 20 February 2005 00:39, Alexander Dymo wrote:
> Matt is right. We've been following KDE release schedule since KDE
> 3.2 but that is not obligatory for us.
It's not obligatory for anybody, but do you want to follow it for the
next release (4.0) or not?
> Yes. The questions you stated above are very important. So I'd like
> _any_ kdevelop and kdewebdev developer to present their opinion.
>
> I'll try to share my point of view with you here.
>
> We have now inside "kdevelop" module:
> 1) KDevelop Platform - a set of libraries to develop IDE-like
> applications and kdevelop plugins
> 2) KDevelop Shell - a shell application which can load kdevelop
> plugins
> 3) Plugins - a set of core and a set of additional plugins
> 4) Two platform applications: KDevelop IDE and KDevelop Assistant
> which use the same shell and the same plugins
>
> Taking the points above into account I can see the following
> svn (only svn because kde will move very soon) structure:
> 1) platform
> lib #platform libraries
> shell #generic plugin-based shell application
> plugins #core (platform plugins) which are common to all
> #platform applications
> 2) kdevelop_ide #everything for KDevelop IDE
> lib
> shell
> plugins
> ...
> 3) kdevassistant #everything for KDevelop Assistant
> lib
> shell
> plugins
> ...
> 4) kdewebdev #everything for Quanta and web development
> lib
> shell
> plugins
> ...
>
> Now, where to put those modules?
> Questions are:
> 1) Will kdewebdev be inside trunk/KDE/ or will it be a separate
> module trunk/kdewebdev?
I'd like to keep it under tunk/KDE. This is because kdewebdev has other
(standalone) applications, like the HTML image map editor, the XSL
debugger or the link checker. I'm not including KFileReplace and
Kommander here as they are not completely related to web
development. ;-)
Quanta should remain there as well. Just that to have Quanta, you
require the KDevelop platform. Now about the shell I have mixed
feelings. The best would be to have a good general shell, so we don't
have to write and maintain to shells in different places.
> 2) Where shall the "platform" module be in ("trunk/KDE/kdevplatform"
> or "trunk/kdevplatform" or "trunk/kdevelop/platform")?
> 3) Where shall the kdevelop ide reside?
> 4) What would be the release cycle for all platform applications
> etc. etc.
>
> My answer:
> We can create one root module for all development applications, like:
> "trunk/kdedev"
> Then we can have:
> trunk
> kdedev
> platform
> kdevelop
> kdevassistant
> quanta
> ... other applications
This may have the problem that there are other development related
applications partly in kdewebdev and partly in kdesdk.
> Why do I suggest one module for all development applications? Well, I
> have several good reasons:
> 1) We can schedule kdedev releases either with corresponding KDE
> releases or on our own.
I don't see that we (the Quanta team) would like to release separately
from KDE in the near/middle-term future.
> 2) kdedev would be the best place to put other applications for
> developers like those currently in kdewebdev (kommander,
> kfilereplace, etc.) As we've already seen, those applications have
> their value not only for web development.
Yes, if we really gather there all the applications related to
development this will be a plus. But do you realize that this will be
the biggest module in KDE? Well maybe koffice and kde-i18n is bigger, I
don't know.
> 3) kdedev would be the best place to put platform stuff. We can't
> really put the platform into kdelibs just because platform is not
> only libraries but also common plugins.
Right. My proposal would be to have a separate modulefor the platform
and common plugins, like:
trunk/KDE/kdevplatform (contains plugins and the platform)
trunk/KDE/kdewebdev (our stuff)
turnk/kdevelop (your stuff)
The latter two requires the first one. This is inter module dependency,
but might have some good benefits compared to the all-in-one solution.
There are two possible problems with that one:
1) packaging: what if we/a distribution/whatever wants to package just
KDevelop or just Quanta? Obviously they won't create a 100MB RPM from
the whole module. ;-) So we have to offer an easy way to extract only
one application from there (with the required libraries and plugins).
Also packagers will want to create a "kdevplatform" package with the
common stuff, otherwise there will be conflicts if both KDevelop and
Quanta packages have the same files. Aside of the problem of extracting
the common stuff and the applications in separate packages, there is
also the need to be extra careful about the dependencies and what is
put where. The kdevplatform part must be self contained, packagable and
compilable alone. This is why if it's really alone might make more
sense.
2) CVS(ok SVN ;-)) users: what if somebody wants just Quanta or just
KDevelop from the repository? I cannot tell him to check out the mega
module kdedev and only use half of it. I know it's a pain for many to
download such a big amount of data (and have it on the disk sitting
without you ever using it). And I certainly don't want to give them a
crash-course about how to get it in pieces.
3) Releases: what if KDevelop wants a different release schedule from
Quanta? How can it be tagged/branched? Having the platform in a
separate module (which always follows the KDE release cycle) makes this
easier. If you decide to release the next KDevelop IDE (with
C++/Ruby/whatever support) differently from KDE, we could still release
Quanta with KDE.
4) This is something different and that it's a problem in both cases,
namely that if we convert Quanta into a plugin, I need to install it
every time to try out my changes, am I right? Now how do you (plugin
writers) deal with this cases? I'd like to have the possibility to just
press Execute program, it builds the plugin, runs the shell and the new
plugin is loaded, not the old one which is installed.
> 4) kdedev/platform would provide nice place for common stuff, all
> applications inside kdedev could easily add dependencies to platform.
I agree.
> 5) kdedev would be easy to package either as one big kdedev.tar.gz or
> as a set of separate packages because each application inside kdedev
> would have only one dependency like "quanta -> platform".
See above my concerns.
Andras
--
Quanta Plus developer - http://quanta.sourceforge.net
K Desktop Environment - http://www.kde.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20050220/dca78533/attachment.sig>
More information about the KDevelop-devel
mailing list