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 elementos 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.

Contribuye con el código

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

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 publícalas como código abierto.
  • Contribuye con herramientas relacionadas con Bazel, por ejemplo, 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 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 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 atribución. Para obtener más información, consulta la Guía del usuario de Bazel Code Search.