Regra e política
Uma implementação, limites diferentes por projeto
Uma regra sabe como verificar algo. Sua política decide se ela executa, seus parâmetros, severidade e comportamento de bloqueio. Dois projetos podem usar o mesmo assembly com limites de tamanho diferentes, sem criar forks do código. Isso permite testar a lógica de validação separadamente e alterar requisitos sem recompilar a ferramenta.
{
"schemaVersion": 1,
"pipeline": "projecta",
"rules": {
"core.presubmit.large-file": {
"settings": {
"maxBytes": 5242880
}
}
},
"targets": {
"win64": {
"rules": {
"core.presubmit.large-file": {
"settings": {
"maxBytes": 2621440
}
}
}
}
}
}Sem target explícito, maxBytes é 5.242.880 (5 MiB). Com --platform win64, passa a 2.621.440 (2,5 MiB). A implementação C# não muda; muda o requisito. Esse trecho ilustra a seleção de parâmetros, sem repetir todo o manifesto de distribuição.