Cake: automatizando tarefas

O Cake é um automatizador de tarefas construído sobre o compilador do C# e de fácil configuração.

Instalando o Cake

Para usar o Cake, precisamos baixar os scripts de automação que vem todos em um arquivo chamado build.ps1 que roda no Powershell. Para isso, abra o Powershell, crie uma pasta chamada CakeAutomation.

Com a pasta criado, execute o comando para baixar o pacote com as configurações.

Pronto, o ambiente está configurado, agora precisamos de um projeto para automatizar.

Crie uma aplicação de exemplo

Eu tenho um post que ensina como criar uma aplicação console com o Visual Studio Code, vamos usar este exemplo para automatizar uma build:

Visual Studio Code: como criar uma aplicação console em C#

Crie o script de build da aplicação com o Cake

Na raiz do projeto, inclua uma arquivo chamado build.cake, que será onde residirá todo o código de automação. Edite o arquivo conforme segue:

Agora o script está pronto para ser rodado, para isso, é preciso que você esteja na raiz do projeto, via powershell digite o comando a seguir:

Site oficial

https://cakebuild.net/

Extensão para VS Code:

https://marketplace.visualstudio.com/items?itemName=cake-build.cake-vscode

Repositório no GitHub:

https://github.com/tiagopariz/CakeAutomation

PostgreSQL: instalando no Windows

O PostgreSQL é um banco de dados relacional poderoso, e dentre os gratuitos open-source, um dos mais usados por pequenas e grandes empresas. Sem falar que é um projeto bastante maduro, sendo que vem sendo desenvolvido desde 1985.

Download

Para instalar o banco de dados, entre no site postgresql.org e clique em Download e em seguida em Windows.

Em Windows installers – Interactive installer by EnterpriseDB, clique em Download the installer e selecione o sistema operacional Windows x86-64 e finalmente em Download Now.

Instalação

Dê um duplo clique sobre o instalador que foi baixado, e aguarde o carregamento da tela inicial de instalação, e clique em Next.

Vá clicando em Next e mantenha as configurações padrão até chegar na tela password, onde digite e confirme a senha 123456, para fins de teste, e clique em Next.

Mantenha a porta 5432, e clique em Next.

Em Locale, selecione Portuguese, Brazil, e clique em Next.

Confira o sumário de instalação e clique em Next nesta e na próxima tela.

Aguarde o processo de instalação e clique em Finish.

O PostgreSQL está instalado e pronto para usar.

Até a próxima.

 

C#: Using e Dispose

Não vejo muitos softwares usando em seu código, pelo menos da maneira correta, o bloco using em conjunto método Dispose da interface IDisposable() da maneira correta. Mas vou mostrar em um exemplo bem simples como estes dois recursos podem ser poderosos para manter uma aplicação enxuta e performática.

Para começar, vamos criar uma solução chamada UsingAndDispose e incluir dois projetos, um projeto de domínio do tipo Class Library chamado UsingAndDispose.Domain e outro do tipo Console Application chamado UsingAndDispose.Prompt.

No projeto de domínio, vamos incluir uma classe chamada TxtFile, que recebe dois parâmetros via construtor, nome do arquivo e pasta, e com eles alimenta uma propriedade que retorna o caminho completo. Incluiremos também um método que efetuará o fechamento do arquivo após a leitura e limpará a memória, mas neste caso vamos apenas escrever um frase na tela do console.

Crie uma classe chamada TxtFile e defina uma herança da interface IDisposable, que exigirá a implementação do método Dispose, que chamará o método Close().

Obs.: Não vamos entrar na complexidade da lógica de leitura de um arquivo de texto de fato, mas apenas criar um classe que poderia implementá-la, o importante é entender o mecanismo do bloco using.

Então, no projeto de console, altere a classe Program.cs, incluindo um bloco using, conforme o código a seguir, e faça uma referência ao projeto de domínio para acessar a classe TxtFile.

Ao executar o código acima, percebemos que a mensagem do método Close é exibida em tela, mas o curioso que em nenhum momento o chamamos diretamente. Isso acontece porque a classe TxtFile implementa a interface IDisposable, e quando o using recebe objetos que são implementados a partir desta interface, automaticamente é chamado o método Dispose() ao fechar o bloco. E neste caso, o método Dispose() foi implementado com uma chamada ao método Close().

