Para permitir que los equipos que contribuyen con src no principal a los proyectos de Tradefederation tengan la propiedad total 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 Tradefed 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 realicen iteraciones más rápido en su ciclo de revisión.
El código fuente no principal se define como el código que no requiere el framework de Tradefed para ser funcional (p.ej., pruebas personalizadas, configuraciones, utilidades de prueba específicas).
IMPORTANTE Los src no centrales no deben extender las clases centrales de Tradefed. Esto afecta la refactorización o limpieza futuras. Si no sabes si tu código pertenece a core o contrib, comunícate con android-tradefed@ para obtener más información. El equipo principal de Tradefed se complace en brindar asesoramiento y recibir solicitudes de funciones.
Un ejemplo de clase principal de Tradefed sería cualquier clase del paquete
com.google.android.tradefed.build
, como la siguiente:com.google.android.tradefed.build.LaunchControlProvider
Nuevamente, comunícate con nosotros si no sabes con certeza qué se consideraría una clase principal para android-tradefed@.
[TOC]
Rutas de los proyectos de contribución
¿Para quiénes son estos proyectos de contribución?
Si actualmente trabajas en los proyectos de Tradefederation escribiendo pruebas, utilidades de prueba o configuraciones, estos proyectos se crearon para ti.
Revisiones de código en proyectos de contribuciones
El objetivo de los proyectos de contribución es permitirte desarrollar en Tradefed sin necesidad de la revisión del equipo principal (android-tradefed@). Por lo tanto, esperamos que tu equipo o cualquier persona que conozca 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 confíes en él de forma predeterminada para que realice tu 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 agregaron a los siguientes manifiestos de ramas y ya forman parte de la confirmación de la plataforma principal, por lo que, si no ves los proyectos en tu entorno, solo debes sincronizar el repositorio para comenzar a 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 de 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 locales 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 incluyan en las secuencias de comandos de pruebas locales y previas a la confirmación.
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 proyectos de contribución
Las reglas de compilación (makefiles) se encuentran en su propia carpeta build/
y están bloqueadas por un archivo OWNERS
que te impedirá modificarlas sin una revisión adicional del equipo principal. Esta es la única limitación del proyecto de contribución.
Necesitamos esta revisión para garantizar que no se agreguen dependencias inesperadas a los proyectos generales de Tradefed sin el conocimiento o el acuerdo del equipo principal.
Si realmente necesitas agregar dependencias nuevas, comunícate con android-tradefed@
para que analice tus casos de uso y te asesore.