Contribuye a Bazel

Existen muchas maneras de ayudar al proyecto y al ecosistema de Bazel.

Proporcionar comentarios

A medida que usas Bazel, es posible que encuentres cosas que se puedan mejorar. Puedes ayudar a informar problemas cuando sucede lo siguiente:

  • Bazel falla o encuentras un error que solo se puede resolver con bazel clean.
  • La documentación está incompleta o no es clara. También puedes informar problemas desde la página que estás viendo con el vínculo "Crear problema" en la esquina superior derecha de la página.
  • Se podría mejorar un mensaje de error.

Participa en la comunidad

Puedes interactuar con la comunidad de Bazel de las siguientes maneras:

  • Responde preguntas en Stack Overflow.
  • Ayuda a otros usuarios en Slack.
  • Mejora la documentación o aporta ejemplos.
  • Comparte tu experiencia o tus sugerencias, por ejemplo, en un blog o en redes sociales.

Aportar código

Bazel es un proyecto grande, y hacer un cambio en el código fuente de Bazel puede ser difícil.

Puedes contribuir al ecosistema de Bazel de las siguientes maneras:

  • Ayuda a los responsables del mantenimiento de las reglas con solicitudes de extracción.
  • Crea reglas nuevas y hazlas de código abierto.
  • Contribuye a las herramientas relacionadas con Bazel, por ejemplo, las herramientas de migración.
  • Mejora la integración de Bazel con otros IDE y herramientas.

Antes de realizar un cambio, crea un problema de GitHub o envía un correo electrónico a bazel-dev@.

Las contribuciones más útiles corrigen errores o agregan funciones (en lugar de cambios de estilo, refactorización o "limpieza" ). Tu cambio debe incluir pruebas y documentación, teniendo en cuenta la retrocompatibilidad, la portabilidad y el impacto en el uso de la memoria y el rendimiento.

Para obtener información sobre cómo enviar un cambio, consulta el proceso de aceptación de parches.

Descripción del código de Bazel

Bazel tiene una base de código grande con código en varias ubicaciones. Consulta la guía de la base de código para obtener más detalles.

Bazel se organiza de la siguiente manera:

  • El código del cliente está en src/main/cpp y proporciona la interfaz de línea de comandos.
  • Los búferes de protocolo están en src/main/protobuf.
  • El código del servidor está en src/main/java y src/test/java.
    • El código principal se compone principalmente de SkyFrame y algunas utilidades.
    • Las reglas integradas están en com.google.devtools.build.lib.rules y en com.google.devtools.build.lib.bazel.rules. Te recomendamos que primero leas sobre los desafíos de escribir reglas.
  • Las interfaces nativas de Java están en src/main/native.
  • En la lista de la sección de compilación de Bazel, se describen varias herramientas para la compatibilidad con idiomas.

Cómo buscar en el código fuente de Bazel

Para buscar rápidamente en el código fuente de Bazel, usa Bazel Code Search. Puedes navegar por los repositorios, las ramas y los archivos de Bazel. También puedes ver el historial, las diferencias y la información de blame. Para obtener más información, consulta la Guía del usuario de Bazel Code Search.