You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
2 years ago
|
package collector
|
||
|
|
||
|
import "strings"
|
||
|
|
||
|
type Collector struct {
|
||
|
Version string
|
||
|
Windows_X64 *Op_Item
|
||
|
Linux_X64 *Op_Item
|
||
|
Linux_AArch64 *Op_Item
|
||
|
Mac_X64 *Op_Item
|
||
|
Mac_AArch64 *Op_Item
|
||
|
}
|
||
|
|
||
|
type Op_Item struct {
|
||
|
FileType string
|
||
|
Arch string
|
||
|
Url string
|
||
|
Sha256Url string
|
||
|
FileName string
|
||
|
}
|
||
|
|
||
|
var Collectors []*Collector
|
||
|
|
||
|
var Collector_Archive_Url string = Collector_Url + "/archive/"
|
||
|
var Collector_Url string = "https://jdk.java.net"
|
||
|
|
||
|
func build_Op_Item(file_type, arch, download_url, sha256_url, file_name string) *Op_Item {
|
||
|
return &Op_Item{
|
||
|
FileType: file_type,
|
||
|
Arch: "x64",
|
||
|
Url: download_url,
|
||
|
Sha256Url: sha256_url,
|
||
|
FileName: file_name,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func getFileNameByDownLoadUrl(url string) string {
|
||
|
downloads := strings.Split(url, "/")
|
||
|
file_name := downloads[len(downloads)-1]
|
||
|
return file_name
|
||
|
}
|
||
|
func getFileTypeByFileName(filename string) string {
|
||
|
filenames := strings.Split(filename, ".")
|
||
|
switch filenames[len(filenames)-1] {
|
||
|
case "zip":
|
||
|
return "zip"
|
||
|
case "gz":
|
||
|
return "tar.gz"
|
||
|
default:
|
||
|
return filenames[len(filenames)-1]
|
||
|
}
|
||
|
}
|