docs: translations for pt-br (#970)

This commit is contained in:
Rogério Viana 2021-06-17 19:17:04 -03:00 committed by GitHub
parent 79dc43fb5e
commit 7cc3b87528
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 1363 additions and 7 deletions

View File

@ -4,4 +4,4 @@
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/README.md ':include')
<!-- include the ballad of asdf -->
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/ballad-of-asdf.md ':include')
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/ballad-of-asdf.md ':include')

View File

@ -1,3 +1,4 @@
- Translations
- [:uk: English](/)
- [:brazil: Português](/pt-br/)
- [Add translation](contributing-doc-site?id=translations)

View File

@ -1,8 +1,9 @@
<!--
<!--
single source of truth.
import commands list from master branch of repo.
not amenable to docs supporting git refs. Solution to be determined.
-->
`asdf` or `asdf help` will list all available commands for your current asdf version.
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/help.txt ':include')

View File

@ -28,7 +28,7 @@ python 3.7.2 2.7.15 system
To install all the tools defined in a `.tool-versions` file run `asdf install` with no other arguments in the directory containing the `.tool-versions` file.
To install a single tool defined in a `.tool-versions` file run `asdf install <name>` in the directory containing the `.tool-versions` file. The tool will be installed at the version specified in the `.tool-versions` file.
To install a single tool defined in a `.tool-versions` file run `asdf install <name>` in the directory containing the `.tool-versions` file. The tool will be installed at the version specified in the `.tool-versions` file.
Edit the file directly or use `asdf local` (or `asdf global`) which updates it.
@ -50,6 +50,6 @@ legacy_version_file = yes
## Environment Variables
- `ASDF_CONFIG_FILE` - Defaults to `~/.asdfrc` as described above. Can be set to any location.
- `ASDF_DEFAULT_TOOL_VERSIONS_FILENAME` - The filename of the file storing the tool names and versions. Defaults to `.tool-versions`. Can be any valid filename. Typically you should not override the default value unless you know you want asdf to ignore `.tool-versions` files.
- `ASDF_DIR` - Defaults to `~/.asdf` - Location of the `asdf` scripts. If you install `asdf` to some other directory, set this to that directory. For example, if you are installing via the AUR, you should set this to `/opt/asdf-vm`.
- `ASDF_DEFAULT_TOOL_VERSIONS_FILENAME` - The filename of the file storing the tool names and versions. Defaults to `.tool-versions`. Can be any valid filename. Typically you should not override the default value unless you know you want asdf to ignore `.tool-versions` files.
- `ASDF_DIR` - Defaults to `~/.asdf` - Location of the `asdf` scripts. If you install `asdf` to some other directory, set this to that directory. For example, if you are installing via the AUR, you should set this to `/opt/asdf-vm`.
- `ASDF_DATA_DIR` - Defaults to `~/.asdf` - Location where `asdf` install plugins, shims and installs. Can be set to any location before sourcing `asdf.sh` or `asdf.fish` mentioned in the section above.

View File

