Contribuir código no central

Para permitir que los equipos que contribuyen con src no central a los proyectos de la federación comercial tengan la plena propiedad del proceso de revisión, se han creado los siguientes proyectos con derechos abiertos +2 para todos los equipos. Esto alivia al equipo central de la federación comercial de la carga de todas las revisiones de código no relacionadas con el marco central y, al mismo tiempo, permite que los otros equipos iteren más rápido en su ciclo de revisión.

Non-core src se define como código que no es requerido por el marco de tradefederation para ser funcional (por ejemplo, pruebas personalizadas, configuraciones, utilidades de prueba específicas).

IMPORTANTE Non-core src no debe extender las clases core tradefederation. 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 la federación comercial se complace en asesorar y recibir solicitudes de funciones.

Un ejemplo de una 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 si no tiene claro qué se consideraría una clase principal para android-tradefed@.

[TOC]

Rutas de los proyectos de contribuciones

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

Si actualmente trabaja en los proyectos de tradefederation escribiendo pruebas/utilidades de prueba/configuraciones, estos proyectos fueron creados para usted.

Revisiones de código en proyectos contrib

El objetivo de los proyectos contrib es permitirle desarrollar 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.

Siéntase siempre libre de comunicarse con android-tradefed@ si se atasca o necesita orientación sobre un caso en particular, pero no confíe en él de forma predeterminada para hacer su revisión de 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 sucursales y ya forman parte del proceso de pago de la plataforma maestra, por lo que si no ve los proyectos en su entorno, está a una sincronización de repositorio de contribuir.

  • Maestro
  • comerciado
  • oc-dev
  • oc-dev-más-aosp
  • nyc-mr2-dev-más-aosp
  • master-daydream-dev
  • maestro-sin-vendedor
  • desgaste-maestro

Desarrollo y Pruebas

Se espera que el desarrollo en contrib tenga la misma barra 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 probar localmente en contrib?

AOSP

En aosp, las pruebas unitarias de contrib se encuentran en plataforma/herramientas/tradefederation/contrib/tests/src/ y las pruebas unitarias deben agregarse a com.android.tradefed.prodtests.UnitTests para que se recojan en 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 proyectos de contribución

Las reglas de compilación (archivos MAKE) están en su propia carpeta build/ y están bloqueadas por un archivo OWNERS que evitará que las modifique sin una revisión adicional 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 el acuerdo del equipo central. Si realmente necesita agregar nuevas dependencias, comuníquese con android-tradefed@ para analizar sus casos de uso y asesorarlo.