Neste artigo discutiremos a importância de usar o controle de versionamento em nosso projeto, além de prover segurança e estabilidade ao mesmo. Mesmo para um projeto individual é importante utilizar esse recurso, para ter mais segurança e produtividade, por outro lado em uma equipe com pelo menos 2 pessoas, é essencial (quase obrigatório) tomar o controle de versionamento como pré-requisito para desenvolvimento de determinado projeto.

Vamos voltar aos primórdios, quando nem existia “Sistema de Controle de Versões” e todo esse suposto “controle” era feito manualmente pelos profissionais.

Vamos ilustrar uma problema para entender a utilidade de um Sistema Controlador de Versões:

João e Pedro estão trabalhando em uma mesma classe (em métodos distintos), a classe CalculadorImposto.java, onde João está desenvolvendo o método “calcularICMS” e Pedro está desenvolvendo o “calcularCONFINS”. Ambos estão trabalhando em computadores distintos, consequentemente possuem projetos distintos e arquivos distintos. Quando João terminar de implementar seu método e Pedro também, eles terão que sentar e verificar linha a linha as diferenças da classe de João para a classe de Pedro, assim poderão “concatenar” ambas para transformar em uma única classe consistente. O problema encontrado aqui é a falta de automatização nesse processo, que por sinal é muito descentralizado. Outro problema é não termos nenhum histórico das versões anteriores, pois imagine se algo ocorre errado nessa junção de classes, como voltaríamos ao que estava antes para garantir o funcionamento do sistema ? Apenas se foi realizado um backup prévio.

Enfim, são diversos problemas que podemos encontrar durante o desenvolvimento de uma aplicação quando está não está versionada adequadamente, e este tutorial será como principal foco mostrar como utilizar o versionamento através do “Google Code” juntamente com o Eclipse.

Iniciando versionamento de aplicação no Eclipse e Google Code

Todo projeto que possui um controle de versionamento precisa de um repositório, esse repositório nada mais é do que o local onde está instalado o Sistema de Controle de Versões e fará toda a gerencia necessária da aplicação.

O Google Code disponibiliza um repositório para você onde você poderá escolher qual sistema de controle de versões deseja usar, são eles: Git, Mercurial ou Subversion. Em suma, todos seguem a mesma linha de pensamento de qualquer Sistema de Controle de Versões que se preze, mas cada um possui funcionalidades distintas, que não nos interessa saber no exato momento. Para nosso artigo, escolheremos o Subversion como Sistema de Controle de Versões.

Lembrando que você pode também instalar um Sistema de Controle de Versões em um Servidor de sua escolha ao invés de usar o Google Code. Optamos por sua o repositório do Google Code apenas pela praticidade que eles nos proporciona na criação de um projeto com versionamento, algo que seria um pouco mais complexo caso quiséssemos partir do zero e criar um servidor próprio, não que seja difícil, mas foge do escopo de nosso artigo.

O primeiro passo é instalar o Subversion no Eclipse e para isso vá até Help->Eclipse Marketplace.... Procure por “Subversive” e instale-o no seu Eclipse. Após isso você já poderá trabalhar com o Sistemas de controle de versão.

O próximo passo é mudar a sua perspectiva de desenvolvimento para “SVN Repository Exploring”. Clique no ícone “Open Perspective” como na figura 1.

Abrindo nova Perspectiva

Figura 1: Abrindo nova Perspectiva

Após isso, você deve escolher a perspectiva “SVN Repository Explornig”, como na figura 2.

Escolhendo SVN Repository Exploring como Perspectiva

Figura 2: Escolhendo SVN Repository Exploring como Perspectiva

Agora, antes darmos continuidade aos demais passos no Eclipse, temos que configurar nosso projeto no Google Code, é através dele que faremos a conexão ao nosso repositório. Então acesse o link http://code.google.com/ e clique em “Create a new Project”. Você será redirecionado para uma página de configuração do seu projeto, então vamos aos detalhes:

  • Project Name: O nome do seu projeto, de preferência sem espaços ou caracteres especiais. Isto é, se o nome do seu projeto for “Céu Vermelho” você deverá colocar “ceu-vermelho”.
  • Project Summary: Um resumo sobre seu projeto. Ex: “Projeto para compartilhamento de arquivos P2P (Peer to Peer).”
  • Description: Uma descrição mais detalhada sobre seu projeto.
  • Version Control System: Como explicado anteriormente, escolheremos o Sistema de Controle de Versões que utilizaremos, em nosso caso será o Subversion.
  • Source Code License: Esta etapa é mais minuciosa e você deve saber qual o tipo licença o seu software se enquadra. Mas lembre-se, os projetos postados no Google Code são “Open Source” (Código aberto), ou seja, todas as licenças são referentes a código Open Source, você não encontrará nenhuma relacionado a aplicativos pagos. Em nosso caso escolheremos o “Apache License 2.0”. Se você não tem ideia de onde seu software se enquadra você pode ler um artigo sobre tal assunto, que encontra-se na seção links desse artigo. Lá você encontrará mais detalhes sobre cada licença.
  • Project Labels(s): São tags que descrevem seu projeto na Rede, em nosso caso escolheremos as tags: p2p, compartilhamento, java, desktop. Com essas tags descrevemos de formas rápida que nosso projeto é para Compartilhamento P2P usando a linguagem Java e Desktop.

