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
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]
|
|
}
|
|
}
|