@Test public void detectsCompatibleMinorVersion() throws Exception { assertThat(isCompatibleVersion("1.1.0", "1.0.0"), is(true)); }
@Test public void detectsIncompatibleMinorVersionWithNoBugFix() throws Exception { assertThat(isCompatibleVersion("1.0", "1.1"), is(false)); }
@Test public void detectsIncompatibleMajorVersion() throws Exception { assertThat(isCompatibleVersion("2.0.0", "1.0.0"), is(false)); }
@Test public void detectsIncompatibleMajorVersionWithNoBugFix() throws Exception { assertThat(isCompatibleVersion("2.0", "1.0"), is(false)); } }
@Test public void detectsCompatibleBugFixVersion() throws Exception { assertThat(isCompatibleVersion("1.0.1", "1.0.0"), is(true)); }
@Test public void detectsIncompatibleMinorVersion() throws Exception { assertThat(isCompatibleVersion("1.0.0", "1.1.0"), is(false)); }
@Test public void detectsCompatibleMinorVersionWithNoBugFix() throws Exception { assertThat(isCompatibleVersion("1.1", "1.0"), is(true)); }
@Test public void detectsIncompatibleBugFixVersion() throws Exception { assertThat(isCompatibleVersion("1.0.0", "1.0.1"), is(false)); }
@Test public void detectsIncompatibleMajorVersionWithNoMinor() throws Exception { assertThat(isCompatibleVersion("2", "1"), is(false)); }
private static boolean isResolvedDependency(BundleDescriptor availableBundleDescriptor, BundleDescriptor expectedBundleDescriptor) { return availableBundleDescriptor.getArtifactId().equals(expectedBundleDescriptor.getArtifactId()) && availableBundleDescriptor.getGroupId().equals(expectedBundleDescriptor.getGroupId()) && isCompatibleVersion(availableBundleDescriptor.getVersion(), expectedBundleDescriptor.getVersion()); }
private List<ArtifactPluginDescriptor> getArtifactPluginDescriptors(Set<ArtifactPluginDescriptor> domainPlugins, List<ArtifactPluginDescriptor> resolvedPlugins, boolean isDomain) { List<ArtifactPluginDescriptor> filteredPluginDescriptors = new ArrayList<>(); for (ArtifactPluginDescriptor appPluginDescriptor : resolvedPlugins) { Optional<ArtifactPluginDescriptor> pluginDescriptor = findPlugin(domainPlugins, appPluginDescriptor.getBundleDescriptor()); if (!pluginDescriptor.isPresent()) { filteredPluginDescriptors.add(appPluginDescriptor); } else { BundleDescriptor foundPluginBundleDescriptor = pluginDescriptor.get().getBundleDescriptor(); // TODO MULE-15842: remove hardcoded HTTP artifact GAs. if ((isDomain || (foundPluginBundleDescriptor.getArtifactId().equals(MULE_HTTP_CONNECTOR_ARTIFACT_ID) && foundPluginBundleDescriptor.getGroupId().equals(MULE_HTTP_CONNECTOR_GROUP_ID))) && !isCompatibleVersion(foundPluginBundleDescriptor.getVersion(), appPluginDescriptor.getBundleDescriptor().getVersion())) { throw new IllegalStateException( format("Incompatible version of plugin '%s' (%s:%s) found. Artifact requires version '%s' but context provides version '%s'", appPluginDescriptor.getName(), appPluginDescriptor.getBundleDescriptor().getGroupId(), appPluginDescriptor.getBundleDescriptor().getArtifactId(), appPluginDescriptor.getBundleDescriptor().getVersion(), foundPluginBundleDescriptor.getVersion())); } } } return filteredPluginDescriptors; }