Mint para Swift
Se você desenvolve com a linguagem de programação Swift, provavelmente já precisou instalar ferramentas como o SwiftLint, XcodeGen, Sourcery ou Tuist.
Normalmente isso é feito via Homebrew ou manualmente, o que pode gerar problemas de versão, conflitos entre projetos e dificuldades no CI/CD.
É exatamente aí que entra o Mint: um package manager focado em instalar e executar ferramentas de linha de comando escritas em Swift.
O que é o Mint?
O Mint é uma ferramenta criada para instalar e executar pacotes Swift executáveis usando o Swift Package Manager (SPM).
Com ele, você consegue:
- Instalar ferramentas Swift rapidamente.
- Utilizar versões específicas de uma ferramenta.
- Compartilhar configurações entre equipes.
- Evitar conflitos globais no sistema.
- Melhorar a reprodutibilidade do ambiente.
- Automatizar setup de projetos.
Exemplo simples:
mint run realm/SwiftLint
Esse comando instala e executa o SwiftLint automaticamente.
Qual problema o Mint resolve?
Antes do Mint, muitas ferramentas Swift eram instaladas globalmente via Homebrew:
brew install swiftlint
O problema dessa abordagem é que:
- Apenas uma versão da ferramenta fica instalada.
- Projetos diferentes podem exigir versões diferentes.
- Times acabam utilizando versões inconsistentes.
- CI/CD pode gerar comportamentos diferentes do ambiente local.
O Mint resolve isso permitindo executar versões específicas de ferramentas Swift.
Por exemplo:
mint run realm/SwiftLint@0.55.1
Assim, você garante que todos utilizem exatamente a mesma versão.
Como instalar o Mint
Requisitos
Você precisa ter:
- Swift instalado.
- Xcode instalado no macOS.
- Swift Package Manager funcionando.
O SPM já vem integrado ao Swift moderno.
Instalação via Homebrew
A forma mais simples:
brew install mint
Instalação manual
Também é possível instalar compilando o projeto:
git clone https://github.com/yonaskolb/Mint.git
cd Mint
make
Principais comandos do Mint
Instalar uma ferramenta
mint install realm/SwiftLint
Isso instala e cria um link global da ferramenta.
Executar uma ferramenta
mint run realm/SwiftLint
Se a ferramenta ainda não estiver instalada, o Mint faz isso automaticamente.
Utilizar uma versão específica
Um dos maiores diferenciais do Mint:
mint run realm/SwiftLint@0.55.1
Isso evita incompatibilidades entre projetos.
Listar pacotes instalados
mint list
Remover um pacote
mint uninstall SwiftLint
Trabalhando com Mintfile
O Mint possui suporte ao Mintfile, que funciona de forma parecida com um Podfile ou Package.swift.
Crie um arquivo chamado:
Mintfile
E adicione:
realm/SwiftLint@0.55.1
yonaskolb/XcodeGen@2.38.0
Agora toda a equipe pode instalar as ferramentas com:
mint bootstrap
Isso torna o ambiente muito mais consistente.
#Exemplo real com SwiftLint
Instalar
mint install realm/SwiftLint
Executar
mint run swiftlint
Executar lint em um projeto
mint run swiftlint lint
Onde o Mint salva os pacotes?
Por padrão:
~/.mint
Os executáveis ficam em:
~/.mint/bin
Adicione ao PATH:
export PATH="$HOME/.mint/bin:$PATH"
No ~/.zshrc ou ~/.bash_profile.
Mint vs Homebrew
| Recurso | Mint | Homebrew |
|---|---|---|
| Controle de versão | ✅ | ❌ |
| Múltiplas versões | ✅ | ❌ |
| Focado em Swift | ✅ | ❌ |
| Instalação global simples | ✅ | ✅ |
| Ideal para CI/CD | ✅ | ⚠️ |
| Cache de builds | ✅ | ❌ |
O próprio repositório do Mint destaca que o Homebrew possui limitações para controle de versões específicas de ferramentas Swift.
Mint no CI/CD
O Mint funciona muito bem em pipelines automatizados.
Existe inclusive uma GitHub Action específica para ele: setup-mint
Exemplo:
- uses: irgaly/setup-mint@v1
Ela pode:
- Instalar o Mint.
- Executar
mint bootstrap. - Cachear ferramentas.
- Melhorar velocidade do pipeline.
Vantagens do Mint
Versionamento consistente
Cada projeto pode utilizar suas próprias versões.
Fácil onboarding
Novos desenvolvedores executam apenas:
mint bootstrap
E tudo fica configurado.
Melhor integração com Swift
Como o Mint usa o Swift Package Manager, ele se integra naturalmente ao ecossistema Swift.
Limitações do Mint
Apesar de muito útil, o Mint possui algumas limitações:
- Funciona apenas com pacotes Swift executáveis.
- Depende do Swift Package Manager.
- Algumas configurações podem variar no Linux.
Quando usar Mint?
O Mint é excelente para:
- SwiftLint.
- XcodeGen.
- Sourcery.
- Tuist.
- SwiftFormat.
- Ferramentas CLI internas da empresa.
Principalmente em:
- Equipes grandes.
- Projetos com CI/CD.
- Ambientes com múltiplos projetos.
- Times que precisam de consistência de versões.
Conclusão
O Mint é uma das melhores ferramentas para gerenciamento de executáveis Swift.
Ele resolve problemas clássicos de versionamento, simplifica o setup de ambientes e melhora bastante a experiência de desenvolvimento em times Swift.
Se você trabalha com ferramentas CLI em Swift, vale muito a pena adicionar o Mint ao seu fluxo de desenvolvimento.