Cabeçalho do índice de posts

Post arquivado

@augustocc@social.br-linux.org
avatar
@augustocc@social.br-linux.org
https://social.br-linux.org/@augustocc/114377341865823687

Um momento massa de desenvolver uma biblioteca de uso geral é o chamado dogfooding, quando ela começa a ter funcionalidade suficiente pra ser usada no seu próprio ecossistema.

No caso da minha libtrilux, cheguei ao ponto em que ela mesma começa a prover o tratamento de parâmetros, a ajuda online e outros detalhes dos scripts que apoiam o desenvolvimento dela mesma.

Na imagem em laranja, você vê o script de deploy, tratando parâmetros e exibindo sua ajuda. Na azul, o código correspondente.

Imagem com fundo laranja mostrando uma janela do terminal contendo prompts, o comando ‘./deploy.sh -h’ e a resposta:<br><br>Usage:                                                                                     <br><br>deploy.sh parâmetros<br><br>Este script copia a versão de desenvolvimento da libtrilux para o ~/bin (renomeando-a <br>para libtrilux.sh) e, opcionalmente, copia também para lá a biblioteca de utilitários do  <br>diretório utils.<br><br>Opções:<br>\t-h exibe esta mensagem de ajuda <br>\t-l copia apenas a biblioteca, sem os utilitários. <br>\t-u copia apenas os utilitários, sem a biblioteca.
Imagem com fundo laranja mostrando uma janela do terminal contendo prompts, o comando ‘./deploy.sh -h’ e a resposta:

Usage:

deploy.sh parâmetros

Este script copia a versão de desenvolvimento da libtrilux para o ~/bin (renomeando-a
para libtrilux.sh) e, opcionalmente, copia também para lá a biblioteca de utilitários do
diretório utils.

Opções:
\t-h exibe esta mensagem de ajuda
\t-l copia apenas a biblioteca, sem os utilitários.
\t-u copia apenas os utilitários, sem a biblioteca.
Imagem com fundo azul, mostrando o editor de texto BBEdit, com o arquivo deploy.sh aberto, onde pode ser visto o texto a seguir, correspondente ao seu cabeçalho:<br><br>#!/usr/bin/env bash<br>#<br># deploy.sh - move a libtrilux-devel (e seus utilitários) para o contexto de produção<br>#<br># Copyright (c) 2025,  Augusto Campos (https://augustocampos.net/).<br># Licensed under the Apache License, Version 2.0.<br>#<br><br>cd `dirname “$0“`<br>. libtrilux-devel.sh<br><br>USAGE=“$…”<br><br>eval `mygetopts “hlu“ options “$@“`<br><br>[ “${options[h]}“ = “h“ ] && usage ; exit 0<br><br># seguem as rotinas de negócio do script<br>
Imagem com fundo azul, mostrando o editor de texto BBEdit, com o arquivo deploy.sh aberto, onde pode ser visto o texto a seguir, correspondente ao seu cabeçalho:

#!/usr/bin/env bash
#
# deploy.sh - move a libtrilux-devel (e seus utilitários) para o contexto de produção
#
# Copyright (c) 2025, Augusto Campos (https://augustocampos.net/).
# Licensed under the Apache License, Version 2.0.
#

cd `dirname “$0“`
. libtrilux-devel.sh

USAGE=“$…”

eval `mygetopts “hlu“ options “$@“`

[ “${options[h]}“ = “h“ ] && usage ; exit 0

# seguem as rotinas de negócio do script
21/04/2025 15:22:13 ♥︎ 7 ↺ 0

Thread deste post

avatar
@augustocc@social.br-linux.org
https://social.br-linux.org/@augustocc/114377381330103330
Em resposta a @augustocc/statuses/114377341865823687.

E quando eu rodo esse mesmo script de deploy, ele também usa alguns recursos da biblioteca pra montar a interface com o usuário, entre outros detalhes.

Tela com fundo roxo, mostrando uma janela de terminal na qual está visível o comando ‘./deploy.sh’ e a sua saída: <br><br>ℹ️  Copiando a biblioteca<br>[  OK  ] Copy libtrilux-devel.sh to /Users/augusto/bin/libtrilux.sh<br><br>ℹ️  Copiando a coleção de utilitários<br>/Users/augusto/Dropbox/devel/libtrilux/utils<br>[  OK  ] Copy ffmpeg-front to /Users/augusto/bin<br>[  OK  ] Copy mv2homebin.sh to /Users/augusto/bin<br>[  OK  ] Copy p8.sh to /Users/augusto/bin<br>[  OK  ] Copy plex-downres-720.sh to /Users/augusto/bin<br>[  OK  ] Copy plex-subsrename.sh to /Users/augusto/bin<br>[  OK  ] Copy touchmod.sh to /Users/augusto/bin<br>
Tela com fundo roxo, mostrando uma janela de terminal na qual está visível o comando ‘./deploy.sh’ e a sua saída:

ℹ️ Copiando a biblioteca
[ OK ] Copy libtrilux-devel.sh to /Users/augusto/bin/libtrilux.sh

ℹ️ Copiando a coleção de utilitários
/Users/augusto/Dropbox/devel/libtrilux/utils
[ OK ] Copy ffmpeg-front to /Users/augusto/bin
[ OK ] Copy mv2homebin.sh to /Users/augusto/bin
[ OK ] Copy p8.sh to /Users/augusto/bin
[ OK ] Copy plex-downres-720.sh to /Users/augusto/bin
[ OK ] Copy plex-subsrename.sh to /Users/augusto/bin
[ OK ] Copy touchmod.sh to /Users/augusto/bin
21/04/2025 15:32:15 ♥︎ 0 ↺ 0
Posts