Untuk memungkinkan tim yang berkontribusi pada src non-core ke project tradefederation memiliki kepemilikan penuh atas proses peninjauan, project berikut telah dibuat dengan hak +2 terbuka untuk semua tim. Hal ini membebaskan tim tradefederation inti dari beban semua peninjauan kode yang tidak terkait dengan framework inti sekaligus memungkinkan tim lain melakukan iterasi lebih cepat dalam siklus peninjauan mereka.
Src non-inti didefinisikan sebagai kode yang tidak diperlukan oleh framework tradefederation agar berfungsi (misalnya, pengujian kustom, konfigurasi, utilitas pengujian tertentu).
PENTING src non-inti tidak boleh memperluas class tradefederation inti. Melakukannya akan memengaruhi refaktorisasi/pembersihan di masa mendatang. Jika Anda tidak yakin apakah kode Anda termasuk dalam core atau contrib, hubungi android-tradefed@ untuk mendapatkan klarifikasi. Tim inti Tradefederation dengan senang hati akan memberikan saran dan menerima permintaan fitur.
Contoh class TradeFederation inti adalah class apa pun dalam paket
com.google.android.tradefed.build
seperti:com.google.android.tradefed.build.LaunchControlProvider
Sekali lagi, hubungi kami jika Anda tidak yakin apa yang akan dianggap sebagai class inti ke android-tradefed@.
[TOC]
Jalur project kontribusi
Untuk siapa proyek kontribusi ini?
Jika saat ini Anda bekerja di project tradefederation dengan menulis pengujian/utilitas pengujian/konfigurasi, project ini dibuat untuk Anda.
Peninjauan kode dalam project kontribusi
Tujuan project kontribusi adalah memungkinkan Anda melakukan pengembangan di Tradefed tanpa memerlukan peninjauan dari tim inti (android-tradefed@). Jadi, kami berharap tim Anda atau siapa pun yang memahami konteks Anda dapat melakukan peninjauan kode pada CL Anda.
Jangan ragu untuk menghubungi android-tradefed@ jika Anda mengalami kebuntuan atau memerlukan panduan tentang kasus tertentu, tetapi jangan mengandalkannya secara default untuk melakukan peninjauan kode Anda di contrib. Tim Tradefed tidak memiliki SLO terkait peninjauan kode dalam kontribusi.
Di mana saya dapat mulai mengerjakan project ini?
Project tersebut telah ditambahkan ke manifes cabang berikut dan sudah menjadi bagian dari checkout platform utama. Jadi, jika Anda tidak melihat project di lingkungan Anda, Anda hanya perlu melakukan sinkronisasi repo untuk berkontribusi.
- utama
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- utama-tanpa-vendor
- wear-main
Pengembangan dan pengujian
Pengembangan di contrib diharapkan memiliki standar kualitas yang sama seperti di tempat lain di repositori Android:
- Mematuhi panduan pemformatan Android
- Kode diuji dan dikirimkan dengan pengujian
- Desainnya cermat dan masuk akal
Bagaimana cara melakukan pengujian secara lokal di contrib?
AOSP
Di AOSP, pengujian unit kontribusi terletak di platform/tools/tradefederation/contrib/tests/src/ dan pengujian unit harus ditambahkan ke com.android.tradefed.prodtests.UnitTests agar dapat diambil dalam skrip pengujian lokal dan pra-submit.
Skrip lokal AOSP setelah menjalankan lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Membuat pembaruan aturan untuk project kontribusi
Aturan build (makefile) berada di folder build/
mereka sendiri dan dikunci oleh file
OWNERS
yang akan mencegah Anda memodifikasinya tanpa peninjauan tambahan
dari tim inti. Ini adalah satu-satunya batasan untuk project kontribusi.
Kami memerlukan peninjauan ini untuk memastikan tidak ada dependensi yang tidak terduga ditambahkan ke project Tradefed secara keseluruhan tanpa sepengetahuan atau persetujuan dari tim inti.
Jika Anda benar-benar perlu menambahkan beberapa dependensi baru, hubungi
android-tradefed@
untuk mempelajari kasus penggunaan Anda dan memberi saran.