On 2/10/2012 10:14 AM, Lionel Dricot wrote:
> 1) Indexing consume too much memory, making it impossible to use on less
> than high-end server.
If a project is going to be large enough that indexing memory is a
serious issue, then I suspect that people already have beefy machines
for building it. I'm not saying it's a useful goal; I'm just saying that
it probably won't drive off developers.
> 2) DXR is too tight to mozilla-central
As a rule of thumb, if it's something specific to Mozilla, it should be
able to be placed in a customizable "plugin" of some kind.
> 3) Indexing is currently too slow (is it really a problem?)
> 4) DXR is hard to install and to use.
> 5) I still don't have a clear picture on how to use one DXR instance with multiple repositories
This, IMHO, is the largest issue I would like to see fixed. At the very
least, the ability to have multiple trees in a single $DXR_ROOT install
and have it work nicely is necessary; even more feature-ific would be to
be able to share some index data cross-refs between different trees.
> For 4), Carlos think that DXR should use autotools (or, I would say,
> python-distutils). That would allow easy installation and, even more,
> distribution packages. We should also make some clear shell commands :
> index, deploy. Even a small PyGTK gui might be done quickly. Anyway, lot
> of opportunity there.
>
The main problem that keeps an indexer from being easily packageable is
the fact that you have to do custom steps to compile the target source
code anyways; this is what would make producing a, say, Debian dxr
package difficult. Another option could be to do something like what
bugzilla does: give a web-configurable administration page (which can be
locked down, of course) to avoid ever having to physically see the
command line.
> So, what are, in your opinion, the priorities of DXR as an OpenSource
> project? Should we try to make a roadmap?
Another issue I recall from when I discussed this at the LLVM
developer's meeting was the "#ifdef issue": how do you handle the fact
that, after preprocessing, not all the original source code gets "seen"
by the compiler? The mental model I've had for a long time is to somehow
be able to merge the records of two different compile runs into a single
indexing output.