Estou à procura de uma ferramenta como LibCheck para avaliar diferentes versões do mesmo SDK [fechado]

StackOverflow https://stackoverflow.com/questions/783790

Pergunta

Eu estou trabalhando em um SDK. Como eu lançar novas versões gostaria de produzir um relatório das diferenças na API. Esta não é a diferenças no código. A maioria do código não é esperado para ser usado diretamente. As classes / métodos públicos é o que eu estou interessado. Além disso, adotamos a convenção de que qualquer coisa em um espaço de nomes que inclui a implementação não deve ser usado por um cliente do SDK. Então eu estou procurando as diferenças entre as interfaces públicas, classes e métodos que não estão em um espaço de nomes que inclui Implementação. Eu quero saber o que foi removido, adicionado e modificada entre dois lançamentos.

Eu encontrei uma ferramenta da Microsoft chamado LibCheck que está no estádio direita. Eu tenho um par de questões com LibCheck. não LibCheck não reconhece um método que tenha sido modificado. Ele informa o método como tendo sido removido e adicionado. É algum relata um método como tendo sido removido e adicionado, mas o nome e os parâmetros são todos iguais. Eu não sei o que ele está tentando me dizer nestes casos. Finalmente, eu não ligo para o layout dos relatórios. Gostaria uma quebra de namespace, bem como pela montagem e classe.

Estou ciente de que os relatórios são o resultado de uma transformação XSLT e eu poderia fazê-los parecer essencialmente de qualquer maneira que eu quero. Ainda outras questões, juntamente com uma falta geral de apoio para a ferramenta de Microsoft deixa-me à procura de uma alternativa.

Foi útil?

Solução

Há também http://apichange.codeplex.com que tem uma opção de diffing é. Chamá-lo assim

ApiChange -diff -old $net2dir\System.dll -new $net4dir\System.dll

e você deve obter um relatório.

Outras dicas

Uma ferramenta como NDepend é muito adequado para este trabalho, e foi construído em recursos para diff relatórios em um nível "API" ao invés de apenas textuais por exemplo:

Comparar Constrói e Código Diff

NDepend tem seu próprio CQL linguagem de consulta de código que pode ser usado para escrever relatórios de análise estática altamente personalizados:

Código Query Language

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top