mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-13 10:17:58 +02:00
Le renommage des dossiers avait ete repercute dans release.yml mais pas dans ci.yml, qui compilait encore ./cmd/jean : les deux jobs echouaient. Une occurrence trainait aussi dans mac-build.yml (cmd/jean/icon.ico), que le remplacement precedent n'avait attrapee que pour icon.png. Un cas n'etait pas qu'un commentaire : tools/assemble-ui utilisait "internal/jean/ui" comme chemin par defaut. La directive go:generate passe le dossier en argument, donc la generation fonctionnait, mais l'invocation directe documentee dans son propre en-tete (go run ./tools/assemble-ui) aurait echoue. Le reste etait des commentaires designant les anciens chemins, corriges pour que le depot ne mente plus sur sa propre structure. Job ci rejoue en entier en local : gofmt, vet, build, tests et les quatre cross-compilations de release.
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
// gen-icon écrit cmd/ajean/icon.ico à partir de l'icône de marque dessinée dans
|
|
// internal/ajean (sys_brand_icon.go), pour que l'icône du .exe soit toujours la
|
|
// même que le favicon de l'UI et que celle de la zone de notification.
|
|
//
|
|
// Lancé par `go generate ./cmd/ajean`, AVANT goversioninfo qui embarque le .ico
|
|
// dans les ressources Windows.
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/nathaninline/ajean/internal/ajean"
|
|
)
|
|
|
|
func main() {
|
|
out := "icon.ico"
|
|
if len(os.Args) > 1 {
|
|
out = os.Args[1]
|
|
}
|
|
// Les tailles attendues par l'explorateur Windows, de la barre des tâches à
|
|
// l'aperçu en grandes icônes.
|
|
write(out, ajean.BrandICO(16, 32, 48, 64, 128, 256))
|
|
|
|
// PNG 1024 pour le bundle macOS : la CI en tire le .icns via sips/iconutil.
|
|
// Elle partait auparavant du .ico, ce qui suppose que sips sache lire un ICO —
|
|
// et l'échec y est masqué par « || true », donc une app Mac sans icône passait
|
|
// inaperçue. Un PNG ne laisse aucune place au doute.
|
|
write(strings.TrimSuffix(out, ".ico")+".png", ajean.BrandIconPNG(1024))
|
|
}
|
|
|
|
func write(path string, data []byte) {
|
|
if err := os.WriteFile(path, data, 0o644); err != nil {
|
|
fmt.Fprintln(os.Stderr, "gen-icon:", err)
|
|
os.Exit(1)
|
|
}
|
|
fmt.Println("OK ->", path)
|
|
}
|