Desenvolvimento

20 mai, 2016

Integrando o fluxo de trabalho de desenvolvimento em Sublime com o Sistema de Compilação – Parte 02: Opções e Variáveis

Publicidade

Agora que você já teve a sua introdução a build systems do Sublime, vamos dar um passo adiante e apresentar algumas das mais úteis opções e variáveis disponíveis para ajudar a personalizar os seus build systems em direção a uma vida verdadeiramente plena.

Parte 2: Opções e Variáveis

Transcrição

Se você assistiu à parte 1, saberá que finalizamos depois de executar o nosso primeiro build system, e vimos que ele apresenta o conteúdo do diretório User Packages. Isso acontece porque, por padrão, o diretório de trabalho do build systems é o diretório em que o arquivo de configuração é salvo. Neste episódio, vamos ver como podemos mudar isso, bem como dar uma olhada em algumas das outras características que o build systems pode nos dar.

Então, vamos voltar ao nosso pequeno arquivo build system e fazer uma edição rápida.

Tudo o que vamos fazer agora é adicionar uma opção de diretório de trabalho aqui, o que, por agora, vamos simplesmente definir para a raiz da minha unidade C, para simplificar, e salvar o arquivo.

Se nos o executarmos novamente, podemos ver que os resultados mostram o conteúdo da minha unidade C em vez do meu diretório User Packages. Como você pode ver, ao adicionar opções à nossa build, podemos obter um maior controle sobre como os nossos comandos são executados, e eu recomendo que você verifique a documentação para ver quais são todas as opções possíveis. Mas podemos fazer mais do que apenas definir algumas opções. E se a gente não quiser que o diretório de trabalho seja fixo, mas em vez disso seja baseado no que estou trabalhando? Bom, para esse tipo de coisa, precisamos de variáveis.

Para demonstrar variáveis, iremos abandonar esse sistema de compilação LS e, em vez disso, vamos criar um novo que é realmente um pouco mais útil. Nós vamos criar um build system que irá executar arquivos JavaScript usando NodeJS. É claro que eu estou supondo que você já tem o NodeJS instalado, caso contrário não vai funcionar.

Para esse build system, vamos definir o comando como “node“, mas isso só será executará o Node REPL já que não passamos um script Node para ser executado. Na verdade, vamos ver como ele se parece, já que estamos falando sobre isso. Vamos salvar isso como node.sublime-build.

Em seguida, vamos selecionar node como o nosso build system ativo, e executá-lo.

Você verá o painel de resultados aparecendo, mas não estamos vendo nenhuma saída. Isso porque nós estamos no REPL, e ele está à espera da nossa entrada. Infelizmente, não podemos dar qualquer entrada daqui, nem podemos usar ctrl+c para matar o processo, então como é que vamos pará-lo?

Fazemos isso com Tools > Cancel Build. Agora ele diz que foi cancelado, o que significa que o processo não está mais sendo executado.

Agora vamos dar ao Node um arquivo para executar, o que vamos fazer usando a variável $file e colocando-a no comando shell. Essa variável refere-se ao caminho completo do arquivo, incluindo o nome do arquivo – do arquivo que está em foco no Sublime. Como estamos utilizando a referência para o arquivo diretamente, não será necessário definir um diretório de trabalho ou qualquer coisa desse tipo, então isso é bom. Vamos salvar. Se tentarmos executar a build agora, vamos obter um erro, porque temos um arquivo não-JavaScript aberto. Se fechamos todos os arquivos de modo que não haja nenhum ativo, nós acabaríamos executando o REPL novamente porque a variável $file estaria vazia.

Então vamos abrir um arquivo JavaScript que pode ser executado. Eu tenho um arquivo aqui extremamente simples com um pouco de JavaScript nele, então vamos abri-lo.

Agora vamos executar a build (não precisamos selecionar o build system para executar, uma vez que ainda deve estar selecionado) e teremos um erro. O que aconteceu? Bom, se você olhar aqui para cima, ele está dizendo que um módulo está faltando, o que normalmente significa que o Node está tentando carregar um arquivo e não consegue encontrá-lo. Nesse caso, estamos apenas tentando carregar um arquivo que especificamos, portanto, não está faltando nenhuma dependência. Agora olhe para o caminho que ele está procurando. Isso é estranho. Esse é o início correto para o nosso caminho, mas está cortado. Acontece que tem um espaço no caminho que estamos usando!

Vamos precisar ter certeza de que o caminho do arquivo está entre aspas, a fim de evitar esse problema.

Agora vamos salvar, executar, e podemos ver que o script foi aberto, executado e o resultado esperado pode ser visto.

Se você quiser ver mais das variáveis que você pode usar em seus build systems, pode ler a documentação. No próximo vídeo, vamos combinar vários build systems em um arquivo para organizar build relacionados, simplificar a forma como vamos mudar de build system (já que não há atalho de teclado simples para escolher um build system diferente), e evitar que a lista de build systems fique absurdamente longa.

Conclusão

Foi ótimo ver todos vocês novamente aqui. Continue assistindo ao resto da série, para que cheguemos a construir o paraíso do build system. Deus os abençoe e feliz codificação!

***

Joe Zim faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://www.joezimjs.com/javascript/integrating-your-dev-workflow-into-sublime-with-build-systems-2/