@ -30,10 +30,13 @@
name: "asdf",
repo: "https://github.com/asdf-vm/asdf",
el: "#app",
coverpage: true,
coverpage: ['/', '/pt-br/'],
loadNavbar: true,
loadSidebar: true,
notFoundPage: true,
notFoundPage: {
'/': '_404.md',
'/pt-br/': '/pt-br/_404.md'
},
subMaxLevel: 2,
auto2top: true,
alias: {

13
docs/pt-br/_404.md Normal file
View File

@ -0,0 +1,13 @@
<h2 align="center">404</h2>
<div style="text-align:center">
Parece que estamos perdido! :sweat_smile:
Voltar para a [página inicial](/pt-br/).
Se estiver perdido novamente, [grite por ajuda ](https://github.com/asdf-vm/asdf/issues/new) :mega:
Se você está aqui por causa de uma página ou tradução faltando, [pense em contribuir ](contributing-doc-site) :two_hearts:
</div>

14
docs/pt-br/_coverpage.md Normal file
View File

@ -0,0 +1,14 @@
<!-- ![logo](_media.asdf-logo.svg) -->
# asdf
> Gerencie múltiplas versões com um simples CLI
<!-- insert asciinema or other gif here -->
- Bash, Zsh, Fish
- Node.js, Ruby, Python, Elixir ... [qual sua linguagem favorita?](plugins-all?id=plugin-list)
- Extensivo com um simples sistema de plugins
[GitHub](https://github.com/asdf-vm/asdf)
[Começar](/pt-br/core-manage-asdf)

4
docs/pt-br/_navbar.md Normal file
View File

@ -0,0 +1,4 @@
- Tradução
- [:uk: English](/)
- [:brazil: Português](/pt-br/)
- [Adicionar tradução](/pt-br/contributing-doc-site?id=translations)

20
docs/pt-br/_sidebar.md Normal file
View File

@ -0,0 +1,20 @@
<!-- docs/_sidebar.md -->
- **Núcleo**
- [Gerenciar asdf](/pt-br/core-manage-asdf)
- [Gerenciar Plugins](/pt-br/core-manage-plugins)
- [Gerenciar Versões](/pt-br/core-manage-versions)
- [Configuração](/pt-br/core-configuration)
- [Todos os comandos](/pt-br/core-commands)
- [Alterações](/pt-br/changelog) <!-- pulls in changelog from repo -->
- **Plugins**
- [Criar Plugins](/pt-br/plugins-create)
- [Todos os Plugins](/pt-br/plugins-all) <!-- pulls in asdf-vm/asdf-plugins readme -->
- **Contribuições**
- [Núcleo asdf](/pt-br/contributing-core-asdf)
- [Documentação](/pt-br/contributing-doc-site)
- [Agradecimentos](/pt-br/thanks)
- **Comunidade & Questões**
- [![GitHub Issues](https://icongr.am/simple/github.svg?color=808080&size=16) GitHub Issues](https://github.com/asdf-vm/asdf/issues)
- [![GitHub Discussions](https://icongr.am/simple/github.svg?color=808080&size=16) GitHub Discussions](https://github.com/asdf-vm/asdf/discussions)
- [![StackOverflow Tag](https://icongr.am/fontawesome/stack-overflow.svg?size=16&color=808080) StackOverflow Tag](https://stackoverflow.com/questions/tagged/asdf-vm)

View File

@ -0,0 +1,20 @@
## Desenvolvimento
Para desenvolver o projeto, use `git clone` na _master branch_.
Se você quiser experimentar suas mudanças sem fazer alterações em seu `asdf` instalado, você pode definir a variável `$ ASDF_DIR` para o caminho onde você clonou o repositório, e adicionar temporariamente o diretório `bin` e `shims`.
Ferramentas que usamos:
- [bats](https://github.com/bats-core/bats-core) para testes. Certificar-se de que `bats test /` passa nos testes após você fazer suas alterações.
- [Shellcheck](https://github.com/koalaman/shellcheck) para análise estática dos scripts shell.
## Imagem Docker
Os projetos [asdf-alpine] [asdf-alpine] e [asdf-ubuntu] [asdf-ubuntu] são um
esforço contínuo para fornecer imagens docker de algumas ferramentas asdf. Você pode usar
essas imagens docker como base para seus servidores de desenvolvimento, ou para executar seu
aplicativos em produção.
[asdf-alpine]: https://github.com/vic/asdf-alpine
[asdf-ubuntu]: https://github.com/vic/asdf-ubuntu

View File

@ -0,0 +1,69 @@
## Melhorias
Aqui está uma lista de melhorias que estamos tentando fazer na documentação. Se você deseja contribuir, de uma olhadinha nisso:
- customise the docsify theme
- cover-page background image
- cover-page/readme gif of a terminal using asdf showing it's features (automatic version switching, .tool-versions with multiple runtime configs)
- custom doc site domain
- change the typography
- get a logo?
- improve "edit on GitHub" button/link
- add asdf to awesome-docsify showcase
## Configure seu ambiente
Estamos usando:
- [Node.js](https://github.com/asdf-vm/asdf-nodejs) `v10.15.0` para dar suporte as outras ferramentas necessárias
- [docsify](https://docsify.js.org/#/) para criar a documentação
- [prettier](https://prettier.io/) para formatar arquivos de _markdown_ (.md)
### Instalar dependências
Estamos tentando **evitar poluir** o repositório central com ferramentas para esta documentação. Sendo assim, seria ótimo se você pudesse instalar essas ferramentas de desenvolvimento **globalmente** para não comprometê-las com este projeto.
```shell
npm i docsify-cli prettier -g
```
## Subir servidor
Execute na raiz do projeto:
```shell
docsify serve docs
```
## Formatar arquivos
Execute na raiz do projeto:
```shell
prettier --write "docs/**/*.md"
```
## Traduções
Seria ótimo fornecer traduções para outros idiomas.
O Docsify torna a adição de novos idiomas bastante fácil. Veja em `docs/index.html` para exemplos de `zh-cn`.
### Adicionar uma nova tradução
1. Crie uma pasta dentro do `docs/` para adicionar sua nova tradução
```
docs/
docs/zh-cn/
```
2. copie o arquivo `docs/_404.md` para sua nova pasta `docs/zh-cn/_404.md`
```
docs/_404.md
docs/zh-cn/_404.md
```
3. troque o texto com a sua tradução.
4. repita o processo para todos os arquivos.
5. adicione o _link_ da sua tradução em `_navbar.md`.
6. execute o `prettier` antes de fazer o _commit_ das alterações.
Para mais informações veja em [configurações do docsify](https://docsify.js.org/#/configuration), para [barra lateral (navbar)](https://docsify.js.org/#/custom-navbar), verifique o `index.html` e [campo de pesquisa](https://github.com/docsifyjs/docsify/blob/6ac7bace213145cb655e9a5e9e209384db08e5f9/docs/index.html#L48).

View File

@ -0,0 +1,9 @@
<!--
single source of truth.
import commands list from master branch of repo.
not amenable to docs supporting git refs. Solution to be determined.
-->
`asdf` ou `asdf help` para listar todos os comandos disponíveis para sua versão.
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/help.txt ':include')

View File

@ -0,0 +1,56 @@
## .tool-versions
Sempre que o arquivo `.tool-versions` estiver presente em um diretório, as versões da ferramenta que ele declara serão usadas nesse diretório e em seus subdiretórios.
?> Configurações globais podem ser modificadas no arquivo `$HOME/.tool-versions`
O arquivo `.tool-versions` se parece assim:
```
ruby 2.5.3
nodejs 10.15.0
```
As versões podem estar no seguinte formato:
- `10.15.0` - uma versão real. Os plugins que suportam o download de binários farão o download de binários.
- `ref:v1.0.2-a` ou `ref:39cb398vb39` - _tag/commit/branch_ para download pelo github e compilação
um path costumizado e compi
- `path:/src/elixir` - um path para uma versão compilada e personalizada de uma ferramenta pronta para usar. Para uso por linguagens de desenvolvimento e outros.
- `system` - faz com que asdf passe para a versão da ferramenta no sistema que não é gerenciada por asdf .
Várias versões podem ser definidas, separando-as com um espaço. Por exemplo, para usar Python 3.7.2, e também Python 2.7.15, use a linha abaixo em seu arquivo `.tool-versions`.
```
python 3.7.2 2.7.15 system
```
Para instalar todas as ferramentas definidas em `.tool-versions`, execute o camando `asdf install` sem argumentos no mesmo diretório de `.tool-versions`.
Para isntalar somente uma ferramenta definida em `.tool-versions`, execute o camando `asdf install` sem argumentos no mesmo diretório de `.tool-versions`. A ferramenta será instalada na versão especificada no arquivo `.tool-versions`.
Edite o arquivo diretamente no diretório ou use `asdf local` (ou `asdf global`) para atualiza-lo.
## \$HOME/.asdfrc
Adicione um arquivo `.asdfrc` ao seu diretório home e asdf usará as configurações especificadas no arquivo. O arquivo deve ser formatado assim:
```
legacy_version_file = yes
```
**Configurações**
- `legacy_version_file` - por padrão é `no`. Se definido como `yes`, fará com que os plug-ins que suportam esse recurso leiam os arquivos de versão usados por outros gerenciadores de versão (por exemplo, `.ruby-version` no caso do ` rbenv` do Ruby).
- `use_release_candidates` - por padrão é `no`. Se definido como `yes`, fará com que o comando `asdf update` atualize para o mais recente em vez da versão semântica mais recente.
- `always_keep_download` - por padrão é `no`. Se definido como `yes`, fará com que o ` asdf install` sempre mantenha o código-fonte ou binário baixado. Se definido como `no`, o código fonte ou binário baixado por ` asdf install` será excluído após a instalação bem sucedida.
- `plugin_repository_last_check_duration` - por padrão é `60` min (1 hrs). Ele define a duração da última verificação do repositório de plugins asdf. Quando o comando `asdf plugin add <nome>`, `asdf plugin list all` for executado, ele verificará a duração da última atualização para atualizar o repositório. Se definido como `0`, ele atualizará o repositório de plugins asdf todas as vezes.
## Variáveis de ambiente
- `ASDF_CONFIG_FILE` - O padrão é `~ / .asdfrc` conforme descrito acima. Pode ser definido para qualquer local.
- `ASDF_DEFAULT_TOOL_VERSIONS_FILENAME` - O nome do arquivo que armazena os nomes e versões das ferramentas. O padrão é `.tool-versions`. Pode ser qualquer nome de arquivo válido. Normalmente você não deve substituir o valor padrão, a menos que deseja que o asdf ignore os arquivos `.tool-versions`.
- `ASDF_DIR` - O padrão é `~/.asdf` - Localização dos arquivos `asdf`. Se você instalar `asdf` em algum outro diretório, defina-o para esse diretório. Por exemplo, se você estiver instalando através do AUR, você deve definir isso para `/ opt / asdf-vm`.
- `ASDF_DATA_DIR` - O padrão é `~/.asdf` - Local onde `asdf` instala plugins, correções e instalações. Pode ser definido para qualquer local antes de fornecer `asdf.sh` ou` asdf.fish` mencionado na seção acima.

View File

@ -0,0 +1,634 @@
1. [Gerenciar asdf](/pt-br/core-manage-asdf): instalar `asdf` **e** adicionar `asdf` ao seu shell
2. [Gerenciar Plugins](/pt-br/core-manage-plugins): adicionar plugin para sua ferramenta `asdf plugin add nodejs`
3. [Gerenciar Versões](/pt-br/core-manage-versions): instalar uma versão da sua ferramenta `asdf install nodejs 13.14.0`
4. [Configuração](/pt-br/core-configuration): configurações globais e de seu projeto em `.tool-versions`
## Instalar
### Dependências
<!-- select:start -->
<!-- select-menu-labels: Sistema Operacional,Método de Instalação -->
#### -- Linux,Aptitude --
```shell
sudo apt install curl git
```
#### -- Linux,DNF --
```shell
sudo dnf install curl git
```
#### -- Linux,Pacman --
```shell
sudo pacman -S curl git
```
#### -- Linux,Zypper --
```shell
sudo zypper install curl git
```
#### -- macOS,Homebrew --
Dependências seram instaladas automaticamente pelo Homebrew.
#### -- macOS,Spack --
```shell
spack install coreutils curl git
```
### -- Docsify Select Default --
Não encontrado seleção para seu _Sistema Operacional_ e _Método de Instalação_. Por favor tente outra combinação.
<!-- select:end -->
### asdf
<!-- select:start -->
<!-- select-menu-labels: Método de Instalação -->
### --Git--
Clone somente a _branch_ mais recente:
```shell
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1
```
Alternativa, você pode clonar o repositório completo e verificar a _branch_ mais recente:
```shell
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
cd ~/.asdf
git checkout "$(git describe --abbrev=0 --tags)"
```
### --Homebrew--
Seja a compatibilidade de `asdf` e Homebrew em [issues in #785](https://github.com/asdf-vm/asdf/issues/785).
Instalar usando o gerenciador de pacotes Homebrew:
```shell
brew install asdf
```
Para pegar as mudanças mais recentes, você pode mandar o Homebrew obter a _branch_ central do repositório:
```shell
brew install asdf --HEAD
```
### --Pacman--
Instalar usando `pacman`:
```shell
git clone https://aur.archlinux.org/asdf-vm.git
cd asdf-vm
makepkg -si
```
Ou use outro de sua preferência [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers)
<!-- select:end -->
### Adicionando ao seu Shell
<!-- select:start -->
<!-- select-menu-labels: Sistema Operacional,Shell,Método de Instalação -->
#### --Linux,Bash,Git--
Adicione em seu `~/.bashrc`:
```shell
. $HOME/.asdf/asdf.sh
```
?> Adicione também em seu `.bashrc`:
```shell
. $HOME/.asdf/completions/asdf.bash
```
#### --Linux,Fish,Git--
Adicione em seu `~/.config/fish/config.fish`:
```shell
source ~/.asdf/asdf.fish
```
?> Execute o comando:
```shell
mkdir -p ~/.config/fish/completions; and ln -s ~/.asdf/completions/asdf.fish ~/.config/fish/completions
```
#### --Linux,ZSH,Git--
Adicione em seu `~/.zshrc`:
```shell
. $HOME/.asdf/asdf.sh
```
**Ou** use o ZSH Framework plugin descrito em [asdf para oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf) para concluir sua configuração.
?> As configurações são completadas através do ZSH Framework `asdf` plugin ou pelas modificações feitas em `.zshrc`:
```shell
# adicione ao seu fpath
fpath=(${ASDF_DIR}/completions $fpath)
# termine usando os comandos do ZSH's compinit
autoload -Uz compinit
compinit
```
- Caso tiver usando uma costumização de `compinit`, garanta que seu `compinit` esteja dentro do arquivo `asdf.sh`
- Caso tiver usando uma costumização de `compinit` e ZSH Framework, garanta que `compinit` esteja dentro do framework
!> Caso tiver usando ZSH Framework em conjunto com `asdf`, talvez seja necessário atualizar os complementos de ZSH no `fpath`. Para atualizar Oh-My-ZSH asdf plugin, seja em https://github.com/ohmyzsh/ohmyzsh/pull/8837.
#### --Linux,Bash,Pacman--
Adicione em seu `~/.bashrc`:
```shell
. /opt/asdf-vm/asdf.sh
```
?> [`bash-completion` needs to be installed for the completions to work](https://wiki.archlinux.org/title/bash#Common_programs_and_options)
#### --Linux,Fish,Pacman--
Adicione em seu `~/.config/fish/config.fish`:
```shell
source /opt/asdf-vm/asdf.fish
```
!> Os complementos são automaticamente configurados na instalação feita pelo pacote AUR.
#### --Linux,ZSH,Pacman--
Adicione em seu `~/.zshrc`:
```shell
. /opt/asdf-vm/asdf.sh
```
?> Os complementos são colocados em um local escolhido pelo ZHS, para mais [ZSH deve ser usado para configurações dos complementos](https://wiki.archlinux.org/index.php/zsh#Command_completion).
#### --macOS,Bash,Git--
Caso esteja usando **macOs Catalina ou mais recente**, por padrão o _shell_ é **ZSH**. Para voltar ao _Bash_ siga as instruções do ZSH.
Adicione em seu `~/.bash_profile`:
```shell
. $HOME/.asdf/asdf.sh
```
?> Os complementos precisam ser configurados manualmente em seu arquivo `.bash_profile`:
```shell
. $HOME/.asdf/completions/asdf.bash
```
#### --macOS,Fish,Git--
Adicione em seu `~/.config/fish/config.fish`:
```shell
source ~/.asdf/asdf.fish
```
?> Os complementos precisam ser configurados manualmente com esse comando:
```shell
mkdir -p ~/.config/fish/completions; and cp ~/.asdf/completions/asdf.fish ~/.config/fish/completions
```
#### --macOS,ZSH,Git--
Adicione em seu `~/.zshrc`:
```shell
. $HOME/.asdf/asdf.sh
```
**Ou** use ZSH Framework plugin descrito em [asdf para oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf) que irá realizar as configurações.
?> Os complementos são conficurados usando ZSH Framework `asdf` plugin ou através do arquivo `.zshrc`:
```shell
# adicione em seu fpath
fpath=(${ASDF_DIR}/completions $fpath)
# termine usando os comandos do ZSH's compinit
autoload -Uz compinit
compinit
```
- Caso tiver usando uma costumização de `compinit`, garanta que seu `compinit` esteja dentro do arquivo `asdf.sh`
- Caso tiver usando uma costumização de `compinit` e ZSH Framework, garanta que `compinit` esteja dentro do framework
!> Caso tiver usando ZSH Framework em conjunto com `asdf`, talvez seja necessário atualizar os complementos de ZSH no `fpath`. Para atualizar Oh-My-ZSH asdf plugin, seja em https://github.com/ohmyzsh/ohmyzsh/pull/8837.
#### --macOS,Bash,Homebrew--
Caso esteja usando **macOs Catalina ou mais recente**, por padrão o _shell_ é **ZSH**. Para voltar ao _Bash_ siga as instruções do ZSH.
Adicione `asdf.sh` ao seu `~/.bash_profile` usando:
```shell
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ~/.bash_profile
```
?> Os complementos precisam [instruções de configuração do Homebrew](https://docs.brew.sh/Shell-Completion#configuring-completions-in-bash) ou usando:
```shell
echo -e "\n. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash" >> ~/.bash_profile
```
#### --macOS,Fish,Homebrew--
Adicione `asdf.fish` ao seu `~/.config/fish/config.fish` usando:
```shell
echo -e "\nsource "(brew --prefix asdf)"/asdf.fish" >> ~/.config/fish/config.fish
```
?> Os complementos são [manipulados pelo Homebrew para o Fish shell](https://docs.brew.sh/Shell-Completion#configuring-completions-in-fish). Legal!
#### --macOS,ZSH,Homebrew--
Adicione `asdf.sh` ao seu `~/.zshrc` usando:
```shell
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
```
**Ou** use ZSH Framework plugin descrito em [asdf para oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf) que irá realizar as configurações.
?> Os complementos são configurados pelo ZSH Framework `asdf` ou precisam [instruções de configuração do Homebrew](https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh)
Caso tiver usando ZSH Framework em conjunto com `asdf`, talvez seja necessário atualizar os complementos de ZSH no `fpath`. Para atualizar Oh-My-ZSH asdf plugin, seja em https://github.com/ohmyzsh/ohmyzsh/pull/8837.
### --Docsify Select Default--
!> O `Homebrew` `asdf` não possui testes no `Linux` feitos pelo time central do asdf. Por favor reporte os problemas para que possamos atualizar nossa documentação.
<!-- select:end -->
Reinicie seu _shell_ para que as mudanças no _PATH_ sejam efetivadas.
Esta tudo pronto para usar asdf 🎉
### Possui questionamentos?
Caso tenha questionamentos sobre seu _shell_ não detectadas em instalações mais recentes, pode ser que `asdf.sh` ou `asdf.fish` não iniciou o **BOTTOM** em seu arquivo de configuração `.bash_profile`, `.zshrc`, `config.fish`. É preciso do **AFETER** em seu `$PATH` e **AFTER** precisa estar em seu framework (oh-my-zsh etc).
you have sourced your framework (oh-my-zsh etc).
### Migrando de ferramentas
Caso tenha migrado para outra ferramenta e precisar usar as arquivos de versão (ex: `.node-version` ou `.ruby-version`),
olhe em seu `legacy_version_file` [marcação de seleção de configuração](core-configuration?id=homeasdfrc).
## Atualizar
<!-- select:start -->
<!-- select-menu-labels: Método de Instalação -->
### -- Git --
```shell
asdf update
```
Caso queira as últimas mudanças, essas mudanças não estão incluídas na versão estável:
```shell
asdf update --head
```
### -- Homebrew --
```shell
brew upgrade asdf
```
### -- Pacman --
Obter manualmente um novo `PKGBUILD` e reconstruir ou usar suas preferências de AUR.
<!-- select:end -->
## Remover
Para desinstalar `asdf` siga os passos:
<!-- select:start -->
<!-- select-menu-labels: Sistema Operacional,Shell,Método de Instalação -->
### --Linux,Bash,Git--
1. Em seu `~/.bashrc` remova as linhas do `asdf.sh` e seus complementos:
```shell
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
```
2. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --Linux,Fish,Git--
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.sh`:
```shell
source ~/.asdf/asdf.fish
```
e remova os complementos de com esse comando:
```shell
rm -rf ~/.config/fish/completions/asdf.fish
```
2. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --Linux,ZSH,Git--
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh` e seus complementos:
```shell
. $HOME/.asdf/asdf.sh
# ...
fpath=(${ASDF_DIR}/completions $fpath)
autoload -Uz compinit
compinit
```
**Ou** use ZSH Framework plugin.
2. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --Linux,Bash,Pacman--
1. Em seu `~/.bashrc` remova as linhas do `asdf.sh` e seus complementos:
```shell
. /opt/asdf-vm/asdf.sh
```
2. Desinstale usando seu gerenciador de pacotes:
```shell
pacman -Rs asdf-vm
```
3. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
4. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --Linux,Fish,Pacman--
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.fish`:
```shell
source /opt/asdf-vm/asdf.fish
```
2. Desinstale usando seu gerenciador de pacotes:
```shell
pacman -Rs asdf-vm
```
3. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
4. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --Linux,ZSH,Pacman--
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh`:
```shell
. /opt/asdf-vm/asdf.sh
```
2. Desinstale usando seu gerenciador de pacotes:
```shell
pacman -Rs asdf-vm
```
3. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
4. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --macOS,Bash,Git--
1. Em seu `~/.bash_profile` remova as linhas do `asdf.sh` e remova seus complementos:
```shell
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
```
2. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --macOS,Fish,Git--
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.fish`:
```shell
source ~/.asdf/asdf.fish
```
e remova os complementos de com esse comando:
```shell
rm -rf ~/.config/fish/completions/asdf.fish
```
2. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --macOS,ZSH,Git--
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh` e remova seus complementos:
```shell
. $HOME/.asdf/asdf.sh
# ...
fpath=(${ASDF_DIR}/completions $fpath)
autoload -Uz compinit
compinit
```
**Ou** use ZSH Framework plugin.
2. Remova o diretório `$HOME/.asdf`:
```shell
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --macOS,Bash,Homebrew--
Caso esteja usando **macOs Catalina ou mais recente**, por padrão o _shell_ é **ZSH**. Se não achar alguma configuração em seu `~/.bash_profile` talvez esteja em `~/.zshrc` em cada caso siga as intruções do ZSH.
1. Em seu `~/.bash_profile` remova as linhas do `asdf.sh` e remova seus complementos:
```shell
. $(brew --prefix asdf)/asdf.sh
. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash
```
?> Os complementos precisam [instruções de configuração do Homebrew](https://docs.brew.sh/Shell-Completion#configuring-completions-in-bash) e siga o guia de remoção.
2. Desinstale usando seu gerenciador de pacotes:
```shell
brew uninstall asdf --force
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --macOS,Fish,Homebrew--
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.fish`:
```shell
source "(brew --prefix asdf)"/asdf.fish
```
2. Desinstale usando seu gerenciador de pacotes:
```shell
brew uninstall asdf --force
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
### --macOS,ZSH,Homebrew--
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh`:
```shell
. $(brew --prefix asdf)/asdf.sh
```
2. Desinstale usando seu gerenciador de pacotes:
```shell
brew uninstall asdf --force
```
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
```shell
rm -rf $HOME/.tool-versions $HOME/.asdfrc
```
<!-- select:end -->
Tudo pronto! 🎉

View File

@ -0,0 +1,77 @@
Plugins são como asdf sabe lidar com diferentes ferramentas, tais quais Node.js, Ruby, Elixir etc.
Seja em [Criar Plugins](/pt-br/plugins-create) para usar API de plugin e ter suporte as ferramentas.
## Adicionar
Adicione os plugins via sua Url Git:
```shell
asdf plugin add <name> <git-url>
# asdf plugin add elm https://github.com/vic/asdf-elm
```
ou pelo nome abreviado dentro do repositório de plugins:
```shell
asdf plugin add <name>
# asdf plugin add erlang
```
Ao criar scripts, prefira o método mais longo `git-url`, pois ele é independente do repositório de nome abreviado.
## Listar Instalados
```shell
asdf plugin list
# asdf plugin list
# java
# nodejs
```
```shell
asdf plugin list --urls
# asdf plugin list
# java https://github.com/halcyon/asdf-java.git
# nodejs https://github.com/asdf-vm/asdf-nodejs.git
```
## Listar todos nomes abreviados no repositório
```shell
asdf plugin list all
```
Veja Todos os plugins(/pt-br/plugins-all) para os nomes abreviados dos plugins.
## Atualizar
```shell
asdf plugin update --all
```
Se você quiser atualizar um pacote específico, apenas use.
```shell
asdf plugin update <name>
# asdf plugin update erlang
```
Esta atualização irá buscar o último _commit_ na _branch_ padrão no _origin_ de seu respositório. Plugins e atualizações das versões estão sendo desenvolvidas - https://github.com/asdf-vm/asdf/pull/916
## Remover
```bash
asdf plugin remove <name>
# asdf plugin remove erlang
```
Removendo o plugin irá remover todas as instalações feitas com o plugin. Isso pode ser usado como um atalho para apagar/remover sujeiras de versões não utilizadas de uma ferramenta.
## Sincronizar nome abreviado no repositório
O nome abreviado do repositório é sincronizado em seu máquina local e periodicamente atualizado. Esse período pode ser determinado com o seguinte método:
- comandos `asdf plugin add <name>` ou `asdf plugin list all` disparam a sincronização
- ocorre uma sincronização se não houver nenhuma nos últimos `X` minutos
- `X` por padrão é `60`, mas pode ser mudado em `.asdfrc` via as opções do `plugin_repository_last_check_duration`. Seja mais em [asdf documentação de configuração](/pt-br/core-configuration).

View File

@ -0,0 +1,137 @@
## Instalar Versão
```shell
asdf install <name> <version>
# asdf install erlang 17.3
```
_Se um plugin suporta o download e compilação do código-fonte, você pode especificar `ref:foo` no qual `foo` é uma 'branch' especifica, 'tag', ou 'commit'. Você também precisará usar o mesmo nome e referência ao desinstalar._
## Instalar última versão estável
```shell
asdf install <name> latest
# asdf install erlang latest
```
Instale a última versão estável que inicia com um texto.
```shell
asdf install <name> latest:<version>
# asdf install erlang latest:17
```
## Listar versões instaladas
```shell
asdf list <name>
# asdf list erlang
```
## Listar todas as versões disponíveis
```shell
asdf list all <name>
# asdf list all erlang
```
Limite as versões que inicie com um determinado texto.
```shell
asdf list all <name> <version>
# asdf list all erlang 17
```
## Mostrar última versão estável
```shell
asdf latest <name>
# asdf latest erlang
```
Mostrar última versão estável que inicie com um determinado texto.
```shell
asdf latest <name> <version>
# asdf latest erlang 17
```
## Selecionar versão atual
```shell
asdf global <name> <version> [<version>...]
asdf shell <name> <version> [<version>...]
asdf local <name> <version> [<version>...]
# asdf global elixir 1.2.4
```
`global` escreve a versão para `$HOME/.tool-versions`.
`shell` selecione a versão na variável de ambiente `ASDF_${LANG}_VERSION`, para a atual seção do _shell_.
`local` escreve a versão para `$PWD/.tool-versions`, crie se necessário .
Veja em `.tool-versions` [arquivo de seleção de configuração](/pt-br/core-configuration) para mais detalhes.
?> Alternativa, se você quiser selecionar a versão atual do seu _shell_ ou para executar um comando em uma versão específica de sua ferramenta, você pode selecionar a versão na variável de ambiente `ASDF_${TOOL}_VERSION`.
O seguinte exemplo executa os testes em um projeto Elixir na versão `1.4.0`.
O formato da versão é o mesmo suportado pelo arquivo `.tool-versions`.
```shell
ASDF_ELIXIR_VERSION=1.4.0 mix test
```
## Resposta do sistema de versão
Para usar o sistema de versão da ferramenta `<name>` inicie um gerenciador de versões do asdf para selecionar a versão na ferramenta do `system`.
Selecione o sistema com `global`, `local` ou `shell`
Set system with either `global`, `local` or `shell` conforme descrito em [Selecionar versão atual](#selecionar-versão-atual).
```shell
asdf local <name> system
# asdf local python system
```
## Verificar a versão atual
```shell
asdf current
# asdf current
# erlang 17.3 (set by /Users/kim/.tool-versions)
# nodejs 6.11.5 (set by /Users/kim/cool-node-project/.tool-versions)
asdf current <name>
# asdf current erlang
# 17.3 (set by /Users/kim/.tool-versions)
```
## Desinstalar versão
```shell
asdf uninstall <name> <version>
# asdf uninstall erlang 17.3
```
## Shims
Quando asdf instala um pacote é criado _shims_ para cada programa executado no pacote do diretório `$ASDF_DATA_DIR/shims` (padrão `~/.asdf/shims`). Esse diretório começa no `$PATH` (pelos `asdf.sh` ou `asdf.fish`) é como o programa instalado é disponibilizado no ambiente do sistema.
Os _shims_ em si são atalhos simples que executam um programa auxiliar `asdf exec` passando o nome do plugin e o caminho para o executável no pacote instalado que o _shim_ está contido.
O `asdf exec` ajuda a determinar a versão do pacote usado (como especificado no arquivo `.tool-versions`, pelo `asdf local ...` ou `asdf global ...`), o final do _path_ do executavél no pacote instalado no diretório (pode ser manipulado pelo `exec-path` no _callback_ do plugin) e o ambiente executado em (também fornecido pelo plugin - `exec-env`) e finalmente executado.
!> Observe que, como este sistema usa chamadas `exec`, qualquer _scripts_ no pacote devem ser fornecidos pelo _shell_, a instancia em execução precisa ser aessado diretamente ao invés do _shim_. Os dois comandos do asdf: `which` e `where` pode ajudar com o retorno do caminho para o pacote instalado:
```shell
# retorna o 'path' da versão atual em execução
source $(asdf which ${PLUGIN})/../script.sh
# retorna o 'path' do pacote instalado no diretório
source $(asdf where ${PLUGIN} $(asdf current ${PLUGIN}))/bin/script.sh
```
### Ignorando _shims_ do asdf
Se por algum motivo você deseja ignorar _shims_ do asdf ou deseja que suas variáveis de ambiente sejam definidas automaticamente ao entrar no diretório do seu projeto, pode ser útil o [asdf-direnv](https://github.com/asdf-community/asdf-direnv). Verifique o README para mais detalhes.

View File

@ -0,0 +1,281 @@
## What's in a Plugin
A plugin is a git repo, with a couple executable scripts, to support versioning another language or tool. These scripts are run when `list-all`, `install` or `uninstall` commands are run. You can set or unset env vars and do anything required to setup the environment for the tool.
## Required Scripts
- `bin/list-all` - lists all installable versions
- `bin/download` - download source code or binary for the specified version
- `bin/install` - installs the specified version
## Environment Variables
All scripts except `bin/list-all` will have access to the following env vars to act upon:
- `ASDF_INSTALL_TYPE` - `version` or `ref`
- `ASDF_INSTALL_VERSION` - if `ASDF_INSTALL_TYPE` is `version` then this will be the version number. Else it will be the git ref that is passed. Might point to a tag/commit/branch on the repo.
- `ASDF_INSTALL_PATH` - the dir where the it _has been_ installed (or _should_ be installed in case of the `bin/install` script)
These additional environment variables will be available to the `bin/install` script:
- `ASDF_CONCURRENCY` - the number of cores to use when compiling the source code. Useful for setting `make -j`.
- `ASDF_DOWNLOAD_PATH` - the path to where the source code or binary was downloaded by the `bin/download` script.
These additional environment variables will be available to the `bin/download` script:
- `ASDF_DOWNLOAD_PATH` - the path to where the source code or binary should be downloaded.
#### bin/list-all
Must print a string with a space-separated list of versions. Example output would be the following:
```
1.0.1 1.0.2 1.3.0 1.4
```
Note that the newest version should be listed last so it appears closer to the user's prompt. This is helpful since the `list-all` command prints each version on it's own line. If there are many versions it's possible the early versions will be off screen.
If versions are being pulled from releases page on a website it's recommended to not sort the versions if at all possible. Often the versions are already in the correct order or, in reverse order, in which case something like `tac` should suffice. If you must sort versions manually you cannot rely on `sort -V` since it is not supported on OSX. An alternate sort function [like this is a better choice](https://github.com/vic/asdf-idris/blob/master/bin/list-all#L6).
#### bin/download
This script must download the source or binary, in the path contained in the `ASDF_DOWNLOAD_PATH` environment variable. If the downloaded source or binary is compressed, only the uncompressed source code or binary may be placed in the `ASDF_DOWNLOAD_PATH` directory.
The script must exit with a status of `0` when the download is successful. If the download fails the script must exit with any non-zero exit status.
If possible the script should only place files in the `ASDF_DOWNLOAD_PATH`. If the download fails no files should be placed in the directory.
If this script is not present asdf will assume that the `bin/install` script is present and will download and install the version. asdf only works without this script to support legacy plugins. All plugins must include this script, and eventually support for legacy plugins will be removed.
#### bin/install
This script should install the version, in the path mentioned in `ASDF_INSTALL_PATH`. By default, asdf will create shims for any files in `$ASDF_INSTALL_PATH/bin` (this can be customized with the optional [bin/list-bin-paths](#binlist-bin-paths) script).
The install script should exit with a status of `0` when the installation is successful. If the installation fails the script should exit with any non-zero exit status.
If possible the script should only place files in the `ASDF_INSTALL_PATH` directory once the build and installation of the tool is deemed successful by the install script. asdf [checks for the existence](https://github.com/asdf-vm/asdf/blob/242d132afbf710fe3c7ec23c68cec7bdd2c78ab5/lib/utils.sh#L44) of the `ASDF_INSTALL_PATH` directory in order to determine if that version of the tool is installed. If the `ASDF_INSTALL_PATH` directory is populated at the beginning of the installation process other asdf commands run in other terminals during the installation may consider that version of the tool installed, even when it is not fully installed.
If you want your plugin to work with asdf version 0.7.* and earlier and version 0.8.* and newer check for the presence of the `ASDF_DOWNLOAD_PATH` environment variable. If it is not set download the source code in the bin/install callback. If it is set assume the `bin/download` script already downloaded it.
## Optional Scripts
#### bin/help scripts
This is not one callback script but rather a set of callback scripts that each print different documentation to STDOUT. The possible callback scripts are listed below. Note that `bin/help.overview` is a special case as it must be present for any help output to be displayed for the script.
- `bin/help.overview` - This script should output a general description about the plugin and the tool being managed. No heading should be printed as asdf will print headings. Output may be free-form text but ideally only one short paragraph. This script must be present if you want asdf to provide help information for your plugin. All other help callback scripts are optional.
- `bin/help.deps` - This script should output the list of dependencies tailored to the operating system. One dependency per line.
- `bin/help.config` - This script should print any required or optional configuration that may be available for the plugin and tool. Any environment variables or other flags needed to install or compile the tool (for the users operating system when possible). Output can be free-form text.
- `bin/help.links` - This should be a list of links relevant to the plugin and tool (again, tailored to the current operating system when possible). One link per line. Lines may be in the format `<title>: <link>` or just `<link>`.
Each of these scripts should tailor their output to the current operating system. For example, when on Ubuntu the deps script could output the dependencies as apt-get packages that must be installed. The script should also tailor its output to the value of `ASDF_INSTALL_VERSION` and `ASDF_INSTALL_TYPE` when the variables are set. They are optional and will not always be set.
The help callback script MUST NOT output any information that is already covered in the core asdf-vm documentation. General asdf usage information must not be present.
#### bin/list-bin-paths
List executables for the specified version of the tool. Must print a string with a space-separated list of dir paths that contain executables. The paths must be relative to the install path passed. Example output would be:
```
bin tools veggies
```
This will instruct asdf to create shims for the files in `<install-path>/bin`, `<install-path>/tools` and `<install-path>/veggies`
If this script is not specified, asdf will look for the `bin` dir in an installation and create shims for those.
#### bin/exec-env
Setup the env to run the binaries in the package.
#### bin/exec-path
Get the executable path for the specified version of the tool. Must print a string with the relative executable path. This allows the plugin to conditionally override the shim's specified executable path, otherwise return the default path specified by the shim.
```
Usage:
plugin/bin/exec-path <install-path> <command> <executable-path>
Example Call:
~/.asdf/plugins/foo/bin/exec-path "~/.asdf/installs/foo/1.0" "foo" "bin/foo"
Output:
bin/foox
```
#### bin/uninstall
Uninstalls a specific version of a tool.
#### bin/list-legacy-filenames
Register additional setter files for this plugin. Must print a string with a space-separated list of filenames.
```
.ruby-version .rvmrc
```
Note: This will only apply for users who have enabled the `legacy_version_file` option in their `~/.asdfrc`.
#### bin/parse-legacy-file
This can be used to further parse the legacy file found by asdf. If `parse-legacy-file` isn't implemented, asdf will simply cat the file to determine the version. The script will be passed the file path as its first argument.
#### bin/post-plugin-add
This can be used to run any post-installation actions after the plugin has been added to asdf.
The script has access to the path the plugin was installed (`${ASDF_PLUGIN_PATH}`) and the source URL (`${ASDF_PLUGIN_SOURCE_URL}`), if any was used.
See also the related hooks:
- `pre_asdf_plugin_add`
- `pre_asdf_plugin_add_${plugin_name}`
- `post_asdf_plugin_add`
- `post_asdf_plugin_add_${plugin_name}`
#### bin/pre-plugin-remove
This can be used to run any pre-removal actions before the plugin will be removed from asdf.
The script has access to the path the plugin was installed in (`${ASDF_PLUGIN_PATH}`).
See also the related hooks:
- `pre_asdf_plugin_remove`
- `pre_asdf_plugin_remove_${plugin_name}`
- `post_asdf_plugin_remove`
- `post_asdf_plugin_remove_${plugin_name}`
## Extension commands for asdf CLI.
It's possible for plugins to define new asdf commands by providing `lib/commands/command*.bash` scripts or executables that
will be callable using the asdf command line interface by using the plugin name as a subcommand.
For example, suppose a `foo` plugin has:
```shell
foo/
lib/commands/
command.bash
command-bat.bash
command-bat-man.bash
command-help.bash
```
Users can now execute
```shell
$ asdf foo # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command.bash`
$ asdf foo bar # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command.bash bar`
$ asdf foo help # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command-help.bash`
$ asdf foo bat man # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command-bat-man.bash`
$ asdf foo bat baz # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command-bat.bash baz`
```
Plugin authors can use this feature to provide utilities related to their tools,
or even create plugins that are just new command extensions for asdf itself.
When invoked, if extension commands do not have their executable-bit set, they will be
sourced as bash scripts, having all of the functions from `$ASDF_DIR/lib/utils.bash` available.
Also, the `$ASDF_CMD_FILE` resolves to the full path of the file being sourced.
If the executable bit is set, they are just executed and replace the asdf execution.
A good example of this feature is for plugins like [`haxe`](https://github.com/asdf-community/asdf-haxe)
which provides the `asdf haxe neko-dylibs-link` to fix an issue where haxe executables expect to find
dynamic libraries relative to the executable directory.
If your plugin provides an asdf extension command, be sure to mention about it on your plugin's README.
## Custom shim templates
**PLEASE use this feature only if absolutely required**
asdf allows custom shim templates. For an executable called `foo`, if there's a `shims/foo` file in the plugin, then asdf will copy that file instead of using it's standard shim template.
This must be used wisely. For now AFAIK, it's only being used in the Elixir plugin, because an executable is also read as an Elixir file apart from just being an executable. Which makes it not possible to use the standard bash shim.
## Testing plugins
`asdf` contains the `plugin-test` command to test your plugin. You can use it as follows
```sh
asdf plugin test <plugin-name> <plugin-url> [--asdf-tool-version <version>] [--asdf-plugin-gitref <git-ref>] [test-command*]
```
Only the two first arguments are required.
If \__version_ is specified, the tool will be installed with that specific version. Defaults to whatever returns `asdf latest <plugin-name>`.
If _git-ref_ is specified, the plugin itself is checked out at that commit/branch/tag, useful for testing a pull-request on your plugin's CI.
Rest arguments are considered the command to execute to ensure the installed tool works correctly.
Normally it would be something that takes `--version` or `--help`.
For example, to test the NodeJS plugin, we could run
```sh
asdf plugin test nodejs https://github.com/asdf-vm/asdf-nodejs.git node --version
```
We strongly recommend you test your plugin on a CI environment and make sure it works on both Linux and OSX.
#### Example GitHub Action
The [asdf-vm/actions](https://github.com/asdf-vm/actions) repo provides a GitHub Action for testing your plugins hosted on github.
```yaml
steps:
- name: asdf_plugin_test
uses: asdf-vm/actions/plugin-test@v1
with:
command: "my_tool --version"
env:
GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} # automatically provided
```
#### Example TravisCI config
Here is a sample `.travis.yml` file, customize it to your needs
```yaml
language: c
script: asdf plugin test nodejs $TRAVIS_BUILD_DIR 'node --version'
before_script:
- git clone https://github.com/asdf-vm/asdf.git asdf
- . asdf/asdf.sh
os:
- linux
- osx
```
Note:
When using another CI, you will need to check what variable maps to the repo path.
You also have the option to pass a relative path to `plugin-test`.
For example, if the test script is ran in the repo directory: `asdf plugin test nodejs . 'node --version'`.
## GitHub API Rate Limiting
If your plugin's `list-all` depends on accessing the GitHub API, make sure you provide an Authorization token when accessing it, otherwise your tests might fail due to rate limiting.
To do so, create a [new personal token](https://github.com/settings/tokens/new) with only `public_repo` access.
Then on your travis.ci build settings add a _secure_ environment variable for it named something like `GITHUB_API_TOKEN`. And _DO NOT_ EVER publish your token in your code.
Finally, add something like the following to `bin/list-all`
```shell
cmd="curl -s"
if [ -n "$GITHUB_API_TOKEN" ]; then
cmd="$cmd -H 'Authorization: token $GITHUB_API_TOKEN'"
fi
cmd="$cmd $releases_path"
```
## Submitting plugins to the official plugins repository
`asdf` can easily install plugins by specifying the plugin repository url, e.g. `plugin add my-plugin https://github.com/user/asdf-my-plugin.git`.
To make it easier on your users, you can add your plugin to the official plugins repository to have your plugin listed and easily installable using a shorter command, e.g. `asdf plugin add my-plugin`.
Follow the instruction at the plugins repository: [asdf-vm/asdf-plugins](https://github.com/asdf-vm/asdf-plugins).

17
docs/pt-br/thanks.md Normal file
View File

@ -0,0 +1,17 @@
## Créditos
Eu ([@HashNuke](https://github.com/HashNuke)), febre alta, resfriado e tosse.
Copyright 2014 até o final dos tempos ([MIT License](https://github.com/asdf-vm/asdf/blob/master/LICENSE))
## Mantenedores
- [@HashNuke](https://github.com/HashNuke)
- [@danhper](https://github.com/danhper)
- [@Stratus3D](https://github.com/Stratus3D)
- [@vic](https://github.com/vic)
- [@jthegedus](https://github.com/jthegedus)
## Contribuidores
Veja em [lista de contribuidores](https://github.com/asdf-vm/asdf/graphs/contributors) :pray: no GitHub