Skip to content

Commit ee4b514

Browse files
committed
fix: support windows binary for yarn and go
Signed-off-by: Ruben Romero Montes <rromerom@redhat.com>
1 parent fa114aa commit ee4b514

4 files changed

Lines changed: 11 additions & 10 deletions

File tree

src/main/java/com/redhat/exhort/providers/GoModulesProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
public final class GoModulesProvider extends Provider {
5353

5454
public static final String PROP_EXHORT_GO_MVS_LOGIC_ENABLED = "EXHORT_GO_MVS_LOGIC_ENABLED";
55+
private static final String GO_BINARY = Operations.isWindows() ? "go.cmd" : "go";
5556
private static final Logger log = LoggersFactory.getLogger(GoModulesProvider.class.getName());
5657
private static final String GO_HOST_ARCHITECTURE_ENV_NAME = "GOHOSTARCH";
5758
private static final String GO_HOST_OPERATION_SYSTEM_ENV_NAME = "GOHOSTOS";
@@ -67,7 +68,7 @@ public String getMainModuleVersion() {
6768

6869
public GoModulesProvider(Path manifest) {
6970
super(Type.GOLANG, manifest);
70-
this.goExecutable = Operations.getExecutable("go", "version");
71+
this.goExecutable = Operations.getExecutable(GO_BINARY, "version");
7172
this.goEnvironmentVariableForPurl = getQualifiers(true);
7273
this.mainModuleVersion = getDefaultMainModuleVersion();
7374
}
@@ -320,9 +321,9 @@ private Sbom buildSbomFromGraph(
320321

321322
private Map<String, List<String>> getFinalPackagesVersionsForModule(
322323
Map<String, List<String>> edges, Path manifestPath) {
323-
Operations.runProcessGetOutput(manifestPath.getParent(), "go", "mod", "download");
324+
Operations.runProcessGetOutput(manifestPath.getParent(), GO_BINARY, "mod", "download");
324325
String finalVersionsForAllModules =
325-
Operations.runProcessGetOutput(manifestPath.getParent(), "go", "list", "-m", "all");
326+
Operations.runProcessGetOutput(manifestPath.getParent(), GO_BINARY, "list", "-m", "all");
326327
Map<String, String> finalModulesVersions =
327328
Arrays.stream(finalVersionsForAllModules.split(System.lineSeparator()))
328329
.filter(string -> string.trim().split(" ").length == 2)

src/main/java/com/redhat/exhort/providers/JavaMavenProvider.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public final class JavaMavenProvider extends BaseJavaProvider {
5454
private static final String PROP_JAVA_HOME = "JAVA_HOME";
5555
private static final Logger log = LoggersFactory.getLogger(JavaMavenProvider.class.getName());
5656
private final String mvnExecutable;
57-
private static final String MVN = isWindows() ? "mvn.cmd" : "mvn";
57+
private static final String MVN = Operations.isWindows() ? "mvn.cmd" : "mvn";
5858
private static final String ARG_VERSION = "-v";
5959

6060
public JavaMavenProvider(Path manifest) {
@@ -423,13 +423,9 @@ public static String traverseForMvnw(
423423
public static String normalizePath(String thePath) {
424424
Path normalized = Paths.get(thePath).toAbsolutePath().normalize();
425425
String result = normalized.toString();
426-
if (isWindows()) {
426+
if (Operations.isWindows()) {
427427
result = result.toLowerCase();
428428
}
429429
return result;
430430
}
431-
432-
private static boolean isWindows() {
433-
return System.getProperty("os.name").toLowerCase().contains("win");
434-
}
435431
}

src/main/java/com/redhat/exhort/providers/JavaScriptYarnProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
public final class JavaScriptYarnProvider extends JavaScriptProvider {
3434

3535
public static final String LOCK_FILE = "yarn.lock";
36-
public static final String CMD_NAME = "yarn";
36+
public static final String CMD_NAME = Operations.isWindows() ? "yarn.cmd" : "yarn";
3737

3838
private static final Pattern versionPattern = Pattern.compile("^([0-9]+)\\.");
3939

src/main/java/com/redhat/exhort/tools/Operations.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,4 +349,8 @@ public static Optional<String> getGitRootDir(String cwd) {
349349
}
350350
return Optional.empty();
351351
}
352+
353+
public static boolean isWindows() {
354+
return System.getProperty("os.name").toLowerCase().contains("win");
355+
}
352356
}

0 commit comments

Comments
 (0)