Para permitir que los equipos que contribuyen con fuentes que no son del código principal a los proyectos de TradeFederation tengan la propiedad total del proceso de revisión, se crearon los siguientes proyectos con derechos abiertos de +2 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 central de la federación de comercio está encantado de asesorar y recibir solicitudes de funciones.
Un ejemplo de clase de federación principal sería cualquier clase en el 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 contribuciones?
Si actualmente trabajas en los proyectos de tradefederation escribiendo pruebas, utilidades o configuraciones de prueba, estos proyectos se crearon para ti.
Revisiones de código en proyectos de contrib
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, se espera que tu equipo o cualquier persona familiar con el contexto lleven a cabo 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 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 poder realizar contribuciones.
- principal
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- principal-sin proveedor
- wear-main
Desarrollo y pruebas
Se espera que el desarrollo de contrib tenga la misma barra de calidad que 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 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 a proyectos de contrib
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 contrib.
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 que se agreguen algunas dependencias nuevas, comunícate con android-tradefed@
para que analice tus casos de uso y te asesore.