Berkontribusi pada kode non-inti

Untuk memungkinkan tim yang berkontribusi pada src non-inti ke project tradefederation memiliki kepemilikan penuh atas proses peninjauan, project berikut telah dibuat dengan hak +2 terbuka untuk semua tim. Hal ini mengurangi beban kerja tim federasi perdagangan inti 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.

Non-core src didefinisikan sebagai kode yang tidak diwajibkan oleh tradefederation aplikasi Anda menjadi fungsional (mis. pengujian khusus, konfigurasi, pengujian tertentu utilitas).

PENTING src non-inti tidak boleh memperluas class tradefederation inti. Hal ini akan memengaruhi pemfaktoran ulang/pembersihan di masa mendatang. Jika Anda tidak yakin apakah kode Anda termasuk dalam core atau contrib, hubungi android-tradefed@ untuk mendapatkan klarifikasi. Tim tradefederation inti 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 inti ke android-tradefed@.

[TOC]

Jalur project kontribusi

Untuk siapa proyek kontrib ini ditujukan?

Jika saat ini Anda bekerja dalam project tradefederation menulis tes/pengujian utilitas/konfigurasi, project ini dibuat untuk Anda.

Tinjauan kode dalam project contrib

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

Jangan ragu untuk menghubungi android-tradefed@ jika mengalami masalah atau memerlukan panduan tentang kasus tertentu, tetapi jangan mengandalkannya secara {i>default<i} untuk melakukan peninjauan kode Anda di kontrib. Tim Tradefed tidak memiliki SLO terkait peninjauan kode di contrib.

Di mana saya bisa mulai mengerjakan proyek-proyek ini?

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

  • utama
  • tukar tambah
  • oc-dev
  • {i>oc-dev-plus-<i}
  • {i>nyc-mr2-dev-plus-<i}
  • pengembangan-main-daydream
  • main-tanpa-vendor
  • wear-main

Pengembangan dan pengujian

Pengembangan dalam kontribusi diharapkan memiliki standar kualitas yang sama seperti di negara lain di repositori Android:

  • Mengikuti panduan pemformatan Android
  • Kode diuji dan dikirimkan dengan pengujian
  • Desainnya cermat dan masuk akal

Bagaimana cara menguji 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 untuk diambil dalam skrip pengujian lokal dan pra-pengiriman.

Skrip lokal Aosp setelah menjalankan lunch:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Memperbarui aturan build ke project kontribusi

Aturan build (makefile) berada di folder build/-nya sendiri dan dikunci oleh file OWNERS yang akan mencegah Anda mengubahnya tanpa peninjauan tambahan dari tim inti. Ini adalah satu-satunya batasan untuk project contrib.

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