@Nullable public static ExternalSystemManager<?, ?, ?, ?, ?> getManager( @NotNull ProjectSystemId externalSystemId) { for (ExternalSystemManager manager : ExternalSystemManager.EP_NAME.getExtensions()) { if (externalSystemId.equals(manager.getSystemId())) { return manager; } } return null; }
@Nullable public static AbstractExternalSystemTaskConfigurationType findConfigurationType( @NotNull ProjectSystemId externalSystemId) { for (ConfigurationType type : Extensions.getExtensions(ConfigurationType.CONFIGURATION_TYPE_EP)) { if (type instanceof AbstractExternalSystemTaskConfigurationType) { AbstractExternalSystemTaskConfigurationType candidate = (AbstractExternalSystemTaskConfigurationType) type; if (externalSystemId.equals(candidate.getExternalSystemId())) { return candidate; } } } return null; }
private static long getTimeStamp( @NotNull ExternalProjectSettings externalProjectSettings, @NotNull ProjectSystemId externalSystemId) { long timeStamp = 0; for (ExternalSystemConfigLocator locator : ExternalSystemConfigLocator.EP_NAME.getExtensions()) { if (!externalSystemId.equals(locator.getTargetExternalSystemId())) { continue; } for (VirtualFile virtualFile : locator.findAll(externalProjectSettings)) { timeStamp += virtualFile.getTimeStamp(); } } return timeStamp; }