Instalação e Quickstart¶
Instalar¶
Requer Python 3.11+ (usa o tomllib da biblioteca-padrão). A ferramenta
não tem dependências de terceiros.
O teu primeiro diff¶
A forma mais simples compara dois ficheiros que já tens — sem opções, sem conceitos:
Abre o report.md: uma tabela-resumo de cada elemento que difere, e depois um
detalhe N-way — uma coluna por ficheiro. Passa mais ficheiros para mais
colunas. O código de saída é 1 quando há diferenças (útil em CI), 0 caso
contrário.
Experimenta sem preparar nada
Clonaste o repo? Corre nos exemplos sintéticos incluídos:
A pastaexamples/ vem no repo, não no pacote pip.
Entradas: ficheiros e/ou diretórios¶
O xmldiffreport aceita ficheiros e/ou diretórios como argumentos:
Cada ficheiro é uma fonte; uma unidade (ex. um SMART_FOLDER do
Control-M) é reportada quando aparece em 2+ ficheiros e difere. Guia completo:
Inputs e organização dos ficheiros.
Escolher uma recipe¶
Uma recipe ensina o motor sobre um dialecto XML. Embutidas:
--recipe controlm— exports BMC Control-M.--recipe maven-pom— drift de dependências/plugins dopom.xmlMaven.--recipe junit— relatórios de testes JUnit/xUnit.--recipe sitemap—sitemap.xml.--recipe generic— sem conhecimento de dialecto (a omissão).
Também podes passar o caminho para o teu próprio .toml — ver
Escrever recipes.
Opções da CLI¶
xmldiffreport [paths...] [-r RECIPE] [-o OUT] [-f FORMAT]
paths ficheiros .xml e/ou diretórios (diretórios varridos recursivamente)
-r, --recipe nome de recipe embutida ou caminho .toml (default: generic)
-o, --out ficheiro de saída (default: reports/YYYYMMDD_HH_MM.<ext>)
-f, --format formato de saída: md (default) ou html
Formatos de saída¶
O relatório é gerado através de uma strategy extensível, por isso o mesmo diff pode sair em vários formatos:
xmldiffreport examples/controlm -r controlm -f html -o report.html
# o formato também é inferido pela extensão do -o (.html → html)
Formatos embutidos: md (Markdown, default) e html (página autónoma,
sem assets externos). Acrescentar mais (ex. JSON) é uma só classe — ver
Contribuir.
A seguir: Como funciona.