Cómo contribuir con código que no sea del núcleo

Permitir que los equipos que contribuyan con src no principales a los proyectos de la federación de comercio propiedad absoluta del proceso de revisión, se crearon los siguientes proyectos con derechos de +2 abiertos para todos los equipos. Esto libera al equipo principal de TradeFederation de la carga de todas las revisiones de código no relacionadas con el framework principal y, al mismo tiempo, permite que los otros equipos iteren más rápido en su ciclo de revisión.

El src no principal se define como el código que el framework de tradefederation no requiere para ser funcional (p. ej., pruebas personalizadas, parámetros de configuración y utilidades de prueba específicas).

IMPORTANTE El código src no principal no debe extender las clases de federación principal. Hacerlo afecta a la refactorización o limpieza futuras. Si no estás seguro de si tu código pertenece a core o contrib, comunícate con android-tradefed@ para obtener aclaraciones. El equipo principal de Trade Federation estará encantado de asesorarte y recibir solicitudes de funciones.

Un ejemplo de clase principal de tradefederation sería cualquier clase del paquete com.google.android.tradefed.build, como la siguiente: com.google.android.tradefed.build.LaunchControlProvider

Una vez más, comunícate con nosotros si no tienes claro qué se consideraría una clase principal a android-tradefed@.

[TIC]

Rutas de los proyectos de contrib

¿Para quiénes son estos proyectos de contribución?

Si actualmente trabajas en los proyectos de la federación de escritura de pruebas, utilitarios/config, estos proyectos se crearon para ti.

Revisiones de código en proyectos de contribución

El objetivo de los proyectos de contribuciones es permitirte realizar el desarrollo en Tradefed sin necesidad de la revisión del equipo principal (android-tradefed@). Por lo tanto, esperamos que tu equipo o cualquier persona familiarizada con tu contexto realice las revisiones de código en tus CL.

No dudes en comunicarte con android-tradefed@ si tienes problemas o necesitas orientación sobre un caso en particular, pero no lo uses de forma predeterminada para hacer la revisión de código en contrib. El equipo de Tradefed no tiene un SLO cuando se trata de revisiones de código en contrib.

¿Dónde puedo comenzar a trabajar en estos proyectos?

Se han agregado a los siguientes manifiestos de rama y ya son parte de de la plataforma principal. Si no ve los proyectos de su entorno estás a una sincronización del repo de contribuir.

  • principal
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • main-without-vendor
  • wear-main

Desarrollo y pruebas

Se espera que el desarrollo en contrib tenga el mismo nivel de calidad que en cualquier otro lugar. En los repositorios de Android:

  • Respeta los lineamientos de formato de Android
  • El código se prueba y se envía con pruebas.
  • El diseño es inteligente y tiene sentido

¿Cómo puedo realizar pruebas de forma local en contrib?

AOSP

En aosp, las pruebas de unidades de contrib se encuentran en platform/tools/tradefederation/contrib/tests/src/ y las pruebas de unidades se deben agregar a com.android.tradefed.prodtests.UnitTests para que se recojan en las secuencias de comandos de pruebas locales y previas al envío.

Secuencias de comandos locales de Aosp después de ejecutar lunch:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Actualización de las reglas de compilación para contribuir con proyectos

Las reglas de compilación (archivos de configuración) se encuentran en su propia carpeta build/ y están bloqueadas por un archivo OWNERS que evitará que las modifiques sin una revisión adicional del equipo principal. Esta es la única limitación del proyecto de contribución.

Necesitamos esta revisión para asegurarnos de que no se agreguen dependencias inesperadas al proyectos generales de Tradefed sin el conocimiento o el acuerdo del equipo central. Si realmente necesitas agregar dependencias nuevas, comunícate con android-tradefed@ para analizar tus casos de uso y asesorarte