15. Kapan Harus Digunakan
15. Kapan Harus Digunakan
-
Build Tool Plugin: Saat project memiliki schema/template yang harus di-generate menjadi Swift code sebelum kompilasi (protobuf, GraphQL, OpenAPI, localizable strings dari spreadsheet). Automasi menghilangkan risiko human error pada file generated.
-
Command Plugin: Saat ada operasi developer yang perlu distandarisasi di seluruh tim — formatting, linting, documentation generation, release preparation. Lebih reproducible dari shell script ad-hoc.
-
Binary Target: Saat mendistribusikan library proprietary (IP tidak boleh terlihat), atau library yang compile-timenya sangat lambat dan sudah stable (tidak sering berubah).
-
Monorepo dengan Local Package: Tim besar yang mengerjakan beberapa app berbeda yang berbagi core logic. Local packages memberikan separation yang jelas tanpa friction overhead publikasi ke remote registry.
-
Swift Package Registry: Saat organisasi memiliki banyak internal packages dan ingin governance yang lebih ketat (siapa yang bisa publish, version lifecycle, deprecation policy). Self-hosted registry memberikan kontrol penuh.
-
Package.resolved di VCS: Selalu — ini memastikan reproducible builds di semua mesin developer dan CI.