Mengontribusikan kode non-inti

Untuk memberdayakan tim yang berkontribusi pada src non-inti ke project tradefederation kepemilikan penuh atas proses peninjauan, proyek 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 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 kelas tradefederation inti adalah class apa pun di 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]

Project kontrib jalur

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 terkalahkan tidak memiliki SLO dalam hal peninjauan kode sebagai kontribusi.

Di mana saya bisa mulai mengerjakan proyek-proyek ini?

Mereka telah ditambahkan ke manifes cabang berikut dan sudah menjadi bagian dari {i>checkout<i} di platform utama jadi jika Anda tidak melihat proyek di lingkungan Anda, Anda memerlukan sinkronisasi repo untuk berkontribusi.

  • utama
  • tukar tambah
  • ok-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:

  • Patuhi pedoman pemformatan Android
  • Kode diuji dan dikirimkan dengan pengujian
  • Desain bijaksana dan masuk akal

Bagaimana cara menguji secara lokal di contrib?

AOSP

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

Skrip lokal Aosp setelah menjalankan makan siang:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Membuat pembaruan aturan ke project contrib

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

Kita memerlukan peninjauan ini untuk memastikan tidak ada dependensi yang tidak diharapkan yang ditambahkan ke keseluruhan proyek Tradefed tanpa pengetahuan atau persetujuan dari tim inti. Jika Anda benar-benar memerlukan beberapa dependensi baru untuk ditambahkan, hubungi android-tradefed@ untuk memeriksa kasus penggunaan Anda dan memberikan saran kepada Anda.