Acesse o projeto completo no meu GitHub:

https://github.com/tiagopariz/UsingAndDispose

 

 

Visual Studio: abrir a pasta atual do arquivo na solution

Muitas vezes trabalhamos com soluções complexas, com várias dezenas ou centenas de arquivos, e quando precisamos encontrar fisicamente o arquivo no disco ou no projeto, temos que olhar o tooltip da guia e abrir pasta a pasta.

Felizmente, tem uma opção, que não vem marcada por default no Visual Studio que facilita esta navegação. Ao ativar esta opção, a solution já abre a pasta e coloca o foco no arquivo assim que se inicia a trabalhar nele.

Para configurar esta opção, clique no menu Tools, e em seguida em Options, abra o nó Environment e clique em Documents. Deixe marcada a opção Open file using directory of currently active document e clique em OK.

Outro atalho bastante útil é CTRL + , (Control e vírgula), no qual é possível procurar arquivos por nome e referências.

Anote estas duas dicas, pois vão facilitar muito a navegação pela solução no seu dia a dia.

Visual Studio Code: como criar uma aplicação console em C#

O Visual Studio Code é o novo editor de código open-source da Microsoft, multiplataforma, que já funciona no Windows, Linux e Mac. Com foco no novo .NET Core, que também é um framework totalmente open-source. Porém, por mais simples que pareça, programar no VS Code é consideravelmente diferente do que programar no famigerado Visual Studio.

Requisitos

O projeto de console

Abra o Visual Studio Code, clique no menu View, e em seguida em Integrated Terminal (CTRL + ‘). No terminal, crie uma pasta usando o comando md chamada ConsoleApplicationVSCode (podem usar o explorer do Windows sem problemas).

No menu File, clique em Open folder, e selecione a pasta que acabamos de criar.

Na janela do terminal, posicione na pasta criada e digite o comando dotnet new console.

Abra o arquivo Program.cs.

Edite a classe Program.cs conforme o código a seguir:

Clique no menu Debug, e em seguida em Start Debugging (F5), e então teremos nossa aplicação console funcionando!

Este tutorial básico tem o objetivo de “quebrar o gelo” para começar a usar o VS Code, e também demonstrar que este editor é tão simples quando os seus antecessores, além do mais, em conjunto com as extensões corretas, pode virar uma poderosa ferramenta de trabalho!

Acesso o código fonte no meu GitHub:

https://github.com/tiagopariz/ConsoleApplicationVSCode

 

Git Bash: abrir a solução com o Visual Studio

Muitas vezes temos a nossa barra de tarefas lotada de atalhos, quanto que com alguns comando, sem sair da janela do Git Bash, podemos atualizar e abrir o projeto direto no Visual Studio.

Estes passos não exigem a criação de nenhum script específico, apenas comandos do próprio Git e Prompt do Windows. O roteiro a seguir tem no máximo 7 passos, que podem ser reduzidos com scripts, mas aqui você começa em uma branch desatualizada e termina dentro do Visual Studio, já pronto para trabalhar, sem nenhum clique a mais. Então vamos lá:

Criar uma nova branch a partir da master e abrir no Visual Studio

  1. Abra o Git Bash,
  2. Digite o comando que abre a pasta da solução,
  3. Atualize a master,
  4. Crie uma nova branch a partir da master,
  5. Digite cmd,
  6. Digite o nome da solução com a extensão e aguarde o Visual Studio carregar,
  7. Digite exit para sair do prompt do Windows e voltar ao Git Bash.

Segue um exemplo de comandos seguindo estes passos:

Atualizar uma branch existente e abrir no Visual Studio

  1. Abra o Git Bash,
  2. Digite o comando que abre a pasta da solução,
  3. Atualize a branch,
  4. Digite cmd que vai entra no modo prompt do Windows,
  5. Digite o nome da solução com a extensão e aguarde o Visual Studio carregar,
  6. Digite exit para sair do prompt do Windows e voltar ao Git Bash.

Dica

  • É possível configurar o atalho do Git Bash para abrir já na pasta dos projetos mais usados.