From 7a117566caa11eac8cb435df1d560806e4cf70a6 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 9 Jan 2024 14:51:45 -0500 Subject: [PATCH] gogio: replace deprecated calls Signed-off-by: Elias Naur --- gogio/androidbuild.go | 15 +++++++-------- gogio/build_info.go | 8 ++++++++ gogio/e2e_test.go | 3 +-- gogio/iosbuild.go | 17 ++++++++--------- gogio/jsbuild.go | 7 +++---- gogio/main.go | 3 +-- 6 files changed, 28 insertions(+), 25 deletions(-) diff --git a/gogio/androidbuild.go b/gogio/androidbuild.go index 1031c27..098181e 100644 --- a/gogio/androidbuild.go +++ b/gogio/androidbuild.go @@ -8,7 +8,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -405,7 +404,7 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe if err != nil { return err } - err = ioutil.WriteFile(filepath.Join(v26mipmapDir, `ic_launcher.xml`), []byte(` + err = os.WriteFile(filepath.Join(v26mipmapDir, `ic_launcher.xml`), []byte(` @@ -415,11 +414,11 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe } iconSnip = `android:icon="@mipmap/ic_launcher"` } - err = ioutil.WriteFile(filepath.Join(valDir, "themes.xml"), []byte(themes), 0660) + err = os.WriteFile(filepath.Join(valDir, "themes.xml"), []byte(themes), 0660) if err != nil { return err } - err = ioutil.WriteFile(filepath.Join(v21Dir, "themes.xml"), []byte(themesV21), 0660) + err = os.WriteFile(filepath.Join(v21Dir, "themes.xml"), []byte(themesV21), 0660) if err != nil { return err } @@ -436,7 +435,7 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe // Link APK. permissions, features := getPermissions(perms) - appName := strings.Title(bi.name) + appName := UppercaseName(bi.name) manifestSrc := manifestData{ AppID: bi.appID, Version: bi.version, @@ -475,7 +474,7 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe return err } manifest := filepath.Join(tmpDir, "AndroidManifest.xml") - if err := ioutil.WriteFile(manifest, manifestBuffer.Bytes(), 0660); err != nil { + if err := os.WriteFile(manifest, manifestBuffer.Bytes(), 0660); err != nil { return err } @@ -991,12 +990,12 @@ func (z *zipWriter) Close() error { func (z *zipWriter) Create(name string) io.Writer { if z.err != nil { - return ioutil.Discard + return io.Discard } w, err := z.w.Create(name) if err != nil { z.err = err - return ioutil.Discard + return io.Discard } return &errWriter{w: w, err: &z.err} } diff --git a/gogio/build_info.go b/gogio/build_info.go index b9f0163..b3d4f99 100644 --- a/gogio/build_info.go +++ b/gogio/build_info.go @@ -9,6 +9,8 @@ import ( "path/filepath" "runtime" "strings" + "unicode" + "unicode/utf8" ) type buildInfo struct { @@ -74,6 +76,12 @@ func newBuildInfo(pkgPath string) (*buildInfo, error) { return bi, nil } +// UppercaseName returns a string with its first rune in uppercase. +func UppercaseName(name string) string { + ch, w := utf8.DecodeRuneInString(name) + return string(unicode.ToUpper(ch)) + name[w:] +} + func (s Semver) String() string { return fmt.Sprintf("%d.%d.%d", s.Major, s.Minor, s.Patch) } diff --git a/gogio/e2e_test.go b/gogio/e2e_test.go index bd42988..46eee7f 100644 --- a/gogio/e2e_test.go +++ b/gogio/e2e_test.go @@ -10,7 +10,6 @@ import ( "image" "image/color" "io" - "io/ioutil" "os" "os/exec" "runtime" @@ -316,7 +315,7 @@ func (d *driverBase) needPrograms(names ...string) { func (d *driverBase) tempDir(name string) string { d.Helper() - dir, err := ioutil.TempDir("", name) + dir, err := os.MkdirTemp("", name) if err != nil { d.Fatal(err) } diff --git a/gogio/iosbuild.go b/gogio/iosbuild.go index 92d759c..d014f33 100644 --- a/gogio/iosbuild.go +++ b/gogio/iosbuild.go @@ -9,7 +9,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -33,7 +32,7 @@ func buildIOS(tmpDir, target string, bi *buildInfo) error { case "archive": framework := *destPath if framework == "" { - framework = fmt.Sprintf("%s.framework", strings.Title(appName)) + framework = fmt.Sprintf("%s.framework", UppercaseName(appName)) } return archiveIOS(tmpDir, target, framework, bi) case "exe": @@ -142,7 +141,7 @@ func signIOS(bi *buildInfo, tmpDir, app string) error { return err } entFile := filepath.Join(tmpDir, "entitlements.plist") - if err := ioutil.WriteFile(entFile, []byte(entitlements), 0660); err != nil { + if err := os.WriteFile(entFile, []byte(entitlements), 0660); err != nil { return err } identity := sha1.Sum(certDER) @@ -186,10 +185,10 @@ int main(int argc, char * argv[]) { return UIApplicationMain(argc, argv, nil, NSStringFromClass([GioAppDelegate class])); } }` - if err := ioutil.WriteFile(mainm, []byte(mainmSrc), 0660); err != nil { + if err := os.WriteFile(mainm, []byte(mainmSrc), 0660); err != nil { return err } - appName := strings.Title(bi.name) + appName := UppercaseName(bi.name) exe := filepath.Join(app, appName) lipo := exec.Command("xcrun", "lipo", "-o", exe, "-create") var builds errgroup.Group @@ -223,7 +222,7 @@ int main(int argc, char * argv[]) { } infoPlist := buildInfoPlist(bi) plistFile := filepath.Join(app, "Info.plist") - if err := ioutil.WriteFile(plistFile, []byte(infoPlist), 0660); err != nil { + if err := os.WriteFile(plistFile, []byte(infoPlist), 0660); err != nil { return err } if _, err := os.Stat(bi.iconPath); err == nil { @@ -288,7 +287,7 @@ func iosIcons(bi *buildInfo, tmpDir, appDir, icon string) (string, error) { ] }` contentFile := filepath.Join(appIcon, "Contents.json") - if err := ioutil.WriteFile(contentFile, []byte(contentJson), 0600); err != nil { + if err := os.WriteFile(contentFile, []byte(contentJson), 0600); err != nil { return "", err } assetPlist := filepath.Join(tmpDir, "assets.plist") @@ -310,7 +309,7 @@ func iosIcons(bi *buildInfo, tmpDir, appDir, icon string) (string, error) { } func buildInfoPlist(bi *buildInfo) string { - appName := strings.Title(bi.name) + appName := UppercaseName(bi.name) platform := iosPlatformFor(bi.target) var supportPlatform string switch bi.target { @@ -475,7 +474,7 @@ func archiveIOS(tmpDir, target, frameworkRoot string, bi *buildInfo) error { export * }`, framework) moduleFile := filepath.Join(frameworkDir, "Modules", "module.modulemap") - return ioutil.WriteFile(moduleFile, []byte(module), 0644) + return os.WriteFile(moduleFile, []byte(module), 0644) } func iosCompilerFor(target, arch string, minsdk int) (string, []string, error) { diff --git a/gogio/jsbuild.go b/gogio/jsbuild.go index ba59a99..b99f048 100644 --- a/gogio/jsbuild.go +++ b/gogio/jsbuild.go @@ -6,7 +6,6 @@ import ( "bytes" "fmt" "io" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -45,11 +44,11 @@ func buildJS(bi *buildInfo) error { var faviconPath string if _, err := os.Stat(bi.iconPath); err == nil { // Copy icon to the output folder - icon, err := ioutil.ReadFile(bi.iconPath) + icon, err := os.ReadFile(bi.iconPath) if err != nil { return err } - if err := ioutil.WriteFile(filepath.Join(out, filepath.Base(bi.iconPath)), icon, 0600); err != nil { + if err := os.WriteFile(filepath.Join(out, filepath.Base(bi.iconPath)), icon, 0600); err != nil { return err } faviconPath = filepath.Base(bi.iconPath) @@ -71,7 +70,7 @@ func buildJS(bi *buildInfo) error { return err } - if err := ioutil.WriteFile(filepath.Join(out, "index.html"), b.Bytes(), 0600); err != nil { + if err := os.WriteFile(filepath.Join(out, "index.html"), b.Bytes(), 0600); err != nil { return err } diff --git a/gogio/main.go b/gogio/main.go index 0218360..bd6759a 100644 --- a/gogio/main.go +++ b/gogio/main.go @@ -11,7 +11,6 @@ import ( "image/color" "image/png" "io" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -86,7 +85,7 @@ func flagValidate() error { } func build(bi *buildInfo) error { - tmpDir, err := ioutil.TempDir("", "gogio-") + tmpDir, err := os.MkdirTemp("", "gogio-") if err != nil { return err }