Ferramenta de Análise de Código Java - E.g Diga-me se uma assinatura de método foi alterada, a implementação do método

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

Pergunta

Existe alguma ferramenta diff especificamente para Java que não apenas destacam diferenças em um arquivo, mas é mais complexa?

por mais complexo Quero dizer, tomar 2 arquivos de entrada, o mesmo arquivo de classe de diferentes versões, e me dizer coisas como:

  • nomes de campo alterados
  • novos métodos adicionados
  • métodos excluídos
  • métodos cujas assinaturas mudaram
  • métodos cujas implementações mudaram (não interessadas em mais detalhes do que isso)

    Feito algum googling e não consegue encontrar nada assim ... Eu acho que pode ser útil para determinar se as alterações de dependência exigiriam uma reconstrução de um determinado módulo.

    Agradecemos antecipadamente

    edit:

    Eu suponho que eu deveria esclarecer:

    Eu não estou incomodado sobre uma GUI para a ferramenta, seria algo que estou interessado em chamando programaticamente .

    e como para o meu raciocínio:

    • para treinar se eu precisar reconstruir certos módulos / componentes, se suas dependências mudaram (o que poderia nos salvar cerca de 1 hora por componente) ... Explicação mais detalhada, mas eu realmente não vejo isso tão importante.
    • Para ser usado para analisar as alterações feitas em determinados componentes que estamos tentando bloquear e confiar em como sendo mais estável, estamos tentando garantir que apenas raramente se os assinaturas de método mudarem em um determinado componente.
Foi útil?

Solução

Você disse acima que clirr é o que você está procurando.

Mas para outros com necessidades ligeiramente diferentes, gostaria de recomendar jdiff .Ambos têm prós e contras, mas para minhas necessidades acabei usando JDIFF.Eu não acho que isso satisfaça o seu último ponto de bala e é difícil ligar para programaticamente.O que faz é gerar um relatório útil para diferenças de API.

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