Skip to content

Commit e2a141d

Browse files
authored
Fix #942 path issues on windows machines (#957)
* Fix typo * Unify Windows path for local M2 repo
1 parent 0dd1457 commit e2a141d

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

applications/spring-boot-upgrade/src/main/java/org/springframework/sbm/SpringBootMigratorRunner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class SpringBootMigratorRunner implements ApplicationRunner {
4040
@Override
4141
public void run(ApplicationArguments args) {
4242
if (args.getSourceArgs().length == 0) {
43-
System.err.println("PLease provide the path to the application as parameter.");
43+
System.err.println("Please provide the path to the application as parameter.");
4444
return;
4545
}
4646
String applicationPath = args.getSourceArgs()[0];

components/sbm-core/src/main/java/org/springframework/sbm/project/parser/MavenProjectParser.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.springframework.sbm.build.impl.RewriteMavenParser;
4040
import org.springframework.sbm.engine.events.*;
4141
import org.springframework.sbm.scopes.ProjectMetadata;
42+
import org.springframework.sbm.utils.LinuxWindowsPathUnifier;
4243
import org.springframework.stereotype.Component;
4344

4445
import java.io.IOException;
@@ -73,9 +74,10 @@ public List<SourceFile> parse(Path projectDirectory, List<Resource> resources) {
7374
projectMetadata.setMavenSettings(mavenSettings);
7475
MavenExecutionContextView mavenExecutionContext = MavenExecutionContextView.view(executionContext);
7576
mavenExecutionContext.setMavenSettings(mavenSettings);
76-
// if(mavenExecutionContext.getLocalRepository() == null) {
77-
MavenExecutionContextView.view(executionContext).setLocalRepository(new MavenRepository("local", "file://" + Path.of(System.getProperty("user.home")).resolve(".m2/repository"), null, null, false, null, null, null));
78-
// }
77+
Path localRepo = Path.of(System.getProperty("user.home")).resolve(".m2/repository");
78+
String unifiedLocalRepo = LinuxWindowsPathUnifier.unifyPath(localRepo);
79+
String uri = "%s://%s".formatted("file", unifiedLocalRepo);
80+
MavenExecutionContextView.view(executionContext).setLocalRepository(new MavenRepository("local", uri, null, null, false, null, null, null));
7981
// default local repo provided by MavenExecutionContextView misses two '/' in the path
8082
mavenConfigHandler.injectMavenConfigIntoSystemProperties(resources);
8183

components/sbm-utils/src/main/java/org/springframework/sbm/utils/LinuxWindowsPathUnifier.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,23 @@
2121

2222
public class LinuxWindowsPathUnifier {
2323

24-
public String unifyPath(Path path) {
24+
public static String unifyPath(Path path) {
2525
return unifyPath(path.toString());
2626
}
2727

28-
public String unifyPath(String path) {
28+
public static String unifyPath(String path) {
2929
path = StringUtils.cleanPath(path);
3030
if (isWindows()) {
3131
path = transformToLinuxPath(path);
3232
}
3333
return path;
3434
}
3535

36-
boolean isWindows() {
36+
public static boolean isWindows() {
3737
return System.getProperty("os.name").contains("Windows");
3838
}
3939

40-
private String transformToLinuxPath(String path) {
40+
private static String transformToLinuxPath(String path) {
4141
return path.replaceAll("^[\\w]+:\\/?", "/");
4242
}
4343
}

0 commit comments

Comments
 (0)