BT

Novidades O InfoQ vem desenvolvendo uma série de novas funcionalidades para melhorar sua experiência com o site. Confira!

OpenWrap: Um Gerenciador de Pacotes para .NET

| por Jonathan Allen Seguir 125 Seguidores , traduzido por Alexandre Atoji Seguir 0 Seguidores em 02 jun 2010. Tempo estimado de leitura: 2 minutos |

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.

Avalie esse artigo

Relevância
Estilo/Redação

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

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT