3434import java .util .Map ;
3535import java .util .stream .Collectors ;
3636
37+ import org .apache .maven .RepositoryUtils ;
3738import org .apache .maven .artifact .Artifact ;
3839import org .apache .maven .artifact .DefaultArtifact ;
3940import 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 ;
4341import 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 ;
4942import org .codehaus .plexus .testing .PlexusTest ;
5043import org .codehaus .plexus .util .FileUtils ;
5144import 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 ;
5250import org .hamcrest .io .FileMatchers ;
5351import org .junit .jupiter .api .BeforeEach ;
5452import org .junit .jupiter .api .Test ;
5553
5654import static org .hamcrest .MatcherAssert .assertThat ;
5755import static org .hamcrest .Matchers .containsInAnyOrder ;
5856import static org .hamcrest .Matchers .is ;
57+ import static org .hamcrest .Matchers .notNullValue ;
5958
6059/**
6160 *
@@ -72,34 +71,25 @@ public abstract class AbstractCompilerTest {
7271 private Map <String , Compiler > compilers ;
7372
7473 @ Inject
75- private ArtifactRepositoryLayout repositoryLayout ;
74+ private LocalRepositoryProvider localRepositoryProvider ;
7675
77- private ArtifactRepository localRepository ;
76+ private LocalRepositoryManager localRepositoryManager ;
7877
7978 protected abstract String getRoleHint ();
8079
8180 @ BeforeEach
8281 final void setUpLocalRepo () throws Exception {
8382 String localRepo = System .getProperty ("maven.repo.local" );
83+ assertThat ("system property maven.repo.local" , localRepo , notNullValue ());
8484
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 ());
10190
102- localRepository = new DefaultArtifactRepository ("local" , "file://" + localRepo , repositoryLayout );
91+ RepositorySystemSession session = new DefaultRepositorySystemSession ();
92+ localRepositoryManager = localRepositoryProvider .newLocalRepositoryManager (session , localRepository );
10393 }
10494
10595 protected void setCompilerDebug (boolean flag ) {
@@ -338,6 +328,8 @@ protected String getJavaVersion() {
338328 }
339329
340330 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 )));
342334 }
343335}
0 commit comments