34
34
import java .util .Map ;
35
35
import java .util .stream .Collectors ;
36
36
37
+ import org .apache .maven .RepositoryUtils ;
37
38
import org .apache .maven .artifact .Artifact ;
38
39
import org .apache .maven .artifact .DefaultArtifact ;
39
40
import org .apache .maven .artifact .handler .DefaultArtifactHandler ;
40
- import org .apache .maven .artifact .repository .ArtifactRepository ;
41
- import org .apache .maven .artifact .repository .DefaultArtifactRepository ;
42
- import org .apache .maven .artifact .repository .layout .ArtifactRepositoryLayout ;
43
41
import org .apache .maven .artifact .versioning .VersionRange ;
44
- import org .apache .maven .properties .internal .SystemProperties ;
45
- import org .apache .maven .settings .Settings ;
46
- import org .apache .maven .settings .building .DefaultSettingsBuilderFactory ;
47
- import org .apache .maven .settings .building .DefaultSettingsBuildingRequest ;
48
- import org .apache .maven .settings .building .SettingsBuildingRequest ;
49
42
import org .codehaus .plexus .testing .PlexusTest ;
50
43
import org .codehaus .plexus .util .FileUtils ;
51
44
import org .codehaus .plexus .util .StringUtils ;
45
+ import org .eclipse .aether .DefaultRepositorySystemSession ;
46
+ import org .eclipse .aether .RepositorySystemSession ;
47
+ import org .eclipse .aether .impl .LocalRepositoryProvider ;
48
+ import org .eclipse .aether .repository .LocalRepository ;
49
+ import org .eclipse .aether .repository .LocalRepositoryManager ;
52
50
import org .hamcrest .io .FileMatchers ;
53
51
import org .junit .jupiter .api .BeforeEach ;
54
52
import org .junit .jupiter .api .Test ;
55
53
56
54
import static org .hamcrest .MatcherAssert .assertThat ;
57
55
import static org .hamcrest .Matchers .containsInAnyOrder ;
58
56
import static org .hamcrest .Matchers .is ;
57
+ import static org .hamcrest .Matchers .notNullValue ;
59
58
60
59
/**
61
60
*
@@ -72,34 +71,25 @@ public abstract class AbstractCompilerTest {
72
71
private Map <String , Compiler > compilers ;
73
72
74
73
@ Inject
75
- private ArtifactRepositoryLayout repositoryLayout ;
74
+ private LocalRepositoryProvider localRepositoryProvider ;
76
75
77
- private ArtifactRepository localRepository ;
76
+ private LocalRepositoryManager localRepositoryManager ;
78
77
79
78
protected abstract String getRoleHint ();
80
79
81
80
@ BeforeEach
82
81
final void setUpLocalRepo () throws Exception {
83
82
String localRepo = System .getProperty ("maven.repo.local" );
83
+ assertThat ("system property maven.repo.local" , localRepo , notNullValue ());
84
84
85
- if (localRepo == null ) {
86
- File settingsFile = new File (System .getProperty ("user.home" ), ".m2/settings.xml" );
87
- if (settingsFile .exists ()) {
88
- SettingsBuildingRequest request = new DefaultSettingsBuildingRequest ();
89
- request .setUserSettingsFile (settingsFile );
90
- request .setSystemProperties (SystemProperties .getSystemProperties ());
91
- Settings settings = new DefaultSettingsBuilderFactory ()
92
- .newInstance ()
93
- .build (request )
94
- .getEffectiveSettings ();
95
- localRepo = settings .getLocalRepository ();
96
- }
97
- }
98
- if (localRepo == null ) {
99
- localRepo = System .getProperty ("user.home" ) + "/.m2/repository" ;
100
- }
85
+ LocalRepository localRepository = new LocalRepository (localRepo );
86
+ assertThat (
87
+ "test prerequisite: local repository path: " + localRepository .getBasedir (),
88
+ localRepository .getBasedir (),
89
+ FileMatchers .aReadableFile ());
101
90
102
- localRepository = new DefaultArtifactRepository ("local" , "file://" + localRepo , repositoryLayout );
91
+ RepositorySystemSession session = new DefaultRepositorySystemSession ();
92
+ localRepositoryManager = localRepositoryProvider .newLocalRepositoryManager (session , localRepository );
103
93
}
104
94
105
95
protected void setCompilerDebug (boolean flag ) {
@@ -338,6 +328,8 @@ protected String getJavaVersion() {
338
328
}
339
329
340
330
protected File getLocalArtifactPath (Artifact artifact ) {
341
- return new File (localRepository .getBasedir (), localRepository .pathOf (artifact ));
331
+ return new File (
332
+ localRepositoryManager .getRepository ().getBasedir (),
333
+ localRepositoryManager .getPathForLocalArtifact (RepositoryUtils .toArtifact (artifact )));
342
334
}
343
335
}
0 commit comments