Translate

29 de janeiro de 2010

Turbine seu Eclipse com plugins

Adicione novas habilidades ao Eclipse, basta ir em Help > install new software, e adicione o site do plugin.

Listas de plugins:
http://eclipse-plugins.2y.net/eclipse/index.jsp
http://www.eclipseplugincentral.com/

Seleções:
C++ IDE: http://download.eclipse.org/tools/cdt/releases/galileo
RSS Reader: http://morphine.sourceforge.net/presence/projects/rss/index.html
ByeCycle - Analisador de código: http://priki.org/svn/byecycle/trunk/updatesite
Subclipse - Para Subversion: http://subclipse.tigris.org/update
EclipseME - Mobile sites: http://eclipseme.org/updates/ 

Referência:
http://javafree.uol.com.br/topic-7238-Eclipse-Plugins-Instalacao-via-Update-Sites.html

Subversion - Controle de versões

Antes de alterar seu programa, para adicionar uma nova funcionalidade ou alguma correção, é importante ter uma cópia do código, caso precisemos recuperar a versão anterior.
O controle de versão é formado pela área de trabalho e o repositório das versões.
As principais operações realizadas são:
  • commit = envia o pacote da área de trabalho para o repositório (backup), cada commit gera uma nova versão;
  • update = atualiza a área de trabalho com as modificações do repositório.
Para quem trabalha em equipe, ter um controle das versões é indispensável, uma ferramenta muito utilizada para isso é o Subversion (linha de comando), RapidSVN(interface gráfica do SubVersion), e seu similar TortoiseSVN para Windows.
O SubVersion cria backups de pastas(projetos) e qualquer arquivo com controle de versões, sendo que, para cada nova versão cria cópias dos arquivos atualizados e links para os repetidos, evitando assim a duplicidade de arquivos.

Antes de ver como utilizar a ferramenta, vamos ver alguns conceitos  importantes:
  • Repositório: Local onde o(s) projeto(s) será(ão) armazenado(s).
  • Trunk: Diretório onde se encontrará o projeto em fase de desenvolvimento (Dia a dia). O desenvolvimento do projeto começa aqui dentro.
  • Branch: Diretório destinado às fases de testes. Vamos supor o seguinte cenário, enquanto a Equipe A trabalha no desenvolvimento de novas funcionalidades da versão 1.0 do projeto, a Equipe B já inicia alguns testes para adicionar na versão 2.0 do projeto. Este projeto é de grande importância. Tudo o que for feito como forma de testar algo, sem comprometer o projeto como um todo, deverá ser colocado dentro deste diretório.
  • Tags: Diretório destinado às atualizações do projeto. Sempre que novas funcionalidades são adicionadas ao projeto e/ou bugs são corrigidos novas versões surgem dentro do diretório TAGS. Apenas os arquivos alterados são copiados para esta pasta, e links apontam para os demais.
O Subversion armazena todos os dados versionados em um repositório central. Os diretórios Trunk, Branch e Tags são uma convenção para organização do seu projeto, ou seja, podem ter outros nomes ou podem nem existir.
Para começar na prática, crie um novo repositório:
$ svnadmin create /caminho/do/repositorio
$ ls /caminho/do/repositorio
conf/ dav/ db/ format hooks/ locks/ README.txt
Este comando cria um novo diretório em /caminho/do/repositorio que contém um repositório do Subversion. Este diretório contém (entre outras coisas) um conjunto de arquivos de base de dados.

O repositório apenas gerencia arquivos e diretórios, então é intuitivo interpretar diretórios específicos como “projetos”, tenha em mente que estamos apenas falando sobre algum dado diretório (ou conjunto de diretórios) dentro do repositório.

Comece organizando seus dados dentro de um único diretório chamado meuprojeto (ou qualquer outro nome de sua preferência). A estrutura da árvore de seu projeto deve conter três diretórios internos chamados de branches, tags, e trunk. O diretório trunk deve conter todos os seus dados, enquanto que os diretórios branches e tags são vazios.

Em seguida importe os dados para dentro do repositório com o comando svn import:
$ svn import /tmp/meuprojeto file:///caminho/do/repositorio/meuprojeto -m
Adding               /tmp/meuprojeto/branches
Adding               /tmp/meuprojeto/tags
Adding               /tmp/meuprojeto/trunk
Adding               /tmp/meuprojeto/trunk/foo.c
Adding               /tmp/meuprojeto/trunk/bar.c
Adding               /tmp/meuprojeto/trunk/Makefile
...
Committed revision 1.

Agora o repositório contém esta árvore de dados. Como mencionado anteriormente, você não verá seus dados ao listar diretamente o conteúdo do repositório; os dados estão todos armazenados dentro de uma base de dados. Mas o sistema de arquivos imaginário do repositório agora contém um diretório
de alto nível chamado meuprojeto, que por sua vez contém seus dados.

Veja que o diretório /tmp/meuprojeto original não é alterado; o Subversion sequer tem conhecimento dele. (De fato, você pode até excluir esse diretório se quiser.) Para começar a manipular os dados do repositório, você precisa criar uma nova “cópia de trabalho” dos dados, que são uma espécie de espaço de trabalho particular. Solicite que o Subversion lhe entregue (“check out”) uma cópia de trabalho do diretório meuprojeto/trunk no repositório:
$ svn checkout file:///caminho/do/repositorio/meuprojeto/trunk meuprojeto
A meuprojeto/foo.c
A meuprojeto/bar.c
A meuprojeto/Makefile
...
Checked out revision 1.
Agora você tem uma cópia pessoal de uma parte do repositório em um novo diretório chamado meuprojeto. Você pode alterar os arquivos em sua cópia de trabalho e então submeter essas alterações de volta para o repositório.
• Entre em sua cópia de trabalho e modifique o conteúdo de algum arquivo.
• Execute svn diff para ver uma saída unificada de suas alterações.
• Execute svn commit para submeter a nova versão de seu arquivo ao repositório.
• Execute svn update para deixar sua cópia de trabalho “atualizada” com o repositório.
Para conhecer todas as coisas que você pode fazer com sua cópia de trabalho, leia Capítulo 2 do livro do Subversion, uso básico.


Referências:
conceitos_basicos_controle_versao_centralizado_e_distribuido
Controle de versão com Subversion no Eclipse no Windows
Subclipse - plugin do Subversion no Eclipse 
Livro do Subversion 
Tutorial resumido do Subversion
Criando um servidor de versões com Visual SVN Server 
Hospedando projetos no Google-code