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

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

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

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

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

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

[TOC]

เส้นทางของโปรเจ็กต์ที่มีส่วนร่วม

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

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

การตรวจสอบโค้ดในโปรเจ็กต์ที่มีส่วนร่วม

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

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

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

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

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

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

การพัฒนาในโปรเจ็กต์ที่มีส่วนร่วมควรมีคุณภาพเทียบเท่ากับที่อื่นๆ ในที่เก็บ Android โดยมีข้อกำหนดดังนี้

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

ฉันจะทดสอบในเครื่องในโปรเจ็กต์ที่มีส่วนร่วมได้อย่างไร

AOSP

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

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

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

อัปเดตกฎการบิลด์สำหรับโปรเจ็กต์ที่มีส่วนร่วม

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

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