Gradle 5.0, Gradle'ın şimdiye kadarki en hızlı, en güvenli ve en güçlü sürümüdür. Bu, Gradle tarafından verilen resmi bir değerlendirmedir. V5.0'ın yeni özellikleri şunları içerir:
Daha hızlı inşa
Yavaş derleme hızı aslında para kaybıdır. Gradle 5.0'ın yeni derleme önbelleğe alma ve artımlı işleme özelliklerini kullanarak ihtiyacınız olanı oluşturmak için, geliştiricilere ve işletme yöneticilerine çok zaman bırakabilirsiniz.
Gradle 5.0'a yükselttikten sonra, yapınız hemen daha hızlı hale gelir ve diğer özellikleri kullanarak ve yapılandırarak performansı daha da artırabilirsiniz.
Önbellek oluştur
İşin tekrarlanmasını önlemek için önceki yürütmelerin sonuçlarını yeniden kullanarak, Gradle daha hızlı hale gelir. Gradle 4.0, yapı önbelleğini tanıttı, amaç önceki çağrının çıktısını yeniden kullanmaktır.
Bugün, Android, Kotlin, C ++, Scala ve diğer birçok eklenti, görev önbelleğe almayı kullanır, böylece farklı makinelerde yeniden kullanılabilirler. Derleme önbelleğinin etkili kullanımı, derleme süresini% 90'a kadar azaltabilir.
Ek olarak, Gradle 5.0'daki derleme önbelleği, bir görevin @OutputDirectories veya @OutputFiles koleksiyonunu bildirmesi gibi daha fazla senaryoda da kullanılır.
https://gradle.org/images/whats-new/gradle-4.5-assemble-cache.webm
#### Artımlı Java derlemesi
Gradle 5.0'da, artımlı derleyici yüksek düzeyde optimize edilmiştir ve varsayılan derleyici haline gelir.
İlk derleme dışında, CompileJava görevinin tüm kaynak dosyalarını yeniden derlemesi gerekmez.
Artımlı açıklama işleme
Gradle 5.0'ın artımlı derleyicisi, giderek daha fazla proje açıklama işlemcilerine dayandığından, önemli bir yenilik olan artımlı açıklama işlemeyi destekler.
Artımlı açıklama işlemeyi kullanmak için, desteklenen bir açıklama işlemci sürümüne yükseltmeniz gerekir. Belirli bir açıklama işlemcisinin artışı destekleyip desteklemediğini kontrol etmek için -info günlük kaydını veya bu tabloyu kullanabilirsiniz.
Yeni açıklama İşlemci yapılandırması, açıklama işlemcilerini yönetmek ve bunları açıklama işlemci yoluna yerleştirmek için kullanılabilir.
Tarama oluştur
Yeni performans iyileştirmeleri, bağımlılık yönetimi, günlük kaydı ve kullanımdan kaldırılan API kullanım kontrolleri, derleme taramasını önemli ölçüde iyileştirdi. Komut satırında Gradle'ı çalıştırırken scan ekleyin veya derleme tarama eklentisini uygulayıp yapılandırın.
İnce taneli geçişli bağımlılık yönetimi
Gradle 5.0, bağımlılıkların nasıl seçileceğini özelleştirmek için bazı yeni özellikler sağlar ve POM ve BOM desteğini iyileştirir:
Bağımlılık kısıtlaması
Bağımlılık kısıtlamaları, geçişli bağımlılıklar üzerinde çok sağlam kontrol sağlar.
BOM desteği
Gradle 5.0, BOM dosyalarını içe aktarabilir.
Ayrıca Gradle 5.0, bağımlılıklar oluşturmak için Maven'ı kullanma açısından daha sorunsuz bir deneyim sağlar.
POM dosyalarını kullanırken Gradle, derleme ve çalışma zamanının kapsamını doğru bir şekilde ayırabilir, böylece daha önce derleme sınıf yolunda çalışma zamanı bağımlılıklarının dahil edilmesinin neden olduğu performans düşüşünden ve bağımlılık sızıntılarından kaçınabilir.
Gradle artık POM öğelerinin sürüm aralığını da takip edebilir.
Uyum sağlamaya güvenin
Bağımlılık sürüm hizalaması, aynı mantıksal gruba (platform) ait farklı modüllerin bağımlılık grafiğinde aynı sürüme sahip olmasına izin verir.
Bu, tüm Spring veya Hibernate bağımlılıklarının aynı sürüme sahip olmasını sağlar (mümkünse). Aslında koleksiyon olarak yayınlanmış birçok kitaplık vardır ve koleksiyondaki her kitaplık aynı sürüme sahiptir.
Sürüm kilidine güvenin
Gradle 5.0'ı dinamik veya aralık bağımlılıklarını belirli bir sürüme kilitlemek, bağımlılık çözünürlüğünü daha belirleyici ve tekrarlanabilir hale getirmek ve geçişli bağımlılıklardaki değişikliklerin yapınızı kazara bozmasını önlemek için kullanabilirsiniz.
Gradle derleme mantığı yazın
Artık Gradle derleme komut dosyaları yazmak için Kotlin'i kullanabilirsiniz. Ek olarak, gradle init daha fazla proje türünü ve etkileşimi destekler.
Kotlin DSL, IDE yardımı sağlar
Gradle 5.0 itibariyle Kotlin DSL 1.0 üretimde kullanıma hazırdır. Kotlin'in statik yazımı, derleme komut dosyalarının hata ayıklaması ve yeniden düzenlenmesi, otomatik tamamlama ve beklediğiniz diğer her şey dahil olmak üzere IDE'ye daha iyi yardım sağlar.
Yapınızı yazmak için Kotlin kullanmakla ilgileniyorsanız, lütfen Gradle Kotlin DSL Primer ile başlayın.
Etkileşimli gradle init
Yeni bir Gradle yapısı oluşturmak isteyen kullanıcılar artık diğer proje türlerini seçebilirler: kotlin-library ve kotlin-application. Ek olarak, Groovy veya Kotlin DSL oluşturma komut dosyaları oluşturmayı seçebilir ve proje adını ve paketini özelleştirebilirsiniz. Son olarak, yeni etkileşimli kullanıcı arayüzü, kullanıcı deneyimini iyileştirir.
https://gradle.org/images/whats-new/interactive-init.webm
Daha fazla kullanım durumu odaklı dokümantasyon
Gradle belgeleri ve başlangıç kılavuzu, daha fazla bilgi ve daha iyi erişilebilirlik sağlar:
Daha verimli bellek kullanımı
JVM uygulamalarının test için -fail-fast ve komut satırı parametreleri gibi özellikler geliştirme sürecini iyileştirmeye yardımcı olur ve daha düşük bellek gereksinimleri ve önbellek temizliği Gradle'ın sistem yükünü azaltır.
Bellek kullanımını azaltın
Yükseltmeden sonra, yapınız sadece daha hızlı olmayacak, aynı zamanda daha az bellek kullanacaktır. Gradle 5.0'da birçok önbellekleme mekanizması optimize edilmiştir, bu nedenle Gradle işleminin varsayılan maksimum belleği büyük ölçüde azaltılmıştır.
Düzenli Gradle önbellek temizliği
Milyarlarca baytlık eski Gradle önbelleğini elle temizleme günleri geride kaldı. Gradle artık güncel olmayan önbellekleri düzenli aralıklarla temizleyebilir. Gradle ayrıca, eski görev çıktılarını daha doğru bir şekilde izleyebilir ve hatalı sonuçlara yol açabilecek temizlik yapmadan bunları temizleyebilir.
Yeni Gradle çağrı seçenekleri
Ölçek
Gradle 5.0, JUnit 5'in JUnit Platformu, JUnit Jupiter ve JUnit Vintage'ı destekler, test gruplaması ve filtrelemeyi etkinleştirmenize olanak tanır ve özel test motorları içerir.
Daha hızlı bir kırmızı-yeşil çevrimi etkinleştirmek için -fail-fast bayrağını kullanabilirsiniz ve Gradle 5.0, varsayılan olarak ilk önce başarısız testleri yürütür.
Kerestecilik
Gradle 5.0'da, günlük mesajları göreve göre gruplandırılır.
Gradle'ın zengin komut satırı konsolu, hangi testlerin yürütüldüğünü göstermenin yanı sıra, herhangi bir yapı hatası olup olmadığını bir bakışta size söyleyebilen renkli yapı durumu bilgilerini de görüntüler. Gradle'dan görevleri yürütürken kaydetmesini istemek için "ayrıntılı" konsol modunu da kullanabilirsiniz.
Son olarak, Gradle uyarı günlüğünü özetlemek, kapatmak veya genişletmek için uyarı modunu yapılandırabilirsiniz.
Bileşik yapı
Bileşik yapılar, diğer bağımsız projeleri dahil etmenize olanak tanır, böylece hem uygulamayı hem de bağlı olduğu kitaplıkları geliştirebilirsiniz.
Artık bileşik yapıları kontrol etmek için yapı taramasını kullanabilirsiniz. Kompozit yapılar da uyumludur.
Varsayılan olarak paralel olarak oluşturulurlar ve ayrıca iç içe de olabilirler.
JVM uygulamaları için komut satırı parametreleri
Gradle 5.0 kullanırken, komut satırında veya IDE'de args kullanabileceğiniz için Java uygulamalarını özel parametrelerle çalıştırmak daha kolaydır.
Yeni Gradle görevi ve eklenti API'si
Gradle 5.0, daha hızlı ve daha çok yönlü derleme mantığına ulaşmak için birçok yeni API sağlar.
Performans API'si
Yeni Worker API, daha güvenli paralel ve eşzamansız yürütmeyi destekler.
Geliştirilmiş görev G / Ç'si
Girdi ve çıktıların doğru bildirimi, artımlı derleme ve derleme önbelleğe alma davranışı için çok önemlidir. Gradle 5.0, daha katı kısıtlamaları uygular ve girdi ve çıktı bildirimleri için yeni API'ler sunar.
Yapılandırma Önleme API'si
Bazı projeler çok sayıda görev oluşturacaktır. Bu görevlerden yalnızca bazılarını gerçekleştirmeniz gerekiyorsa, hepsini yapılandırmanıza gerek yoktur. Bu nedenle Gradle 5.0, Yapılandırma Önleme API'sini sağlar. Bu API'yi özel görevlerde kullanarak, büyük projeler yapılandırma süresinde% 10'a kadar tasarruf sağlayabilir.
API yayınla
Gradle 5.0, Maven ve Ivy depolarının yayınını iyileştirmek için yeni API'ler sunar:
Görev zaman aşımı
Artık görevin zaman aşımı süresini, yani ne kadar süre kesintiye uğrayacağını belirleyebilirsiniz.
Özel CLI parametreleri
Gradle 5.0, kullanıcıların özel görevleri yapılandırmasına izin vermek için yeni bir yol sağlar.
İlk olarak, özel komut satırı seçenekleri oluşturmak için @Option kullanabilirsiniz. Kullanıcılar gradle yardımını çalıştırarak bu özel seçenekleri alabilir - görevinizi görevlendirin:
Kodu kopyala
public class UrlVerify, DefaultTask { private String url; @Option (option = "url", description = "Doğrulanacak URL'yi yapılandırır.") public void setUrl (Dize url'si) { this.url = url; } @Giriş public String getUrl () { dönüş url'si; } @Hayalhanemersin genel geçersiz doğrulama () { getLogger (). quiet ("URL Doğrulanıyor '{}'", url); // HTTP çağrısı yaparak URL'yi doğrulayın } }Özel yuvalanmış DSL
Görevler için özel yuvalanmış DSL sağlayın. Gradle 5.0, iç içe geçmiş DSL öğeleri için birinci sınıf bir API sağlayarak, kullanıcılar için görevleri daha esnek bir şekilde tasarlamanıza ve yapılandırmanıza olanak tanır.
Nasıl yükseltilir?
Gradle 4.x'ten Gradle 5.0'a yükseltmenize yardımcı olacak bir belge sunuyoruz. Yükseltmeden önce şunları yapmanızı öneririz:
Orijinal İngilizce: https://gradle.org/whats-new/gradle-5/