package io.takari.aether.localrepo.its; import static org.junit.Assert.assertFalse; import io.takari.maven.testing.TestProperties; import io.takari.maven.testing.TestResources; import io.takari.maven.testing.executor.MavenExecution; import io.takari.maven.testing.executor.MavenExecutionResult; import io.takari.maven.testing.executor.MavenRuntime; import io.takari.maven.testing.executor.MavenRuntime.MavenRuntimeBuilder; import io.takari.maven.testing.executor.MavenVersions; import io.takari.maven.testing.executor.junit.MavenJUnitTestRunner; import java.io.File; import org.codehaus.plexus.util.FileUtils; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(MavenJUnitTestRunner.class) @MavenVersions({"3.3.1", "3.3.3"}) public class TakariLocalRepositoryTest { @Rule public final TestResources resources = new TestResources(); public final TestProperties proprties = new TestProperties(); public final MavenRuntime verifier; private String basedir; public TakariLocalRepositoryTest(MavenRuntimeBuilder runtimeBuilder) throws Exception { this.verifier = runtimeBuilder.withExtension(new File("target/classes").getCanonicalFile()) // .build(); } @Test public void validateRetryOnDowloadErrorFlagIsFunctional() throws Exception { File localRepository = new File(getBasedir(), "target/local-repo"); FileUtils.deleteDirectory(localRepository); File basedir = resources.getBasedir("basic-it"); MavenExecution execution = verifier.forProject(basedir) // .withCliOptions(String.format("-Dmaven.repo.local=%s", localRepository.getAbsolutePath())) // .withCliOptions(String.format("-Dmaven.retryOnDownloadError=true")); MavenExecutionResult result = execution.execute("compile"); result.assertLogText("Could not resolve dependencies for project io.takari.aether.localrepo.its:update-check:jar:0.1.0"); File updateCheckFile = new File(localRepository, "io/takari/aether/localrepo/its/non-existent/1.0/non-existent-1.0.jar.lastUpdated"); assertFalse(updateCheckFile.exists()); } public final String getBasedir() { if (null == basedir) { basedir = System.getProperty("basedir", new File("").getAbsolutePath()); } return basedir; } }