Para permitir que los equipos que contribuyen con src no central a los proyectos de la federación comercial tengan plena propiedad del proceso de revisión, se han creado los siguientes proyectos con derechos +2 abiertos para todos los equipos. Esto libera al equipo central de la Tradefederation de la carga de todas las revisiones de código no relacionadas con el marco central y, al mismo tiempo, permite a los otros equipos iterar más rápido en su ciclo de revisión.
El src no central se define como código que el marco de la federación comercial no requiere para que sea funcional (por ejemplo, pruebas personalizadas, configuraciones, utilidades de prueba específicas).
IMPORTANTE Los src no básicos no deben ampliar las clases principales de la federación comercial. Hacerlo afecta la refactorización/limpieza futura. Si no está seguro de si su código pertenece a core o contrib, comuníquese con android-tradefed@ para obtener una aclaración. El equipo central de Tradefederation estará encantado de asesorarle y recibir solicitudes de funciones.
Un ejemplo de clase central de Tradefederation sería cualquier clase del paquete
com.google.android.tradefed.build
como:com.google.android.tradefed.build.LaunchControlProvider
Nuevamente, comuníquese con nosotros si no tiene claro qué se consideraría una clase principal para android-tradefed@.
[TOC]
Rutas de los proyectos Contrib
¿Para quién son estos proyectos de contribución?
Si actualmente trabaja en los proyectos de la Tradefederation escribiendo pruebas/utilidades de prueba/configuraciones, estos proyectos se crearon para usted.
Revisiones de código en proyectos de contribución
El objetivo de los proyectos de contribución es permitirle realizar desarrollo en Tradefed sin necesidad de la revisión del equipo central (android-tradefed@). Por lo tanto, esperamos que su equipo o cualquier persona familiarizada con su contexto realice las revisiones de código en sus CL.
No dude en comunicarse con android-tradefed@ si se encuentra atascado o necesita orientación sobre un caso particular, pero no confíe en él de forma predeterminada para realizar la revisión del código en contrib. El equipo de Tradefed no tiene SLO cuando se trata de revisiones de código en contrib.
¿Dónde puedo empezar a trabajar en estos proyectos?
Se agregaron a los siguientes manifiestos de rama y ya son parte del pago de la plataforma principal, por lo que si no ve los proyectos en su entorno, está a una sincronización del repositorio de poder contribuir.
- principal
- alimentado con comercio
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- desarrollador-de-sueño-principal
- principal-sin-proveedor
- principal de desgaste
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 las pautas de formato de Android
- El código se prueba y se envía con pruebas.
- El diseño es reflexivo y tiene sentido.
¿Cómo hago pruebas localmente en contrib?
AOSP
En aosp, las pruebas unitarias de contrib se encuentran en platform/tools/tradefederation/contrib/tests/src/ y las pruebas unitarias deben agregarse a com.android.tradefed.prodtests.UnitTests para recogerlas en los scripts de prueba locales y de preenvío.
Scripts locales de Aosp después de ejecutar el almuerzo:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Actualización de reglas de compilación para contribuir a proyectos
Las reglas de compilación (makefiles) están en su propia carpeta build/
y bloqueadas por un archivo OWNERS
que evitará que las modifiques sin una revisión adicional por parte del equipo central. Esta es la única limitación del proyecto Contrib.
Necesitamos esta revisión para garantizar que no se agreguen dependencias inesperadas a los proyectos generales de Tradefed sin el conocimiento o acuerdo del equipo central. Si realmente necesita agregar algunas dependencias nuevas, comuníquese con android-tradefed@
para analizar sus casos de uso y asesorarlo.