@@ -2,37 +2,45 @@ package com.coder.gateway.sdk
2
2
3
3
import java.net.URL
4
4
import java.nio.file.Path
5
+ import java.util.logging.Logger
5
6
6
7
class CoderCLIManager (private val url : URL ) {
7
8
private val coderCLIDownloader = CoderCLIDownloader ()
8
9
9
10
fun download (): Path ? {
10
11
val os = getOS()
11
12
val cliName = getCoderCLIForOS(os, getArch()) ? : return null
13
+ logger.info(" Resolved OS: $os with arch: ${getArch()} " )
12
14
val cliNameWitExt = if (os == OS .WINDOWS ) " $cliName .exe" else cliName
13
15
return coderCLIDownloader.downloadCLI(URL (url.protocol, url.host, url.port, " /bin/$cliNameWitExt " ), cliName, if (os == OS .WINDOWS ) " .exe" else " " )
14
16
}
15
17
16
18
fun getCoderCLIForOS (os : OS ? , arch : Arch ? ): String? {
17
- if (os == null || arch == null ) {
19
+ logger.info(" Resolving coder cli for $os $arch " )
20
+ if (os == null ) {
18
21
return null
19
22
}
20
23
return when (os) {
21
24
OS .WINDOWS -> when (arch) {
22
25
Arch .amd64 -> " coder-windows-amd64"
23
26
Arch .arm64 -> " coder-windows-arm64"
24
- else -> null
27
+ else -> " coder-windows-amd64 "
25
28
}
26
29
OS .LINUX -> when (arch) {
27
30
Arch .amd64 -> " coder-linux-amd64"
28
31
Arch .arm64 -> " coder-linux-arm64"
29
32
Arch .armv7 -> " coder-linux-armv7"
33
+ else -> " coder-linux-amd64"
30
34
}
31
35
OS .MAC -> when (arch) {
32
36
Arch .amd64 -> " coder-darwin-amd64"
33
37
Arch .arm64 -> " coder-darwin-arm64"
34
- else -> null
38
+ else -> " coder-darwin-amd64 "
35
39
}
36
40
}
37
41
}
42
+
43
+ companion object {
44
+ val logger = Logger .getLogger(CoderCLIManager ::class .java.simpleName)
45
+ }
38
46
}
0 commit comments