Flag peluncuran fitur digunakan oleh Google sebagai pendekatan untuk memastikan cabang kode yang stabil. Flag ini juga diperlukan untuk jenis kontribusi tertentu ke AOSP. Sebelum menerapkan pemberian tanda peluncuran fitur, tentukan apakah tanda diperlukan untuk perubahan Anda. Selain itu, jika diperlukan tanda, Anda harus menentukan jenis tanda yang akan digunakan.
Menentukan penggunaan tanda
Untuk menentukan kapan harus menggunakan tanda peluncuran fitur, ikuti panduan berikut:
Jika Anda membuat perubahan yang dapat menyebabkan codebase AOSP menjadi tidak stabil, seperti menambahkan fitur baru atau memperbaiki bug yang sangat kompleks, gunakan tanda peluncuran fitur.
Sebaliknya, jika Anda membuat perubahan kode yang tidak mungkin menyebabkan codebase menjadi tidak stabil, seperti mengubah komentar, Anda tidak perlu menggunakan tanda peluncuran fitur.
Menentukan jenis tanda
Ada dua jenis tanda: tanda aconfig dan tanda build.
Tanda Aconfig
Flag Aconfig digunakan untuk memisahkan eksekusi kode yang belum dirilis dari kode yang dirilis selama proses pengujian dan rilis. Flag Aconfig dapat bersifat baca-tulis atau hanya baca:
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 tanda aconfig baca-tulis menjadi tanda 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
Tanda build adalah konstanta waktu build (string) dan Anda tidak dapat mengubahnya selama runtime. Gunakan tanda ini dalam situasi saat Anda tidak dapat menggunakan tanda aconfig, seperti:
- Anda memiliki potongan kode yang telah dikompilasi atau dibuat sebelumnya yang ingin disertakan dalam build.
- Anda ingin membuat perubahan pada sistem build itu sendiri.
- Anda ingin menempatkan tanda di sekitar dependensi untuk mengelola ukuran kode.