Tarihteki en hızlı ve en güçlü Gradle 5.0, yeni özellikler tamamen çözülmüş olarak yayınlandı!

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:

  • Derleme önbelleği ve güncelleme denetimi işlevlerine dayanan Gradle 5.0, artırımlı derleme ve artımlı açıklama işleme işlevlerine sahiptir.
  • Bağımlılık kısıtlamaları, bağımlılık hizalaması ve sürüm kilitleme, ölçeklenebilir ve esnek bir bağımlılık yönetimi modeli sağlar.
  • 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.
  • Statik olarak yazılan Kotlin DSL, kod tamamlama, yeniden düzenleme ve diğer IDE yardımı sağlayarak IDE kullanıcılarına yeni bir soluk getirir.

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ıtlamaları, sürümleri veya sürüm aralıklarını tanımlayarak doğrudan ve geçişli bağımlılıkları sınırlamanıza olanak tanır (Maven henüz bunları desteklemiyor).
  • Platform tanımları için yerel destek, yani Maven BOM bağımlılıkları, Spring Boot platform tanımlarını ve benzerlerini harici eklentiler kullanmadan içe aktarabilir.
  • Bağımlı hizalama, mantıksal bir gruptaki (Jackson modülü gibi) farklı modüllerin aynı sürüme hizalanmasına izin verir.
  • Dinamik bağımlılık sürümleri artık daha iyi yeniden üretilebilir yapılar için kilitlenebilir.

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:

  • Başlarken, sorun giderme, CLI referansı, geçişli bağımlılıkları yönetme ve diğerleri dahil olmak üzere birkaç yeni ve geliştirilmiş sayfa;
  • Algolia DocSearch tarafından barındırılan aranabilir referans dokümanlar;
  • Çevrimdışı görüntüleme için PDF;
  • Kategori Gezinme;
  • Belge sürümü seçimi.

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:

  • İmza eklentisi, yayınlanan tüm eserlerin imzalanmasını destekler.
  • Yapılandırma düzeyinde dışlama bağımlılıkları da artık sürüme dahil edilmiştir.
  • Maven Publish ve Ivy Publish eklentileri, sürümün bir parçası olarak oluşturulan POM veya Ivy modüllerini özelleştirmek için tür güvenli bir DSL sağlar.

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:

  • Gradle 4.10.2'ye yükseltmek için Gradle paketleyicisini kullanın: gradle wrapper --gradle-version = 4.10.2.
  • Kullanımdan kaldırılan Gradle API'lerini ve bu API'lerin kullanıldığı yerleri (eklentiler dahil) listelemek için gradle help --scan komutunu çalıştırın.
  • Gradle eklentilerini, özellikle de derleme tarama raporunda listelenen etkin eklentileri güncelleyin.
  • Gradle 5.0'ı çalıştırmak için JDK 8 veya üstüne yükseltme yapılması gerekir.
  • Sorunla karşılaşırsanız, lütfen sorun giderme kılavuzuna bakın veya topluluk forumunu ziyaret edin.

Orijinal İngilizce: https://gradle.org/whats-new/gradle-5/

Ellerini kesmeye hazır mısın? Çeşitli platformlarda "Kara Cuma" oyun tanıtımının özeti
önceki
Film ve televizyon haber bülteni "Resident Evil" uyarlanacak, "Merlin" oyuncusu "Liberator" a katılıyor
Sonraki
Apple, çok yönlü AR gözlükleri üretmeye maruz kaldı, ancak tüketici pazarı gerçekten hazır mı?
Forbes, 30 yaşın altındaki 30 başarılı müzisyeni seçti ve birçok rapçi var
Mobil Fotoğrafçılık: 2018 Sea of Life
Yabancı film ve televizyon haber bülteni: "The Vast Sky" yeni sezon, "Abby's Bar" ve diğer dosyalar düzeltildi
"The Legend of Zelda: Breath of the Wild" Switch konsolunda yayınlanacak!
Büyük verinin tanıdık olduğunu söylemek neden yanlış anlaşılıyor?
Spark uygulamaları, Uber JVM Profiler gibi görselleştirme araçlarıyla nasıl izlenir?
Ünlü güney rap grubu 8Ball ve MJG, 90'larda yeni bir albüm çıkardı.
Zhiyun Weebill Lab mikro-tek sabitleyici raporu: sizi yenileyecek bir dengeleyici
Bugün Amerikan draması "The Great Mrs. Maisel" hakkında konuşacağız.
Çok kırılmayan akıllı bir çöp kutusu, artık çöp atmaktan nefret etmiyorsunuz ... | Yaşam tarzı
Bu AWS gibi olmanı beklemiyordum
To Top