use of org.apache.ivy.plugins.version.MavenTimedSnapshotVersionMatcher in project ant-ivy by apache.
the class IBiblioMavenSnapshotsResolutionTest method before.
@Before
public void before() throws Exception {
TestHelper.createCache();
this.ivy = new Ivy();
this.ivy.configure(new File("test/repositories/ivysettings.xml"));
// add the maven timestamped snapshot version matcher
this.ivy.getSettings().addVersionMatcher(new MavenTimedSnapshotVersionMatcher());
}
use of org.apache.ivy.plugins.version.MavenTimedSnapshotVersionMatcher in project ant-ivy by apache.
the class IBiblioMavenSnapshotsResolutionTest method testSnapshotResolution.
/**
* Tests that an Ivy module that depends on regular and timestamped snapshots of Maven
* artifacts, when resolved using a {@link IBiblioResolver} and with
* {@link MavenTimedSnapshotVersionMatcher} configured in {@link IvySettings}, is resolved
* correctly for such snapshot dependencies.
*
* @throws Exception
* if something goes wrong
*/
@Test
public void testSnapshotResolution() throws Exception {
final IvySettings settings = this.ivy.getSettings();
assertNotNull("Maven timestamped snapshot revision version matcher is absent", settings.getVersionMatcher(new MavenTimedSnapshotVersionMatcher().getName()));
final ResolveOptions resolveOptions = new ResolveOptions();
resolveOptions.setConfs(new String[] { "default" });
final ResolveReport report = ivy.resolve(new File("test/repositories/2/maven-snapshot-deps-test/ivy-with-maven-snapshot-deps.xml"), resolveOptions);
assertNotNull("Resolution report was null", report);
assertFalse("Resolution report has error(s)", report.hasError());
final ModuleDescriptor md = report.getModuleDescriptor();
assertNotNull("Module descriptor in resolution report was null", md);
final ModuleRevisionId mrid = ModuleRevisionId.newInstance("org.apache.ivy", "maven-snapshot-deps-test", "1.2.3");
assertEquals("Unexpected module resolved", mrid, md.getModuleRevisionId());
final ConfigurationResolveReport crr = report.getConfigurationReport("default");
final ModuleRevisionId exactRevision = ModuleRevisionId.newInstance("org.apache.ivy.maven-snapshot-test", "exact-revision", "2.3.4");
final ArtifactDownloadReport[] dr1 = crr.getDownloadReports(exactRevision);
assertNotNull("Artifact download report missing for dependency " + exactRevision, dr1);
assertEquals("Unexpected number of artifact download report for dependency " + exactRevision, dr1.length, 1);
final ArtifactDownloadReport exactRevDownloadReport = dr1[0];
assertEquals("Unexpected download status for dependency " + exactRevision, exactRevDownloadReport.getDownloadStatus(), DownloadStatus.SUCCESSFUL);
final ModuleRevisionId regularSnapshot = ModuleRevisionId.newInstance("org.apache.ivy.maven-snapshot-test", "regular-snapshot", "1.2.3-SNAPSHOT");
final ArtifactDownloadReport[] dr2 = crr.getDownloadReports(regularSnapshot);
assertNotNull("Artifact download report missing for dependency " + regularSnapshot, dr2);
assertEquals("Unexpected number of artifact download report for dependency " + regularSnapshot, dr2.length, 1);
final ArtifactDownloadReport regularSnapshotDownloadReport = dr2[0];
assertEquals("Unexpected download status for dependency " + regularSnapshot, regularSnapshotDownloadReport.getDownloadStatus(), DownloadStatus.SUCCESSFUL);
final ModuleRevisionId timestampedSnapshot = ModuleRevisionId.newInstance("org.apache.ivy.maven-snapshot-test", "timestamped-snapshot", "5.6.7-20170911.130943-1");
final ArtifactDownloadReport[] dr3 = crr.getDownloadReports(timestampedSnapshot);
assertNotNull("Artifact download report missing for dependency " + timestampedSnapshot, dr3);
assertEquals("Unexpected number of artifact download report for dependency " + timestampedSnapshot, dr3.length, 1);
final ArtifactDownloadReport timestampedSnapshotDownloadReport = dr3[0];
assertEquals("Unexpected download status for dependency " + timestampedSnapshot, timestampedSnapshotDownloadReport.getDownloadStatus(), DownloadStatus.SUCCESSFUL);
}
use of org.apache.ivy.plugins.version.MavenTimedSnapshotVersionMatcher in project ant-ivy by apache.
the class XmlSettingsParserTest method testMavenTimedSnapshotVersionMatcher.
/**
* Tests that the {@code maven-tsnap-vm} version matcher, configured in the settings file,
* is parsed correctly
*
* @throws Exception if something goes wrong
*/
@Test
public void testMavenTimedSnapshotVersionMatcher() throws Exception {
final IvySettings settings = new IvySettings();
XmlSettingsParser parser = new XmlSettingsParser(settings);
parser.parse(XmlSettingsParserTest.class.getResource("ivysettings-maven-tsnap-vmatcher.xml"));
final VersionMatcher mavenTSnapVersionMatcher = settings.getVersionMatcher(new MavenTimedSnapshotVersionMatcher().getName());
assertNotNull("Maven timestamped snapshot version matcher is missing", mavenTSnapVersionMatcher);
assertTrue("Unexpected type for Maven timestamped snapshot version matcher", mavenTSnapVersionMatcher instanceof MavenTimedSnapshotVersionMatcher);
}
Aggregations