diff --git a/go.mod b/go.mod index b5b279b..669bfab 100644 --- a/go.mod +++ b/go.mod @@ -1,28 +1,29 @@ module gioui.org/cmd -go 1.23 +go 1.24.1 require ( - gioui.org v0.8.0 + gioui.org v0.8.1-0.20250424183133-e18db649912a github.com/akavel/rsrc v0.10.1 - github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 - github.com/chromedp/chromedp v0.5.2 - golang.org/x/image v0.18.0 - golang.org/x/sync v0.7.0 - golang.org/x/text v0.16.0 - golang.org/x/tools v0.23.0 + github.com/chromedp/cdproto v0.0.0-20250429231605-6ed5b53462d4 + github.com/chromedp/chromedp v0.13.6 + golang.org/x/image v0.25.0 + golang.org/x/sync v0.13.0 + golang.org/x/text v0.24.0 + golang.org/x/tools v0.31.0 ) require ( gioui.org/shader v1.0.8 // indirect - github.com/go-text/typesetting v0.2.1 // indirect - github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee // indirect - github.com/gobwas/pool v0.2.0 // indirect - github.com/gobwas/ws v1.0.2 // indirect - github.com/knq/sysutil v0.0.0-20191005231841-15668db23d08 // indirect - github.com/mailru/easyjson v0.7.0 // indirect - golang.org/x/exp v0.0.0-20240707233637-46b078467d37 // indirect - golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37 // indirect - golang.org/x/mod v0.19.0 // indirect - golang.org/x/sys v0.22.0 // indirect + github.com/chromedp/sysutil v1.1.0 // indirect + github.com/go-json-experiment/json v0.0.0-20250417205406-170dfdcf87d1 // indirect + github.com/go-text/typesetting v0.3.0 // indirect + github.com/gobwas/httphead v0.1.0 // indirect + github.com/gobwas/pool v0.2.1 // indirect + github.com/gobwas/ws v1.4.0 // indirect + github.com/google/go-cmp v0.7.0 // indirect + golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect + golang.org/x/exp/shiny v0.0.0-20250408133849-7e4ce0ab07d0 // indirect + golang.org/x/mod v0.24.0 // indirect + golang.org/x/sys v0.32.0 // indirect ) diff --git a/go.sum b/go.sum index bc2c6ae..ff0362a 100644 --- a/go.sum +++ b/go.sum @@ -1,44 +1,50 @@ eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d h1:ARo7NCVvN2NdhLlJE9xAbKweuI9L6UgfTbYb0YwPacY= eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA= -gioui.org v0.8.0 h1:QV5p5JvsmSmGiIXVYOKn6d9YDliTfjtLlVf5J+BZ9Pg= -gioui.org v0.8.0/go.mod h1:vEMmpxMOd/iwJhXvGVIzWEbxMWhnMQ9aByOGQdlQ8rc= +gioui.org v0.8.1-0.20250424183133-e18db649912a h1:hqcxAFkm5lKJlYvi9hkUvK0s0XcN2xGP5cRGZfbUVKU= +gioui.org v0.8.1-0.20250424183133-e18db649912a/go.mod h1:JnoLsqpYezue9ZRMG7E2hOXar1/oAE9ZFkiFfF4oULs= gioui.org/cpu v0.0.0-20210808092351-bfe733dd3334/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ= gioui.org/shader v1.0.8 h1:6ks0o/A+b0ne7RzEqRZK5f4Gboz2CfG+mVliciy6+qA= gioui.org/shader v1.0.8/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM= github.com/akavel/rsrc v0.10.1 h1:hCCPImjmFKVNGpeLZyTDRHEFC283DzyTXTo0cO0Rq9o= github.com/akavel/rsrc v0.10.1/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= -github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 h1:QD3KxSJ59L2lxG6MXBjNHxiQO2RmxTQ3XcK+wO44WOg= -github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g= -github.com/chromedp/chromedp v0.5.2 h1:W8xBXQuUnd2dZK0SN/lyVwsQM7KgW+kY5HGnntms194= -github.com/chromedp/chromedp v0.5.2/go.mod h1:rsTo/xRo23KZZwFmWk2Ui79rBaVRRATCjLzNQlOFSiA= -github.com/go-text/typesetting v0.2.1 h1:x0jMOGyO3d1qFAPI0j4GSsh7M0Q3Ypjzr4+CEVg82V8= -github.com/go-text/typesetting v0.2.1/go.mod h1:mTOxEwasOFpAMBjEQDhdWRckoLLeI/+qrQeBCTGEt6M= +github.com/chromedp/cdproto v0.0.0-20250429231605-6ed5b53462d4 h1:UZdrvid2JFwnvPlUSEFlE794XZL4Jmrj8fuxfcLECJE= +github.com/chromedp/cdproto v0.0.0-20250429231605-6ed5b53462d4/go.mod h1:NItd7aLkcfOA/dcMXvl8p1u+lQqioRMq/SqDp71Pb/k= +github.com/chromedp/chromedp v0.13.6 h1:xlNunMyzS5bu3r/QKrb3fzX6ow3WBQ6oao+J65PGZxk= +github.com/chromedp/chromedp v0.13.6/go.mod h1:h8GPP6ZtLMLsU8zFbTcb7ZDGCvCy8j/vRoFmRltQx9A= +github.com/chromedp/sysutil v1.1.0 h1:PUFNv5EcprjqXZD9nJb9b/c9ibAbxiYo4exNWZyipwM= +github.com/chromedp/sysutil v1.1.0/go.mod h1:WiThHUdltqCNKGc4gaU50XgYjwjYIhKWoHGPTUfWTJ8= +github.com/go-json-experiment/json v0.0.0-20250417205406-170dfdcf87d1 h1:+VexzzkMLb1tnvpuQdGT/DicIRW7MN8ozsXqBMgp0Hk= +github.com/go-json-experiment/json v0.0.0-20250417205406-170dfdcf87d1/go.mod h1:TiCD2a1pcmjd7YnhGH0f/zKNcCD06B029pHhzV23c2M= +github.com/go-text/typesetting v0.3.0 h1:OWCgYpp8njoxSRpwrdd1bQOxdjOXDj9Rqart9ML4iF4= +github.com/go-text/typesetting v0.3.0/go.mod h1:qjZLkhRgOEYMhU9eHBr3AR4sfnGJvOXNLt8yRAySFuY= github.com/go-text/typesetting-utils v0.0.0-20241103174707-87a29e9e6066 h1:qCuYC+94v2xrb1PoS4NIDe7DGYtLnU2wWiQe9a1B1c0= github.com/go-text/typesetting-utils v0.0.0-20241103174707-87a29e9e6066/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/knq/sysutil v0.0.0-20191005231841-15668db23d08 h1:V0an7KRw92wmJysvFvtqtKMAPmvS5O0jtB0nYo6t+gs= -github.com/knq/sysutil v0.0.0-20191005231841-15668db23d08/go.mod h1:dFWs1zEqDjFtnBXsd1vPOZaLsESovai349994nHx3e0= -github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -golang.org/x/exp v0.0.0-20240707233637-46b078467d37 h1:uLDX+AfeFCct3a2C7uIWBKMJIR3CJMhcgfrUAqjRK6w= -golang.org/x/exp v0.0.0-20240707233637-46b078467d37/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= -golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37 h1:SOSg7+sueresE4IbmmGM60GmlIys+zNX63d6/J4CMtU= -golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o= -golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= -golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= -golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= -golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg= -golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= +github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.4.0 h1:CTaoG1tojrh4ucGPcoJFiAQUAsEWekEWvLy7GsVNqGs= +github.com/gobwas/ws v1.4.0/go.mod h1:G3gNqMNtPppf5XUz7O4shetPpcZ1VJ7zt18dlUeakrc= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= +github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= +github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= +github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= +golang.org/x/exp/shiny v0.0.0-20250408133849-7e4ce0ab07d0 h1:tMSqXTK+AQdW3LpCbfatHSRPHeW6+2WuxaVQuHftn80= +golang.org/x/exp/shiny v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:ygj7T6vSGhhm/9yTpOQQNvuAUFziTH7RUiH74EoE2C8= +golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ= +golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= +golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= +golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= +golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= diff --git a/gogio/android_test.go b/gogio/android_test.go index e73386f..9bba8c7 100644 --- a/gogio/android_test.go +++ b/gogio/android_test.go @@ -121,7 +121,7 @@ func (d *AndroidTestDriver) tryUninstall() { } } -func (d *AndroidTestDriver) adb(args ...interface{}) []byte { +func (d *AndroidTestDriver) adb(args ...any) []byte { strs := []string{} for _, arg := range args { strs = append(strs, fmt.Sprint(arg)) diff --git a/gogio/androidbuild.go b/gogio/androidbuild.go index 870dada..caaf130 100644 --- a/gogio/androidbuild.go +++ b/gogio/androidbuild.go @@ -191,10 +191,7 @@ func compileAndroid(tmpDir string, tools *androidTools, bi *buildInfo) (err erro if err != nil { return err } - minSDK := 17 - if bi.minsdk > minSDK { - minSDK = bi.minsdk - } + minSDK := max(bi.minsdk, 17) tcRoot := filepath.Join(ndkRoot, "toolchains", "llvm", "prebuilt", archNDK()) var builds errgroup.Group for _, a := range bi.archs { @@ -213,7 +210,7 @@ func compileAndroid(tmpDir string, tools *androidTools, bi *buildInfo) (err erro } } archDir := filepath.Join(tmpDir, "jni", arch.jniArch) - if err := os.MkdirAll(archDir, 0755); err != nil { + if err := os.MkdirAll(archDir, 0o755); err != nil { return fmt.Errorf("failed to create %q: %v", archDir, err) } libFile := filepath.Join(archDir, "libgio.so") @@ -252,7 +249,7 @@ func compileAndroid(tmpDir string, tools *androidTools, bi *buildInfo) (err erro } if len(javaFiles) > 0 { classes := filepath.Join(tmpDir, "classes") - if err := os.MkdirAll(classes, 0755); err != nil { + if err := os.MkdirAll(classes, 0o755); err != nil { return err } javac := exec.Command( @@ -349,13 +346,10 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe }) classFiles = append(classFiles, extraJars...) dexDir := filepath.Join(tmpDir, "apk") - if err := os.MkdirAll(dexDir, 0755); err != nil { + if err := os.MkdirAll(dexDir, 0o755); err != nil { return err } - minSDK := 16 - if bi.minsdk > minSDK { - minSDK = bi.minsdk - } + minSDK := max(bi.minsdk, 16) // https://developer.android.com/distribute/best-practices/develop/target-sdk targetSDK := 33 if bi.targetsdk > 0 { @@ -387,7 +381,7 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe v21Dir := filepath.Join(resDir, "values-v21") v26mipmapDir := filepath.Join(resDir, `mipmap-anydpi-v26`) for _, dir := range []string{valDir, v21Dir, v26mipmapDir} { - if err := os.MkdirAll(dir, 0755); err != nil { + if err := os.MkdirAll(dir, 0o755); err != nil { return err } } @@ -411,17 +405,17 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe -`), 0660) +`), 0o660) if err != nil { return err } iconSnip = `android:icon="@mipmap/ic_launcher"` } - err = os.WriteFile(filepath.Join(valDir, "themes.xml"), []byte(themes), 0660) + err = os.WriteFile(filepath.Join(valDir, "themes.xml"), []byte(themes), 0o660) if err != nil { return err } - err = os.WriteFile(filepath.Join(v21Dir, "themes.xml"), []byte(themesV21), 0660) + err = os.WriteFile(filepath.Join(v21Dir, "themes.xml"), []byte(themesV21), 0o660) if err != nil { return err } @@ -477,7 +471,7 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe return err } manifest := filepath.Join(tmpDir, "AndroidManifest.xml") - if err := os.WriteFile(manifest, manifestBuffer.Bytes(), 0660); err != nil { + if err := os.WriteFile(manifest, manifestBuffer.Bytes(), 0o660); err != nil { return err } @@ -679,7 +673,7 @@ func signAAB(tmpDir string, aabFile string, tools *androidTools, bi *buildInfo) } var alias string - for _, t := range strings.Split(keytoolList, "\n") { + for t := range strings.SplitSeq(keytoolList, "\n") { if i, _ := fmt.Sscanf(t, "Alias name: %s", &alias); i > 0 { break } diff --git a/gogio/build_info.go b/gogio/build_info.go index cbdb7fe..e3f4175 100644 --- a/gogio/build_info.go +++ b/gogio/build_info.go @@ -180,7 +180,7 @@ func getAppID(pkgMetadata *packageMetadata) string { name = "." + domain[0] domain[0] = "localhost" } else { - for i := 0; i < len(domain)/2; i++ { + for i := range len(domain) / 2 { opp := len(domain) - 1 - i domain[i], domain[opp] = domain[opp], domain[i] } diff --git a/gogio/internal/custom/testdata.go b/gogio/internal/custom/testdata.go index 5a17448..d40d427 100644 --- a/gogio/internal/custom/testdata.go +++ b/gogio/internal/custom/testdata.go @@ -353,19 +353,16 @@ func (w *quarterWidget) Layout(gtx layout.Context) layout.Dimensions { Max: image.Pt(gtx.Constraints.Max.X, gtx.Constraints.Max.Y), }).Push(gtx.Ops).Pop() event.Op(gtx.Ops, w) - for { - e, ok := gtx.Event(pointer.Filter{ - Target: w, - Kinds: pointer.Press, - }) - if !ok { - break - } + for e := range gtx.Events(pointer.Filter{ + Target: w, + Kinds: pointer.Press, + }) { if e, ok := e.(pointer.Event); ok && e.Kind == pointer.Press { w.clicked = !w.clicked // notify when we're done updating the frame. notify = notifyInvalidate } } + return layout.Dimensions{Size: gtx.Constraints.Max} } diff --git a/gogio/internal/normal/testdata.go b/gogio/internal/normal/testdata.go index a78f884..27b1b34 100644 --- a/gogio/internal/normal/testdata.go +++ b/gogio/internal/normal/testdata.go @@ -132,11 +132,7 @@ func (w *quarterWidget) Layout(gtx layout.Context) layout.Dimensions { Kinds: pointer.Press, } - for { - e, ok := gtx.Event(filter) - if !ok { - break - } + for e := range gtx.Events(filter) { if e, ok := e.(pointer.Event); ok && e.Kind == pointer.Press { w.clicked = !w.clicked // notify when we're done updating the frame. diff --git a/gogio/iosbuild.go b/gogio/iosbuild.go index 1126cd5..00594f0 100644 --- a/gogio/iosbuild.go +++ b/gogio/iosbuild.go @@ -12,6 +12,7 @@ import ( "os" "os/exec" "path/filepath" + "slices" "strconv" "strings" "time" @@ -56,7 +57,7 @@ func buildIOS(tmpDir, target string, bi *buildInfo) error { } } - bi.archs = append(bi.archs[:i], bi.archs[i+1:]...) + bi.archs = slices.Delete(bi.archs, i, i+1) } if !forDevice && !strings.HasSuffix(out, ".app") { return fmt.Errorf("the specified output directory %q does not end in .app or .ipa", out) @@ -66,7 +67,7 @@ func buildIOS(tmpDir, target string, bi *buildInfo) error { } payload := filepath.Join(tmpDir, "Payload") appDir := filepath.Join(payload, appName+".app") - if err := os.MkdirAll(appDir, 0755); err != nil { + if err := os.MkdirAll(appDir, 0o755); err != nil { return err } if err := exeIOS(tmpDir, target, appDir, bi); err != nil { @@ -139,7 +140,7 @@ func signIOS(bi *buildInfo, tmpDir, app string) error { return err } entFile := filepath.Join(tmpDir, "entitlements.plist") - if err := os.WriteFile(entFile, []byte(entitlements), 0660); err != nil { + if err := os.WriteFile(entFile, []byte(entitlements), 0o660); err != nil { return err } identity := sha1.Sum(certDER) @@ -157,7 +158,7 @@ func exeIOS(tmpDir, target, app string, bi *buildInfo) error { if err := os.RemoveAll(app); err != nil { return err } - if err := os.Mkdir(app, 0755); err != nil { + if err := os.Mkdir(app, 0o755); err != nil { return err } appName := UppercaseName(bi.name) @@ -205,7 +206,7 @@ func exeIOS(tmpDir, target, app string, bi *buildInfo) error { } infoPlist := buildInfoPlist(bi) plistFile := filepath.Join(app, "Info.plist") - if err := os.WriteFile(plistFile, []byte(infoPlist), 0660); err != nil { + if err := os.WriteFile(plistFile, []byte(infoPlist), 0o660); err != nil { return err } if _, err := os.Stat(bi.iconPath); err == nil { @@ -233,7 +234,7 @@ func exeIOS(tmpDir, target, app string, bi *buildInfo) error { // iosIcons returns the asset plist file to be merged into Info.plist. func iosIcons(bi *buildInfo, tmpDir, appDir, icon string) (string, error) { assets := filepath.Join(tmpDir, "Assets.xcassets") - if err := os.Mkdir(assets, 0700); err != nil { + if err := os.Mkdir(assets, 0o700); err != nil { return "", err } appIcon := filepath.Join(assets, "AppIcon.appiconset") @@ -270,7 +271,7 @@ func iosIcons(bi *buildInfo, tmpDir, appDir, icon string) (string, error) { ] }` contentFile := filepath.Join(appIcon, "Contents.json") - if err := os.WriteFile(contentFile, []byte(contentJson), 0600); err != nil { + if err := os.WriteFile(contentFile, []byte(contentJson), 0o600); err != nil { return "", err } assetPlist := filepath.Join(tmpDir, "assets.plist") @@ -386,7 +387,7 @@ func archiveIOS(tmpDir, target, frameworkRoot string, bi *buildInfo) error { frameworkDir := filepath.Join(frameworkRoot, "Versions", "A") for _, dir := range []string{"Headers", "Modules"} { p := filepath.Join(frameworkDir, dir) - if err := os.MkdirAll(p, 0755); err != nil { + if err := os.MkdirAll(p, 0o755); err != nil { return err } } @@ -457,7 +458,7 @@ func archiveIOS(tmpDir, target, frameworkRoot string, bi *buildInfo) error { export * }`, framework) moduleFile := filepath.Join(frameworkDir, "Modules", "module.modulemap") - return os.WriteFile(moduleFile, []byte(module), 0644) + return os.WriteFile(moduleFile, []byte(module), 0o644) } func iosCompilerFor(target, arch string, minsdk int) (string, []string, error) { diff --git a/gogio/js_test.go b/gogio/js_test.go index dedb070..f322ab7 100644 --- a/gogio/js_test.go +++ b/gogio/js_test.go @@ -61,7 +61,7 @@ func (d *JSTestDriver) Start(path string) { pr, pw := io.Pipe() d.Cleanup(func() { pw.Close() }) d.output = pr - chromedp.ListenTarget(ctx, func(ev interface{}) { + chromedp.ListenTarget(ctx, func(ev any) { switch ev := ev.(type) { case *runtime.EventConsoleAPICalled: switch ev.Type { diff --git a/gogio/jsbuild.go b/gogio/jsbuild.go index 2b24fcf..b63502c 100644 --- a/gogio/jsbuild.go +++ b/gogio/jsbuild.go @@ -20,7 +20,7 @@ func buildJS(bi *buildInfo) error { if out == "" { out = bi.name } - if err := os.MkdirAll(out, 0700); err != nil { + if err := os.MkdirAll(out, 0o700); err != nil { return err } cmd := exec.Command( @@ -48,7 +48,7 @@ func buildJS(bi *buildInfo) error { if err != nil { return err } - if err := os.WriteFile(filepath.Join(out, filepath.Base(bi.iconPath)), icon, 0600); err != nil { + if err := os.WriteFile(filepath.Join(out, filepath.Base(bi.iconPath)), icon, 0o600); err != nil { return err } faviconPath = filepath.Base(bi.iconPath) @@ -70,7 +70,7 @@ func buildJS(bi *buildInfo) error { return err } - if err := os.WriteFile(filepath.Join(out, "index.html"), b.Bytes(), 0600); err != nil { + if err := os.WriteFile(filepath.Join(out, "index.html"), b.Bytes(), 0o600); err != nil { return err } diff --git a/gogio/macosbuild.go b/gogio/macosbuild.go index 88e9463..c77f350 100644 --- a/gogio/macosbuild.go +++ b/gogio/macosbuild.go @@ -89,7 +89,7 @@ func (b *macBuilder) setIcon(path string) (err error) { } out := filepath.Join(b.TempDir, "iconset.iconset") - if err := os.MkdirAll(out, 0777); err != nil { + if err := os.MkdirAll(out, 0o777); err != nil { return err } @@ -107,7 +107,6 @@ func (b *macBuilder) setIcon(path string) (err error) { {path: "icon_16x16@2x.png", size: 32}, {path: "icon_16x16.png", size: 16}, }) - if err != nil { return err } @@ -171,18 +170,18 @@ func (b *macBuilder) setInfo(buildInfo *buildInfo, name string) error { func (b *macBuilder) buildProgram(buildInfo *buildInfo, binDest string, name string, arch string) error { for _, path := range []string{"/Contents/MacOS", "/Contents/Resources"} { - if err := os.MkdirAll(filepath.Join(binDest, path), 0755); err != nil { + if err := os.MkdirAll(filepath.Join(binDest, path), 0o755); err != nil { return err } } if len(b.Icons) > 0 { - if err := os.WriteFile(filepath.Join(binDest, "/Contents/Resources/icon.icns"), b.Icons, 0755); err != nil { + if err := os.WriteFile(filepath.Join(binDest, "/Contents/Resources/icon.icns"), b.Icons, 0o755); err != nil { return err } } - if err := os.WriteFile(filepath.Join(binDest, "/Contents/Info.plist"), b.Manifest, 0755); err != nil { + if err := os.WriteFile(filepath.Join(binDest, "/Contents/Info.plist"), b.Manifest, 0o755); err != nil { return err } @@ -206,7 +205,7 @@ func (b *macBuilder) buildProgram(buildInfo *buildInfo, binDest string, name str func (b *macBuilder) signProgram(buildInfo *buildInfo, binDest string, name string, arch string) error { options := filepath.Join(b.TempDir, "ent.ent") - if err := os.WriteFile(options, b.Entitlements, 0777); err != nil { + if err := os.WriteFile(options, b.Entitlements, 0o777); err != nil { return err } diff --git a/gogio/main.go b/gogio/main.go index 9917918..5945250 100644 --- a/gogio/main.go +++ b/gogio/main.go @@ -199,7 +199,7 @@ func buildIcons(baseDir, icon string, variants []iconVariant) error { v := v resizes.Go(func() (err error) { path := filepath.Join(baseDir, v.path) - if err := os.MkdirAll(filepath.Dir(path), 0700); err != nil { + if err := os.MkdirAll(filepath.Dir(path), 0o700); err != nil { return err } f, err := os.Create(path) diff --git a/gogio/wayland_test.go b/gogio/wayland_test.go index df10410..c1adbba 100644 --- a/gogio/wayland_test.go +++ b/gogio/wayland_test.go @@ -174,7 +174,7 @@ func (d *WaylandTestDriver) Screenshot() image.Image { return img } -func (d *WaylandTestDriver) swaymsg(args ...interface{}) { +func (d *WaylandTestDriver) swaymsg(args ...any) { strs := []string{"--socket", d.socket} for _, arg := range args { strs = append(strs, fmt.Sprint(arg)) diff --git a/gogio/windowsbuild.go b/gogio/windowsbuild.go index c867e03..af93bb2 100644 --- a/gogio/windowsbuild.go +++ b/gogio/windowsbuild.go @@ -358,7 +358,7 @@ const ( valueText uint16 = 1 ) -func newValue(valueType uint16, key string, input interface{}) windowsInfoValue { +func newValue(valueType uint16, key string, input any) windowsInfoValue { v := windowsInfoValue{ Type: valueType, Length: 6, diff --git a/gogio/x11_test.go b/gogio/x11_test.go index 9bb3174..7d7f6d8 100644 --- a/gogio/x11_test.go +++ b/gogio/x11_test.go @@ -145,7 +145,7 @@ func (d *X11TestDriver) Screenshot() image.Image { return img } -func (d *X11TestDriver) xdotool(args ...interface{}) string { +func (d *X11TestDriver) xdotool(args ...any) string { d.Helper() strs := make([]string, len(args)) for i, arg := range args { diff --git a/svg2gio/main.go b/svg2gio/main.go index 81a0227..484c5a3 100644 --- a/svg2gio/main.go +++ b/svg2gio/main.go @@ -10,6 +10,7 @@ import ( "errors" "flag" "fmt" + "go/format" "io" "os" "path/filepath" @@ -17,8 +18,6 @@ import ( "strings" "unicode" - "go/format" - "gioui.org/f32" )