/** * Indicate if the passed extension is compatible with this dependency. * * @param extension the extension to check * @return true if the passed extension is compatible, false otherwise * @since 8.1M1 */ default boolean isCompatible(Extension extension) { if (isCompatible(extension.getId())) { return true; } for (ExtensionId extensionId : extension.getExtensionFeatures()) { if (isCompatible(extensionId)) { return true; } } return false; }
private boolean hasIncompatileRootDependency(ExtensionDependency extensionDependency) { InstalledExtension rootExtension = this.installedExtensionRepository.getInstalledExtension(extensionDependency.getId(), null); return rootExtension != null && !extensionDependency.isCompatible(rootExtension); }