BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias OpenWrap: Um Gerenciador de Pacotes para .NET

OpenWrap: Um Gerenciador de Pacotes para .NET

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

Conteúdo educacional

BT