|
|
Para contribuir com o Marvin, são necessárias algumas ferramentas de gestão e outras de programação/desenvolvimento propriamente dito. A tabela abaixo resume as ferramentas que devem ser instaladas e suas respectivas versões homologadas para o projeto e link para o donwload:
|
|
|
O Marvin é desenvolvido na plataforma Java, mais especificamente utilizando os padrões Jakarta EE, com o servidor de aplicação Wildfly, o gerenciador de bancos de dados PostgreSQL e a ferramenta de automação de _build_ Maven. Para instalar todas as ferramentas necessárias para o desenvolvimento do Marvin, siga as instruções contidas no [Catálogo do LabES](https://labes.inf.ufes.br/catalogo/), na seção [Instruções para plataformas de desenvolvimento específicas](https://gitlab.labes.inf.ufes.br/labes/catalogo/-/wikis/plataformas/%C3%ADndice-plataformas):
|
|
|
|
|
|
Tecnologia | Ferramenta | Versão | Download
|
|
|
------------------- | ---------------------- | ------- | -----------------------------------------------------------------
|
|
|
SDK Java | OpenJDK | 18 | [jdk.java.net](https://jdk.java.net/18/)
|
|
|
Gestão do Projeto | Maven | 3.8 | [maven.apache.org](https://maven.apache.org/download.cgi)
|
|
|
IDE | Visual Studio Code | 1.6 | [code.visualstudio.com](https://code.visualstudio.com/Download)
|
|
|
Banco de Dados | MySQL Community Server | 8.0 | [dev.mysql.com](https://dev.mysql.com/downloads/mysql/)
|
|
|
Front-end do BD | MySQL Workbench | 8.0 | [dev.mysql.com](http://dev.mysql.com/downloads/tools/workbench/)
|
|
|
Servidor Jakarta EE | WildFly Preview EE 9.1 | 26.0 | [wildfly.org](https://wildfly.org/downloads/)
|
|
|
Comunicação | Slack | – | [slack.com](https://slack.com/intl/pt-br/downloads/)
|
|
|
Gestão / DevOps | GitLab | – | [gitlab.labes.inf.ufes.br](https://gitlab.labes.inf.ufes.br/)
|
|
|
Controle de Versão | Git | 2.x | [git-scm.com](https://git-scm.com/downloads)
|
|
|
|
|
|
O GitLab é utilizado diretamente na Web por meio de um navegador. Para o Slack, há versões para os principais sistemas operacionais e também para dispositivos móveis. A parte da [gerência do projeto](dev/Manual-Dev-–-Gerência-do-Projeto) trata mais destas ferramentas, pois é necessário que um dos administradores envie um convite para o canal do Slack e crie uma conta no GitLab.
|
|
|
|
|
|
Quanto às demais ferramentas, que cada desenvolvedor(a) deve instalar em sua máquina, a seguir damos algumas dicas de instalação para diferentes plataformas em que já experimentamos. Por fim, elencamos plug-ins a serem instalados e configurações a serem feitas no Visual Studio Code ao final desta página.
|
|
|
|
|
|
## MacOS
|
|
|
|
|
|
Recomendamos que desenvolvedores(as) que usam MacOS instalem o gerenciador de pacotes [Homebrew](https://brew.sh/) e se familiarizem com os procedimentos de atualização e instalação de fórmulas (nome dado pelo Homebrew a softwares que podem ser instalados por ele).
|
|
|
|
|
|
A instalação das ferramentas acima no MacOS pode dar-se da seguinte maneira:
|
|
|
|
|
|
- **OpenJDK**: instalar a [fórmula `openjdk` do Homebrew](https://formulae.brew.sh/formula/openjdk#default);
|
|
|
- **Maven**: instalar a [fórmula `maven` do Homebrew](https://formulae.brew.sh/formula/maven#default);
|
|
|
- **VSCode**: obter a versão MacOS disponível (link na tabela acima), descompactar e copiar o programa para a pasta _Applications_;
|
|
|
- **MySQL Server**: obter o arquivo DMG disponível (link na tabela acima), abri-lo e executar o instalador (arquivo `.pkg`), seguindo as instruções;
|
|
|
- **MySQL Workbench**: obter o arquivo DMG disponível (link na tabela acima), abri-lo e copiar o programa para a pasta _Applications_;
|
|
|
- **WildFly**: obter o arquivo ZIP disponível (link na tabela acima), descompactá-lo e colocar em algum lugar de sua preferência (sugestão: criar uma pasta _Development_ dentro da pasta _Applications_);
|
|
|
- **Slack**: obter o arquivo DMG disponível (link na tabela acima), abri-lo e copiar o programa para a pasta _Applications_;
|
|
|
- **Git**: caso já não tenha o Git instalado, instalar a [fórmula `git` do Homebrew](https://formulae.brew.sh/formula/git#default).
|
|
|
|
|
|
|
|
|
|
|
|
## Linux
|
|
|
|
|
|
Buscamos algum voluntário que utilize alguma distro do Linux para que instale as ferramentas descritas acima e documente o processo para escrever esta seção nos moldes da seção do MacOS.
|
|
|
|
|
|
Na minha experiência com Ubuntu Linux, o OpenJDK, Maven, MySQL Server, MySQL Workbench poderiam ser instalados via gerenciador de pacotes (apt). O VSCode possui uma versão `.deb` e outra `.rpm` em [code.visualstudio.com](https://code.visualstudio.com/Download). Já o WildFly seria instalado da mesma forma que no MacOS (apenas descompactar).
|
|
|
|
|
|
|
|
|
## Windows
|
|
|
|
|
|
A instalação das ferramentas acima pode se dar da seguinte maneira no Windows 10:
|
|
|
|
|
|
- **OpenJDK**: obter a versão Windows disponível (link na tabela acima), descompactar em algum local (ex.: `C:\Development`), configurar a variável de ambiente `JAVA_HOME` apontando para o diretório da JDK e adicionar `%JAVA_HOME%\bin` ao _PATH_ (fonte: [tutorials24x7.com](https://java.tutorials24x7.com/blog/how-to-install-openjdk-17-on-windows));
|
|
|
- **Maven**: obter a versão binária disponível (link na tabela acima), descompactar em algum local (ex.: `C:\Development`), configurar as variáveis de ambiente `MAVEN_HOME` e `M2_HOME` apontando para o diretório do Maven e adicionar `%M2_HOME%\bin` ao _PATH_ (fonte: [charlesmms.azurewebsites.net](http://charlesmms.azurewebsites.net/2017/09/04/instalando-maven-no-windows-10/));
|
|
|
- **VSCode**: obter a versão Windows disponível (link na tabela acima) e instalar normalmente;
|
|
|
- **MySQL Server**: obter o instalador para Windows disponível (link na tabela acima) e executá-lo. Escolher a opção _Custom_, selecionar _Server_, _Workbench_, _Shell_, _connectors_ desejados, _Documentation_ e _Samples_. Na tela _Check Requirements_, selecione os itens que precisam ser resolvidos e, se não forem do tipo _Manual_, clique em _Execute_. Se for _Manual_, você que tem que resolver (fonte [dev.mysql.com](https://dev.mysql.com/downloads/windows/installer/8.0.html)).
|
|
|
- **MySQL Workbench**: o Workbench é instalado junto do servidor no procedimento acima. No entanto, caso você encontre os erros _"could not acquire management access for administration"_ e _"target host is configured as windows, but seems to be a different os"_, a solução é a seguinte: abrir o Painel de Controle, item _Região_, aba _Administrativo_, clicar no botão _Alterar localidade do sistema_, marcar a opção (_checkbox_) _Beta: Usar Unicode UTF-8 para suporte de linguagem mundial_ e reiniciar o Windows;
|
|
|
- **WildFly**: obter o arquivo ZIP disponível (link na tabela acima), descompactá-lo e colocar em algum lugar de sua preferência (ex.: `C:\Development`);
|
|
|
- **Slack**: obter a versão Windows disponível (link na tabela acima) e instalar normalmente;
|
|
|
- **Git**: ao invés de usar a versão disponível para Windows (link na tabela acima), me pareceu mais simples obter a versão disponível em [gitforwindows.org](https://github.com/git-for-windows/git/releases/latest) e instalá-lo normalmente.
|
|
|
|
|
|
Além dos softwares acima, é interessante também instalar o Subsistema Windows para Linux (WSL), usando o comando `wsl --install -d Ubuntu` num terminal (Prompt de Comando). Mais informações em [docs.microsoft.com](https://docs.microsoft.com/pt-br/windows/wsl/install).
|
|
|
|
|
|
|
|
|
## Configuração do Visual Studio Code
|
|
|
|
|
|
Para desenvolvimento do Marvin, instale os seguintes plug-ins:
|
|
|
|
|
|
* [Java Extension Pack](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) (instruções em [Java in Visual Studio Code](https://code.visualstudio.com/docs/languages/java)).
|
|
|
|
|
|
Além disso, faça as seguintes configurações (clicando no botão de configurações -- a engrenagem na parte inferior esquerda da janela):
|
|
|
|
|
|
* `java.format.settings.url` = `https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml` (configura o formatador do plug-in Java para usar o [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html)).
|
|
|
1. [Desenvolvimento Web em Java com Jakarta EE (WildFly), PostgreSQL e Maven](https://gitlab.labes.inf.ufes.br/labes/catalogo/-/wikis/plataformas/java,-jakarta-ee-(wildfly),-postgresql-e-maven);
|
|
|
2. [Configuração da IDE para desenvolvimento Jakarta EE](https://gitlab.labes.inf.ufes.br/labes/catalogo/-/wikis/plataformas/configura%C3%A7%C3%A3o-da-ide-para-desenvolvimento-jakarta-ee).
|
|
|
|
|
|
|
|
|
:arrow_right: [Gerência de projeto: entenda como funciona e integre-se](dev/Manual-Dev-–-Gerência-do-Projeto)
|
... | ... | |