Veja na figura 3 como ficou nossa configuração.

Configurando projeto Google Code

Figura 3: Configurando projeto Google Code

Após você clicar em “Create Project” você será redirecionado para página com todas as configurações do seu projeto. Não nos apegaremos a detalhes desta página, apenas ao essencial. É importante lembrar que pelo fato de ser um projeto Open Source, qualquer um poderá baixar seus códigos fontes e ajudar no desenvolvimento do seu projeto, afinal este é o objetivo de projetos Open Sources.

Caso você não queria trabalhar desta forma, deseje um projeto privado, aconselhamos o uso de um Servidor próprio ou um outro repositório pago tal como Assembla, Github e entre outros.

Clique na aba “Source” e veremos o link utilizado para conectar em nosso repositório.

Link https para conectar ao nosso repositório

Figura 4: Link https para conectar ao nosso repositório

Copie o link demonstrado na figura 4 e vamos criar agora uma conexão do Eclipse com o Repositório do Google Code através deste link. Para isso, volte ao Eclipse (ainda na perspectiva de “Svn Repository Exploring” que havíamos deixado configurado e clique no botão “New Repository Location”, como mostrado na figura 5.

Criando novo repositório

Figura 5: Criando novo repositório

Vamos configurar agora a conexão com nosso repositório através dos parâmetros abaixo:

URL: Link https que copiamos na figura 4, iremos colocar aqui este link. Como uma observação muito importante: O link que copiamos nos leva direto ao “trunk” do nosso repositório, e queremos na verdade o diretório ROOT, ou seja, aquele que contém o “trunk”, os “branches” e “tags” (Não entraremos na discussão sobre o que é cada um destes termos, você pode ler um livro completo sobre SVN que está na seção de links deste artigo, o “svn-book”).

Sabendo disto, nosso novo link será: “httpsHYPERLINK "https://ceu-vermelho.googlecode.com/svn/"://ceu-vermelho.googlecode.com/svn/”, sem o “trunk” no final.

Label: Você pode optar por usar como “label” o próprio link ou dar um nome que você desejar, este nome ou link aparecerá ao lado do nome do projeto no Eclipse. Por padrão deixaremos o link afim de facilitar a identificação da localização do repositório posteriormente.

Authentication: O seu usuário e senha de conexão ao repositório. Como nós estamos trabalhando com o Google Code, os padrões são: seu e-mail e senha.

As outras configurações você pode deixar padrão e apenas clicar em “Finish”.

Configurando novo repositório no Eclipse

Figura 6: Configurando novo repositório no Eclipse

Pronto, teremos agora nosso nosso repositório criado e configurado no Eclipse. Agora poderemos criar nosso projeto e conectar a este. Iremos utilizar aqui um projeto Java padrão, mas nada impede que você utilize outro tipo de projeto ao seu gosto. Iremos criar nosso projeto através da opção “Checkout” do repositório, para isso clique sobre o link do seu repositório e “expanda” o mesmo para até aparecer os diretórios trunk, branches e tags. Clique com o botão direito do mouse sobre o diretório trunk e vá até a opção “Find/Check Out As..”.

Na janela que aparecer deixa a primeira opção marcada, assim faremos o Check out do nosso projeto criando um novo projeto do Eclipse, e clique em “Finish”.

Fazendo Check Out do Projeto

Figura 7: Fazendo Check Out do Projeto

As próximas etapas são a criação de um projeto normal, escolheremos (como já foi dito) um projeto Java, mas fique a vontade para selecionar outro tipo de projeto ao seu gosto ou a sua necessidade.

Enfim, temos agora nosso projeto “Ceu Vermelho” criado e linkado com o Google Code. Não entraremos em méritos sobre o funcionamento do “Commit, Update, Merge … “ e outras ações que você poderá realizar com o SVN, para isso aconselhamos que você leia o livro svn-book com o link na seção de downloads deste artigo.

Através deste artigo é possível configurar qualquer outro tipo de projeto que você necessitar, seja no Google Code ou qualquer outro repositório, pois o que importa ao eclipse é apenas o link de conexão com o mesmo. Perceba também que ao lado do nome do projeto você verá o número “1” que simboliza que este é a primeira versão de nosso projeto, conforme vamos atualizando e “comitando” as alterações para o Google Code, nossa versão vai alterando, assim temos total controle do que está sendo feito.

LINKS