Busco a una herramienta como LibCheck para evaluar diferentes versiones de la misma SDK [cerrado]

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

Pregunta

Estoy trabajando en un SDK. Como libero nuevas versiones y me gustaría producir un informe de las diferencias en la API. Esta no es la diferencia en el código. La mayor parte del código no se espera que sea utilizado directamente. Las clases / métodos públicos es lo que me interesa. Además, hemos adoptado la convención de que nada en un espacio de nombres que incluye implementación no debe ser utilizado por un cliente del SDK. Así que estoy buscando para las diferencias en las interfaces públicas, clases y métodos que no están en un espacio de nombres que incluye implementación. Quiero saber lo que se ha eliminado, añadido y modificado entre dos versiones.

He encontrado una herramienta de Microsoft llamado LibCheck que está en el camino correcto. Tengo un par de problemas con LibCheck. LibCheck no reconoce un método que ha sido modificado. Se informa del método como habiendo sido eliminado y añadido. Es en algún momento informa de un método como habiendo sido eliminado y añadido, pero el nombre y los parámetros son todos iguales. No sé lo que está tratando de decirme en estos casos. Por último no me importa para la presentación de los informes. Me gustaría tener un desglose por espacio de nombres como por conjunto y la clase.

Soy consciente de que los informes son el resultado de una transformación XSLT y podría hacer que se vean esencialmente todos modos quiero. Siendo las otras cuestiones, junto con una falta general de apoyo a la herramienta de Microsoft me dejan en busca de una alternativa.

¿Fue útil?

Solución

También hay http://apichange.codeplex.com que tiene una opción de diffing. Llámelo como esto

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

y usted debe obtener un informe.

Otros consejos

Una herramienta como NDepend está muy adaptado a este trabajo, y se ha construido en las características de la presentación de informes diff a un nivel "API" en lugar de sólo texto, por ejemplo:

Comparar construye y Código Dif

NDepend tiene su propio código de lenguaje de consulta CQL que se puede utilizar para escribir informes de análisis estático altamente personalizados:

Código Query Language

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top