Kontribusikan kode non-inti

Untuk memungkinkan tim yang menyumbangkan src non-inti ke proyek federasi perdagangan memiliki kepemilikan penuh atas proses peninjauan, proyek berikut telah dibuat dengan hak +2 terbuka untuk semua tim. Hal ini meringankan tim inti federasi perdagangan dari beban semua peninjauan kode yang tidak terkait dengan kerangka kerja inti sekaligus memungkinkan tim lain untuk melakukan iterasi lebih cepat dalam siklus peninjauan mereka.

Src non-inti didefinisikan sebagai kode yang tidak diwajibkan oleh kerangka federasi perdagangan agar dapat berfungsi (misalnya pengujian khusus, konfigurasi, utilitas pengujian khusus).

PENTING Src non-inti tidak boleh memperluas kelas federasi perdagangan inti. Melakukan hal ini akan berdampak pada pemfaktoran ulang/pembersihan di masa mendatang. Jika Anda tidak yakin apakah kode Anda termasuk dalam core atau contrib, hubungi android-tradefed@ untuk klarifikasi. Tim inti federasi perdagangan dengan senang hati memberi saran dan menerima permintaan fitur.

Contoh kelas inti federasi perdagangan adalah kelas apa pun dalam paket com.google.android.tradefed.build seperti: com.google.android.tradefed.build.LaunchControlProvider

Sekali lagi, harap hubungi jika Anda tidak yakin apa yang dianggap sebagai kelas inti untuk Android-tradefed@.

[Daftar Daftar]

Kontribusi jalur proyek

Untuk siapa proyek kontribusi ini?

Jika saat ini Anda bekerja di proyek federasi perdagangan yang menulis tes/utilitas pengujian/konfigurasi, proyek ini dibuat untuk Anda.

Tinjauan kode dalam proyek kontrib

Tujuan dari proyek contrib adalah untuk memungkinkan Anda melakukan pengembangan di Tradefed tanpa memerlukan peninjauan tim inti (android-tradefed@). Jadi kami berharap tim Anda atau siapa pun yang memahami konteks Anda melakukan peninjauan kode pada CL Anda.

Jangan ragu untuk menghubungi android-tradefed@ jika mengalami kebuntuan atau memerlukan panduan mengenai kasus tertentu, namun jangan mengandalkannya secara default untuk melakukan peninjauan kode di contrib. Tim Tradefed tidak memiliki SLO dalam hal tinjauan kode dalam kontrib.

Di mana saya bisa mulai mengerjakan proyek-proyek ini?

Mereka telah ditambahkan ke manifes cabang berikut dan sudah menjadi bagian dari checkout platform utama jadi jika Anda tidak melihat proyek di lingkungan Anda, Anda hanya perlu melakukan sinkronisasi repo untuk berkontribusi.

  • utama
  • diperdagangkan
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-lamunan-dev
  • utama-tanpa-vendor
  • pakai-utama

Pengembangan dan pengujian

Pengembangan di contrib diharapkan memiliki standar kualitas yang sama seperti di mana pun di repositori Android:

  • Hormati pedoman pemformatan Android
  • Kode diuji dan diserahkan dengan tes
  • Desainnya bijaksana dan masuk akal

Bagaimana cara saya menguji secara lokal di contrib?

AOSP

Di aosp, pengujian unit contrib terletak di platform/tools/tradefederation/contrib/tests/src/ dan pengujian unit harus ditambahkan ke com.android.tradefed.prodtests.UnitTests untuk diambil dalam skrip pengujian prapengiriman dan lokal.

Skrip lokal Aosp setelah menjalankan makan siang:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Buat pembaruan aturan untuk menyumbangkan proyek

Aturan pembangunan (makefiles) berada di bawah folder build/ mereka sendiri dan dikunci oleh file OWNERS yang akan mencegah Anda memodifikasinya tanpa tinjauan tambahan dari tim inti. Ini adalah satu-satunya batasan pada proyek contrib.

Kami memerlukan tinjauan ini untuk memastikan tidak ada ketergantungan tak terduga yang ditambahkan ke keseluruhan proyek Tradefed tanpa sepengetahuan atau persetujuan dari tim inti. Jika Anda benar-benar memerlukan beberapa dependensi baru untuk ditambahkan, silakan hubungi android-tradefed@ untuk melihat kasus penggunaan Anda dan memberi saran.