มีส่วนร่วมในโค้ดที่ไม่ใช่โค้ดหลัก

เราได้สร้างโปรเจ็กต์ต่อไปนี้พร้อมสิทธิ์ +2 แบบเปิดสำหรับทุกทีม เพื่อให้ทีมที่ร่วมสร้าง src ที่ไม่ใช่แกนหลักในโปรเจ็กต์ Tradefederation มีสิทธิ์เป็นเจ้าของกระบวนการตรวจสอบอย่างเต็มรูปแบบ ซึ่งจะช่วยให้ทีมหลักของ Tradefederation ไม่ต้องรับภาระในการตรวจสอบโค้ดทั้งหมดที่ไม่เกี่ยวข้องกับเฟรมเวิร์กหลัก ในขณะเดียวกันก็ช่วยให้ทีมอื่นๆ ทำซ้ำได้เร็วขึ้นในรอบการตรวจสอบ

Non-core src หมายถึงโค้ดที่เฟรมเวิร์ก Tradefederation ไม่จำเป็นต้องใช้เพื่อให้ทำงานได้ (เช่น การทดสอบที่กำหนดเอง การกำหนดค่า ยูทิลิตีการทดสอบที่เฉพาะเจาะจง)

สำคัญ src ที่ไม่ใช่แกนหลักไม่ควรขยายคลาส Tradefederation หลัก การทำเช่นนี้จะส่งผลต่อการปรับโครงสร้าง/การล้างข้อมูลในอนาคต หากไม่แน่ใจว่าโค้ดควรอยู่ในส่วนหลักหรือส่วนเสริม โปรดติดต่อ android-tradefed@ เพื่อขอคำชี้แจง ทีมหลักของ Tradefederation ยินดีให้คำแนะนำและรับคำขอฟีเจอร์

ตัวอย่างคลาสหลักของ Tradefederation คือคลาสใดก็ได้ในแพ็กเกจ com.google.android.tradefed.build เช่น com.google.android.tradefed.build.LaunchControlProvider

โปรดติดต่อเราหากคุณไม่แน่ใจว่าคลาสใดที่ถือว่าเป็นคลาสหลักสำหรับ android-tradefed@

[TOC]

เส้นทางของโปรเจ็กต์ Contrib

โปรเจ็กต์ที่ผู้ร่วมให้ข้อมูลสร้างขึ้นเหล่านี้มีไว้สำหรับใคร

หากปัจจุบันคุณทำงานในโปรเจ็กต์ Tradefederation เพื่อเขียนการทดสอบ/ยูทิลิตีการทดสอบ/การกำหนดค่า ระบบจะสร้างโปรเจ็กต์เหล่านี้ให้คุณ

การตรวจสอบโค้ดในโปรเจ็กต์ contrib

เป้าหมายของโปรเจ็กต์ contrib คือการอนุญาตให้คุณพัฒนาใน Tradefed โดยไม่ต้องมีการตรวจสอบจากทีมหลัก (android-tradefed@) ดังนั้น เราจึงคาดหวังให้ทีมของคุณหรือผู้ที่คุ้นเคยกับบริบทของคุณทำการตรวจสอบโค้ดใน CL ของคุณ

โปรดติดต่อ android-tradefed@ หากติดขัดหรือต้องการคำแนะนำเกี่ยวกับ เคสใดเคสหนึ่ง แต่โปรดอย่าใช้เป็นค่าเริ่มต้นในการตรวจสอบโค้ดใน contrib ทีม Tradefed ไม่มี SLO เมื่อพูดถึงการตรวจสอบโค้ดใน contrib

ฉันจะเริ่มทำงานในโปรเจ็กต์เหล่านี้ได้จากที่ไหน

โดยเราได้เพิ่มฟีเจอร์ดังกล่าวลงในไฟล์ Manifest ของสาขาต่อไปนี้แล้ว และฟีเจอร์นี้เป็นส่วนหนึ่งของ การชำระเงินในแพลตฟอร์มหลักอยู่แล้ว ดังนั้นหากคุณไม่เห็นโปรเจ็กต์ในสภาพแวดล้อม คุณก็พร้อมที่จะมีส่วนร่วมได้แล้ว

  • หลัก
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • main-without-vendor
  • wear-main

การพัฒนาและการทดสอบ

การพัฒนาใน contrib คาดว่าจะต้องมีคุณภาพในระดับเดียวกับที่อื่นๆ ในที่เก็บ Android

  • ปฏิบัติตามหลักเกณฑ์การจัดรูปแบบของ Android
  • ทดสอบและส่งโค้ดพร้อมการทดสอบ
  • การออกแบบมีความรอบคอบและสมเหตุสมผล

ฉันจะทดสอบในเครื่องใน contrib ได้อย่างไร

AOSP

ใน AOSP การทดสอบหน่วยของ contrib จะอยู่ใน platform/tools/tradefederation/contrib/tests/src/ และควรเพิ่มการทดสอบหน่วยลงใน com.android.tradefed.prodtests.UnitTests เพื่อให้สคริปต์การทดสอบก่อนส่งและสคริปต์การทดสอบในเครื่องเลือกได้

สคริปต์ในเครื่องของ AOSP หลังจากเรียกใช้ lunch

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

สร้างการอัปเดตกฎสำหรับโปรเจ็กต์ที่ร่วมให้ข้อมูล

กฎการสร้าง (Makefile) อยู่ในbuild/โฟลเดอร์ของตัวเองและล็อกด้วยไฟล์ OWNERS ซึ่งจะป้องกันไม่ให้คุณแก้ไขโดยไม่ต้องมีการตรวจสอบเพิ่มเติม จากทีมหลัก นี่เป็นข้อจำกัดเดียวของโปรเจ็กต์ contrib

เราจำเป็นต้องมีการตรวจสอบนี้เพื่อให้แน่ใจว่าจะไม่มีการเพิ่มการอ้างอิงที่ไม่คาดคิดลงในโปรเจ็กต์ Tradefed โดยรวมโดยที่ทีมหลักไม่ทราบหรือไม่เห็นด้วย หากต้องการเพิ่มการอ้างอิงใหม่จริงๆ โปรดติดต่อ android-tradefed@ เพื่อตรวจสอบ Use Case ของคุณและให้คำแนะนำ