BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

OpenWrap: Um Gerenciador de Pacotes para .NET

por Jonathan Allen , traduzido por Alexandre Atoji em 02 Jun 2010 |

Gerenciadores de pacotes são bem conhecidos no mundo Linux aonde a necessidade para reunir as dependências de uma vasta variedade de fontes é importante. Um bom gerenciador de pacotes provê um método unificado para obter bibliotecas ou aplicações com a versão correta de todas as dependências não importando sua fonte. Para programadores Ruby o gerenciador de pacotes mais popular é o RubyGems, enquanto do lado do Perl nós temos o módulo CPAN, que é hospedado no Comprehensive Perl Archive Network.

Para desenvolvedores .NET não existe um real equivalente. Mesmo se nos restringirmos aos componentes da Microsoft, as bibliotecas estão espalhadas pelos vários websites da Microsoft assim como em sites independentes como o SourceForge e o Codeplex. E com o crescimento da confiança em projetos não-Microsoft como Castle WindSor e NHibernate os problemas são agravados.

Em uma apresentação no Progressive.NET, Sebastien Lambla introduz o OpenWrap, um projeto com o foco em gerenciamento de dependencias na forma binária. Robert Pickering resume como o OpenWrap funcionará,

Os pacotes são armazenados como zips em um servidor central. O OpenWrap provê uma DSL que possibilitará você escolher qual pacote você quer usar e qual versão deste pacote você prefere (a sintaxe é um pouco flexível possibilitando escolher a menor e a maior versão). O OpenWrap provê um conjunto de targets msbuild que possibilita você juntar essa DSL baseada na descrição no seu processo de construção e, claro, no visual studio. Esses targets msbuild tomarão conta do download dos projetos que você pediu e suas dependências para um cache centralizado em sua máquina. Esse cache centralizado proverá as referências necessarias para o build do projeto.

Esse não é o primeiro gerenciador de pacotes a surgir para o ecossistema .NET. Há também o projeto Bricks que foi recentemente anunciado, que atualmente é uma ferramenta para linha de comando, e o WebGAC, que por alguma razão estranha necessita do Apache.

Como ainda está no começo, o OpenWrap ainda necessita de uma edição manual do arquivo do projeto para chamar o OpenWrap ao invés do compilador C#. Ao listar dependências em uma arquivo "wrap descriptor", as DLLs necessárias são automaticamente baixadas e adicionadas no projeto. Por causa que as referências são gerenciadas pelo OpenWrap, elas não aparecem na pasta de referências do solution explorer.

Os pacotes são baseados no formato ZIP. Além de ser um formato bem conhecido para os programadores Windows, isso tem a vantagem de ser extensível devido à forma como as informações do cabeçalho são armazenadas no final do arquivo. Como esse é considerado um espaço perdido, é um lugar ideal para guardar assinaturas digitais.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT