Sumbangkan Kode Non-Inti

Untuk mengaktifkan tim yang berkontribusi src non-inti ke proyek tradefederation kepemilikan penuh dari proses peninjauan, proyek berikut telah dibuat dengan hak +2 terbuka untuk semua tim. Ini meringankan tim tradefederation inti dari beban semua tinjauan kode yang tidak terkait dengan kerangka kerja inti sementara juga memungkinkan tim lain untuk mengulangi lebih cepat dalam siklus tinjauan mereka.

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

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

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

Sekali lagi, hubungi jika Anda tidak jelas apa yang dianggap sebagai kelas inti untuk android-tradefed@.

[TOC]

Kontribusi jalur proyek

Untuk siapa proyek kontribusi ini?

Jika saat ini Anda bekerja di proyek tradefederation menulis tes/utilitas uji/konfigurasi, proyek ini dibuat untuk Anda.

Ulasan kode dalam proyek kontribusi

Tujuan dari proyek kontribusi adalah untuk memungkinkan Anda melakukan pengembangan di Tradefed tanpa perlu peninjauan dari tim inti (android-tradefed@). Jadi kami mengharapkan tim Anda atau siapa pun yang akrab dengan konteks Anda untuk melakukan tinjauan kode pada CL Anda.

Jangan ragu untuk menghubungi android-tradefed@ jika macet atau membutuhkan panduan pada kasus tertentu, tetapi jangan mengandalkannya secara default untuk melakukan tinjauan kode Anda di contrib. Tim Tradefed tidak memiliki SLO dalam hal ulasan kode di contrib.

Di mana saya dapat 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.

  • menguasai
  • perdagangan
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • master-lamunan-dev
  • master-tanpa-vendor
  • ahli memakai

Pengembangan dan Pengujian

Pengembangan di contrib diharapkan memiliki bilah kualitas yang sama seperti di tempat lain di repositori Android:

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

Bagaimana cara 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 di skrip pengujian pra-pengiriman dan lokal.

Skrip lokal Aosp setelah menjalankan makan siang:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Buat pembaruan aturan untuk berkontribusi pada proyek

Aturan build (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 untuk proyek kontribusi.

Kami membutuhkan 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 membutuhkan beberapa dependensi baru untuk ditambahkan, silakan hubungi android-tradefed@ untuk melihat kasus penggunaan Anda dan memberi tahu Anda.