Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Mozilla now has built-in support for CDT project generation

addIndexerSetupParticipant is if you want to hold off indexer. If you don't need indexer it all what you did would do it.
I think you should submit the patch and committers would have a chance to comment/object on the review

On Mon, Oct 27, 2014 at 10:05 AM, Christian Walther <walther@xxxxxxxx> wrote:
Alena Laskavaia wrote:
>
> So ideally headless app would not allow indexer to kick in at all (because it is not needed for headless build/import)

We actually do this in our fork of the headless builder - we added a command line argument "-no-indexer" that disables the indexer. I guess we can contribute that if there is interest. Maybe there is no need for a command line argument at all and it can always be disabled.

I'm not sure how clean our code is, judging from the comments; it does not use IIndexManager.addIndexerSetupParticipant(...). I'm including it below in case anyone wants to take a look.

A quick bugzilla search also turned up this request for the same thing:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=355609#c4

 -Christian


> if( disableIndexer ) {
>       CCorePlugin.getIndexManager().setDefaultIndexerId(IPDOMManager.ID_NO_INDEXER);
>       // yes, this is ugly - but I haven't found a way to "officially"
>       // stop the indexer.
>       // The problem is that the "workspace job" for the
>       // "index manager" (PDOMIndexerJob) is created and scheduled
>       // during plugin activation (CCorePlugin.start(BundleContext))
>       // and therefore, it may already be running when we first reach
>       // this line of code. Therefore, we do not just (temporarily)
>       // disable the indexer but also stop it.
>       if( CCorePlugin.getIndexManager() instanceof PDOMManager ) {
>               PDOMManager man = (PDOMManager)CCorePlugin.getIndexManager();
>               man.shutdown();
>       }
> }




Back to the top