Bağımlılık yükseltmelerini analiz etme ve otomatikleştirme

Bağımlılık yönetimini basitleştirmek mi istiyorsunuz? İşlemlerinize bazı araçlar eklemek, işleri hızlandırabilir ve biraz daha dikkat gerektirebilecek alanlara dikkatinizi çekebilir.

Otomatik sürüm yükseltmeleri

Android Studio, düzenleyicide güncel olmayan kitaplık sürümlerini öne çıkarır ve bunları yeni sürüme geçirmek için gerekli hızlı düzeltmeleri içerir. Ancak bunun için tüm derleme dosyalarınızı düzenli olarak kontrol etmeniz gerekir.

Bu süreci otomatikleştirebilen, derleme dosyalarınızı yükselten ve isteğe bağlı olarak değişiklik için bir çekme isteği oluşturabilen çeşitli üçüncü taraf araçları vardır. Her bağımlılığın mevcut en son sürümlerini bulup güncellerler ancak davranış uyumluluğunu sağlamak için yine de sürümden önce sonuçları analiz etmeniz gerekir. Popüler örneklerden bazıları şunlardır:

Kullanılabilir yükseltmeleri kontrol etme

Gradle sürümleri eklentisi size daha fazla manuel yükseltme denetimi sağlar. dependencyUpdates görevini çalıştırdığınızda (./gradlew :dependencyUpdates aracılığıyla), kitaplık bağımlılıklarınızın yeni sürümleriyle ilgili bir rapor oluşturulur. Bu, kitaplık durumunu kontrol etmek ve belirli bir zamanda hangi kitaplıkları yükseltmek istediğinizi manuel olarak hedeflemek için yararlı olabilir.

Bu, özellikle bağımlılık sürümlerinizi belirtmek için sürüm kataloğu yerine özel bir yaklaşım kullanıyorsanız yararlı olabilir.

Bağımlılık değişikliklerini bildirme

Doğrudan kullandığınız kitaplıkların sürümlerini yükseltmek, uygulamanız üzerinde çok daha geniş bir etkiye sahip olabilir. Kullandığınız her kitaplık, başka kitaplık bağımlılıkları gerektirebilir. Bu da daha büyük bir geçiş bağımlılığı grafiği oluşturur.

Bağımlılık koruyucusu, uygulamanızın veya kitaplığınızın sürümleri arasındaki değişiklikleri bu grafikte gösterir. Bu, doğrudan ve dolaylı yükseltmeleri dikkate almanızı sağlayarak yükseltme analizi için paha biçilmez bir araç olabilir.

Kullanılmayan ve hatalı kullanılan bağımlılıkları tespit etme

Derlemenizi sağlıklı tutmak, derleme hızını artırabilir ve uygulamanızın ve kitaplığınızın ihtiyaç duyduğu bağımlılıklara erişmesini sağlayabilir. Bağımlılık analizi Gradle eklentisi, derleme dosyalarınızda uygun kullanımı kontrol ederek bağımlılıklarınızı incelemenizi sağlayan araçlar sunar.

Raporları şunlardır:

  • Kullanılmayan bağımlılıklar
  • Kullanılan geçişli bağımlılıklar (doğrudan bağımlılıklarınızın bunları kullanmayı bırakması durumunda uygulamanızın bunlara erişebilmesi için bunları açıkça belirtmeniz gerekir)
  • Bağımlılıklar yanlış kapsamda tanımlanmış
  • Bazı eklentilerin gereksiz kullanımı
  • Bağımlılıklarınızın GraphViz görünümleri

Lisans yönetimi

Her kitaplığın geliştiricileri, kullanmanız için onlara lisans verir. Lisansın şartlarına uymanız gerekir. Aksi takdirde bu kitaplığı kullanamazsınız. Bazı lisanslar çok izin vericidir ve genellikle yalnızca kullanımlarının bildirilmesini gerektirir. Bazıları "viral" olarak kabul edilir. Bu kitaplıkları kullanıyorsanız uygulamanıza veya kitaplığınıza aynı lisansı uygulamanız gerekir.

Lisanslar, herhangi bir sürümle birlikte değişebilir. Sürüm yükseltme yaptığınızda, kullandığınız bağımlılıkların uygulamanız veya kitaplığınızla uyumlu bir şekilde lisanslandığını doğrulamanız gerekir.

Lisansları bildirme

Gradle Lisans Raporu eklentisi, tüm bağımlılıklarınızın lisanslarını bildirerek yardımcı olur. Bağımlılıkları yükseltirken bu raporu kontrol ettiğinizden emin olun. Lisansların gereksinimlerinizle uyumlu olduğunu doğrulayın ve gerekli şartlarını karşıladığınızdan emin olun.

Lisans bildirimleri oluşturma

Lisanslama şartları genellikle bir uygulamanın kullanıcılarının veya kütüphanenin tüketicilerinin erişebileceği bir bildirim gerektirir. Gradle Lisans Eklentisi, uygulamanızda bu tür bildirimleri görüntülemek için veri veya HTML oluşturur.

Bu, bildirim gereksinimlerinizin çoğunu otomatikleştirse de kaynak lisanslarını (örneğin, yazı tipleri, resimler veya sesler için gereken lisanslar) veya internetten kopyaladığınız kod snippet'i lisanslarını bildirmez. Bu tür kullanımları manuel olarak izlemeniz ve bildirmeniz gerekir.