vcpkg PR Lista de verificação de revisão
Revisão: 1
Visão geral
Este documento fornece uma lista de verificação anotada que os membros da equipe vcpkg usam para aplicar o rótulo "revisado" em solicitações pull de entrada. Se uma solicitação pull violar qualquer um desses pontos, poderemos pedir aos colaboradores que façam as alterações necessárias antes de podermos mesclar o conjunto de alterações.
Sinta-se à vontade para criar um problema ou pull request se achar que essa lista de verificação pode ser melhorada. Aumente o número de revisão ao modificar o conteúdo da lista de verificação.
Lista de Verificação
Você pode vincular qualquer um desses itens de lista de verificação em um comentário do GitHub copiando o endereço do link anexado a cada código de item.
c000001: Nenhuma função auxiliar preterida é usada
Consulte nossas Diretrizes e Políticas do Mantenedor para obter mais informações.
C000002: O campo '"Port-Version"' é atualizado
Consulte nossas Diretrizes e Políticas do Mantenedor para obter mais informações.
c000003: Novas portas contêm um campo '"description"' escrito em inglês
Uma descrição de apenas uma ou algumas frases é útil. Considere usar a descrição oficial da biblioteca a partir README.md
deles ou similar, se possível. Traduções automáticas são aceitáveis e estamos felizes em limpar traduções para inglês para nossos colaboradores.
Consulte nossa documentação do arquivo de manifesto para obter mais informações.
c000004: Nenhum comentário desnecessário está presente no conjunto de alterações
Consulte nossas Diretrizes e Políticas do Mantenedor para obter mais informações.
c000005: Os arquivos baixados são versionados se disponíveis
Para garantir que o conteúdo do arquivo não seja alterado, os arquivos baixados preferencialmente têm uma tag de versão associada que pode ser incrementada ao lado da"version"
porta.
c000006: Novas portas passam por verificações de CI para trigêmeos que a biblioteca suporta oficialmente
Para garantir que as portas vcpkg sejam de alta qualidade, pedimos que as portas de entrada suportem as plataformas oficiais para a biblioteca em questão.
c000007: Os patches corrigem problemas que são específicos do vcpkg
Se possível, os patches para o código-fonte da biblioteca devem ser enviados para o repositório oficial da biblioteca. Abrir uma solicitação pull no repositório da biblioteca ajudará a melhorar a biblioteca para todos, não apenas para os usuários vcpkg.
c000008: Novas portas baixam o código-fonte da fonte oficial, se disponível
Para respeitar os autores da biblioteca e manter o código seguro, faça o download do código-fonte da fonte oficial. Podemos abrir exceções se o código-fonte original não estiver disponível e houver interesse substancial da comunidade em manter a biblioteca em questão.
c000009: Portas e recursos de porta são nomeados corretamente
Para a acessibilidade do usuário, preferimos que os nomes de portas e recursos de porta sejam intuitivos e próximos de seus homólogos em fontes oficiais e outros gerenciadores de pacotes. Se você não tiver certeza sobre a nomeação de uma porta ou recurso de porta, recomendamos verificar repology.org, packages.ubuntu.com ou procurar informações adicionais usando um mecanismo de pesquisa. Também podemos ajudar nossos colaboradores com isso, então sinta-se à vontade para pedir sugestões de nomenclatura se você não tiver certeza.
c000010: Os destinos da biblioteca são exportados quando apropriado
Para fornecer aos usuários uma integração perfeita do sistema de compilação, certifique-se de exportar e fornecer um meio de encontrar os destinos da biblioteca destinados a serem usados a jusante. Os alvos que não se destinam a ser exportados devem ser marcados como privados e não exportados.
c000011: As portas não usam aplicativos que modificam o sistema do usuário
As portas devem manter o contrato do vcpkg de não modificar o sistema do usuário, evitando aplicativos que o façam. Exemplos desses aplicativos são sudo
, , apt
brew
ou pip
. Por favor, use uma alternativa para esses tipos de programas sempre que possível.
c000012: Portas com dependências do sistema incluem uma mensagem de informação durante a instalação
Algumas portas têm dependências de biblioteca e ferramenta que não existem no vcpkg. Para essas dependências ausentes, pedimos que os colaboradores adicionem uma mensagem à parte superior da porta informando as dependências ausentes portfile.cmake
e como adquiri-las. Pedimos que a mensagem seja exibida antes que qualquer trabalho importante seja feito para garantir que os usuários possam "sair cedo" do processo de instalação o mais rápido possível, caso estejam perdendo a dependência.
Exemplo:
message(
"${PORT} currently requires the following libraries from the system package manager:
autoconf libtool
These can be installed on Ubuntu systems via sudo apt install autoconf libtool"
)
c000013: Arquivos de manifesto são usados em vez de arquivos CONTROL para novas portas
Muitas portas existentes usam a sintaxe do arquivo CONTROL; Embora essa sintaxe seja suportada por algum tempo, novas portas não devem usá-las. Qualquer porta recém-adicionada deve usar os arquivos de manifesto.
Também recomendamos, quando modificações significativas são feitas nas portas, que se alterne para arquivos de manifesto; no entanto, isso não é necessário. Você pode achar vcpkg format-manifest
útil.