Child pages
  • External system integration

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Built-in support covers only root config files of linked external projects. However, there is a possible situation that particular external project has another config files which affect resulting project structure as well (for example, it might be a multi-project where every sub-project has its own config file). That's why it's possible to enhance that processing by making target external system implementation (ExternalSystemManager) implement ExternalSystemAutoImportAware. That allows to provide custom logic for mapping file modification events to the target external project affected by that.

Note: ExternalSystemAutoImportAware is called quite often, that's why it's expected to return control flow as soon as possible. Helper CachingExternalSystemAutoImportAware class might be used for providing caching, i.e. ExternalSystemManager which implements ExternalSystemAutoImportAware might have a field like 'new CachingExternalSystemAutoImportAware(new MyExternalSystemAutoImportAware())'.


The general idea is that all external system settings controls are represented by implementations of ExternalSettingsControl interface. There are also external system project-local settings and global external system settings. So, basically particular external system settings UI looks as below: