Flag peluncuran fitur digunakan oleh Google sebagai pendekatan untuk memastikan cabang kode yang stabil. Flag ini juga diperlukan untuk jenis kontribusi tertentu pada AOSP. Sebelum menerapkan pelabelan peluncuran fitur, tentukan apakah tanda diperlukan untuk perubahan Anda. Selain itu, jika flag diperlukan, Anda harus menentukan jenis flag yang akan digunakan.
Menentukan penggunaan tanda
Untuk menentukan kapan harus menggunakan flag peluncuran fitur, ikuti panduan berikut:
Jika Anda melakukan perubahan yang dapat menyebabkan codebase AOSP menjadi tidak stabil, seperti menambahkan fitur baru atau memperbaiki bug yang sangat kompleks, gunakan flag peluncuran fitur.
Sebaliknya, jika Anda membuat perubahan kode yang tidak cocok untuk menyebabkan codebase menjadi tidak stabil, seperti memodifikasi komentar, Anda tidak perlu menggunakan tanda peluncuran fitur.
Menentukan jenis tanda
Ada dua jenis flag: flag aconfig dan flag build.
Flag aconfig
Flag Aconfig digunakan untuk memisahkan eksekusi kode yang belum dirilis dari kode yang dirilis selama proses pengujian dan rilis. Flag Aconfig dapat berupa read-write atau read-only:
Flag aconfig baca-tulis adalah variabel boolean yang dapat Anda aktifkan (ditetapkan ke
true
) atau nonaktifkan (ditetapkan kefalse
) saat runtime. Gunakan tanda baca-tulis untuk menguji dan merilis perubahan tanpa memengaruhi stabilitas cabang utama.Flag aconfig hanya baca adalah konstanta boolean yang tidak dapat Anda ubah saat runtime. Anda dapat mengonversi flag aconfig baca-tulis menjadi flag aconfig hanya baca untuk kode yang stabil dan siap dirilis.
Selain itu, bergantung pada compiler yang Anda gunakan, saat tanda hanya baca digunakan, kode yang tidak dieksekusi mungkin dikecualikan dari build. Oleh karena itu, Anda dapat menggunakan tanda hanya baca untuk menyembunyikan kode apa pun yang belum siap menjadi bagian dari rilis.
Flag build
Flag build adalah konstanta waktu build (string) dan Anda tidak dapat mengubahnya selama runtime. Gunakan flag ini dalam situasi saat Anda tidak dapat menggunakan flag aconfig, seperti:
- Anda memiliki kode yang telah dikompilasi sebelumnya atau telah dibuat sebelumnya yang ingin Anda sertakan dalam build.
- Anda ingin membuat perubahan pada sistem build itu sendiri.
- Anda ingin meletakkan flag di sekitar dependensi untuk mengelola ukuran kode.