1 package org.apache.maven;
2
3 import org.apache.maven.artifact.Artifact;
4 import org.apache.maven.artifact.DefaultArtifact;
5 import org.apache.maven.execution.MavenExecutionRequest;
6 import org.apache.maven.execution.MavenExecutionResult;
7 import org.apache.maven.project.MavenProject;
8 import org.apache.maven.project.MavenProjectHelper;
9
10 import java.io.File;
11 import java.nio.file.Files;
12
13 import static java.util.Arrays.asList;
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public class DefaultMavenTest
34 extends AbstractCoreMavenComponentTestCase
35 {
36
37 public void testThatErrorDuringProjectDependencyGraphCreationAreStored()
38 throws Exception
39 {
40 Maven maven = getContainer().lookup( Maven.class );
41 MavenExecutionRequest request = createMavenExecutionRequest( getProject( "cyclic-reference" ) ).setGoals( asList("validate") );
42
43 MavenExecutionResult result = maven.execute( request );
44
45 assertEquals( ProjectCycleException.class, result.getExceptions().get( 0 ).getClass() );
46 }
47
48 @Override
49 protected String getProjectsDirectory()
50 {
51 return "src/test/projects/default-maven";
52 }
53
54
55 public void testMavenProjectNoDuplicateArtifacts()
56 throws Exception
57 {
58 MavenProjectHelper mavenProjectHelper = lookup( MavenProjectHelper.class );
59 MavenProject mavenProject = new MavenProject();
60 mavenProject.setArtifact( new DefaultArtifact( "g", "a", "1.0", Artifact.SCOPE_TEST, "jar", "", null ) );
61 File artifactFile = Files.createTempFile( "foo", "tmp").toFile();
62 try
63 {
64 mavenProjectHelper.attachArtifact( mavenProject, "sources", artifactFile );
65 assertEquals( 1, mavenProject.getAttachedArtifacts().size() );
66 mavenProjectHelper.attachArtifact( mavenProject, "sources", artifactFile );
67 assertEquals( 1, mavenProject.getAttachedArtifacts().size() );
68 } finally
69 {
70 Files.deleteIfExists( artifactFile.toPath() );
71 }
72 }
73
74 }