Skip to content

Commit aa33063

Browse files
committed
fix linux path for flutter and add xz extractor
1 parent a712ffa commit aa33063

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

config/runtimes-installer.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,11 @@ func downloadAndExtractRuntime(runtimeInfo *plugins.RuntimeInfo) error {
128128

129129
if strings.HasSuffix(fileName, ".zip") {
130130
err = utils.ExtractZip(file.Name(), runtimesDir)
131+
} else if strings.HasSuffix(fileName, ".tar.xz") || strings.HasSuffix(fileName, ".txz") {
132+
err = utils.ExtractTarXz(file, runtimesDir)
131133
} else {
132134
err = utils.ExtractTarGz(file, runtimesDir)
133135
}
134-
135136
if err != nil {
136137
return fmt.Errorf("failed to extract runtime: %w", err)
137138
}

plugins/runtimes/flutter/plugin.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ name: flutter
22
description: Dart Flutterruntime
33
default_version: "3.7.2"
44
download:
5-
url_template: "https://storage.googleapis.com/flutter_infra_release/releases/stable/{{.OS}}/flutter_{{.OS}}_{{.Arch}}_{{.Version}}-stable.{{.Extension}}"
5+
url_template: "https://storage.googleapis.com/flutter_infra_release/releases/stable/{{.OS}}/flutter_{{.OS}}_{{.Version}}-stable.{{.Extension}}"
66
file_name_template: "flutter"
77
extension:
8-
default: "zip"
98
linux: "tar.xz"
9+
default: "zip"
1010
arch_mapping:
11-
"386": "ia32"
12-
"amd64": "x64"
11+
"386": ""
12+
"amd64": ""
1313
"arm": "arm"
1414
"arm64": "arm64"
1515
os_mapping:

plugins/shared.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
// ExtensionConfig defines the file extension based on OS
1010
type ExtensionConfig struct {
11+
Linux string `yaml:"linux"`
1112
Windows string `yaml:"windows"`
1213
Default string `yaml:"default"`
1314
}
@@ -80,6 +81,9 @@ func GetExtension(extension ExtensionConfig, goos string) string {
8081
if goos == "windows" {
8182
return extension.Windows
8283
}
84+
if goos == "linux" {
85+
return extension.Linux
86+
}
8387
return extension.Default
8488
}
8589

utils/extract.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,16 @@ import (
1414
)
1515

1616
func ExtractTarGz(archive *os.File, targetDir string) error {
17+
return ExtractTar(archive, targetDir, archiver.Gz{})
18+
}
19+
20+
func ExtractTarXz(archive *os.File, targetDir string) error {
21+
return ExtractTar(archive, targetDir, archiver.Xz{})
22+
}
23+
24+
func ExtractTar(archive *os.File, targetDir string, compression archiver.Compression) error {
1725
format := archiver.CompressedArchive{
18-
Compression: archiver.Gz{},
26+
Compression: compression,
1927
Archival: archiver.Tar{},
2028
}
2129

0 commit comments

Comments
 (0)