Skip to content

Add multi project support to build plugin

Waqar Ahmed requested to merge work/build-multi-project into master

Currently build plugin assumes there is only one project which is just wrong and annoying. What it does is load targets for the active project so whenever you switch the project, the toolview loads new targets. This is extremely annoying when working with multiple project as most of the times the target that you are building is same and even if it is not same, reloading the targets means we loose the position in toolview and thus we need to expand everything again and find the target and make it active.

With this change multi project support is improved. Summary of changes:

  • Dont listen to projectMapChanged anymore. That is emitted to frequently
  • Listen to projectAdded/projectRemoved and load targets when that happens
  • Project plugin has a new signal projectMapEdited which is emitted if someone edits the .kateproject file. Build plugin now listens to this signal and reloads targets when this happens
  • Each targetSet has a new field projectBaseDir which corresponds to the project that the targetset was loaded from. This is used later to create or delete the .kateproject.build override file
  • There is still one PROJECT root node. The targets of different projects are treated as target sets

Merge request reports

Loading