Gradle 5.0 是有史以來速度最快、最安全、最強大的 Gradle 版本,這是 Gradle 官方給出的評價,v5.0 新增的功能主要包括:
更快的構建
構建速度慢其實是對金錢的浪費。使用 Gradle 5.0 新的構建緩存和增量處理功能來構建你所需的內容,可以為開發(fā)人員和業(yè)務主管剩下很多時間。
升級到 Gradle 5.0 后,你的構建將立即變快,并且你可以通過使用和配置其他功能來進一步提高性能。
構建緩存
通過重用先前執(zhí)行的結果來避免重復工作讓 Gradle 變得更快。Gradle 4.0 引入了構建緩存,目的是重用之前的調用輸出。
今天,Android、Kotlin、C++、Scala 和很多其他插件使用了任務緩存,因此可以在不同的機器上重用。有效使用構建緩存可以將構建時間減少高達 90%。
此外,Gradle 5.0 中的構建緩存也被用在更多的場景中,例如當一個任務聲明了 @OutputDirectories 或 @OutputFiles 的集合時。
https://gradle.org/images/whats-new/gradle-4.5-assemble-cache.webm
#### 增量 Java 編譯
在 Gradle 5.0 中,增量編譯器經過高度優(yōu)化,并成為默認的編譯器。
除了第一次的構建,CompileJava 任務不需要重新編譯所有源文件。
增量注解處理
Gradle 5.0 的增量編譯器支持增量注解處理,這是一項重要的創(chuàng)新,因為越來越多的項目依賴于注解處理器。
要使用增量注解處理,需要升級到受支持的注解處理器版本。你可以通過–info 日志記錄或這個表格來查看給定的注解處理器是否支持增量。
新的 annotationProcessor 配置可以用于管理注解處理器,并將它們放在注解處理器路徑中。
構建掃描
新的性能提升、依賴關系管理、日志和棄用 API 使用檢查讓構建掃描得到了顯著改善。只需要在命令行執(zhí)行 Gradle 時添加–scan,或者應用并配置構建掃描插件。
細粒度的傳遞性依賴管理
Gradle 5.0 提供了一些新功能用于自定義如何選擇依賴項,并改進了對 POM 和 BOM 的支持:
依賴約束
依賴約束為傳遞性依賴提供了非常健壯的控制。
BOM 支持
Gradle 5.0 可以導入 BOM 文件。
此外,Gradle 5.0 在使用 Maven 構建產生的依賴項方面提供了更加無縫的體驗。
在使用 POM 文件時,Gradle 可以正確地分離編譯和運行時作用域,從而避免了由于之前在編譯類路徑中包含運行時依賴而導致的性能降低和依賴泄漏。
Gradle 現(xiàn)在也可以遵循 POM元素的版本區(qū)間。
依賴對齊
依賴版本對齊允許屬于同一邏輯組(平臺)的不同模塊在依賴關系圖中具有相同的版本。
這樣可以確保所有 Spring 或 Hibernate 依賴項具有相同的版本(如果可以的話)。實際上,有很多庫作為集合發(fā)布,集合中的每個庫具有相同的版本。
依賴版本鎖定
你可以使用 Gradle 5.0 將動態(tài)或區(qū)間依賴項鎖定在特定版本,讓依賴項解析更具確定性和可重現(xiàn)性,防止傳遞性依賴項的變更意外破壞你的構建。
編寫 Gradle 構建邏輯
現(xiàn)在可以使用 Kotlin 編寫 Gradle 構建腳本。此外,gradle init 支持更多的項目類型和交互性。
Kotlin DSL 提供了 IDE 輔助
到 Gradle 5.0 為止,Kotlin DSL 1.0 已經為投入生產使用做好了準備。Kotlin 的靜態(tài)類型為 IDE 提供了更好的輔助,包括構建腳本的調試和重構、自動完成以及你期望的其他所有內容。
如果你有興趣使用 Kotlin 編寫你的構建版本,請從Gradle Kotlin DSL Primer開始。
交互式 gradle init
想要創(chuàng)建新 Gradle 構建的用戶現(xiàn)在可以選擇其他項目類型:kotlin-library 和 kotlin-application。此外,你可以選擇生成 Groovy 或 Kotlin DSL 構建腳本,并自定義項目名稱和包。最后,新的交互式 UI 改進了用戶體驗。
https://gradle.org/images/whats-new/interactive-init.webm
更多面向用例的文檔
Gradle 文檔和入門指南提供了更多信息和更好的訪問性:
更高效的內存利用
用于測試的–fail-fast 和 JVM 應用程序的命令行參數(shù)等功能有助于改善開發(fā)流程,而更低的內存要求和緩存清理減少了 Gradle 的系統(tǒng)開銷。
降低內存使用量
在升級之后,你的構建不僅會更快,而且還會使用更少的內存。很多緩存機制已在 Gradle 5.0 中得到了優(yōu)化,因此 Gradle 進程的默認最大內存已大大減少。
定期 Gradle 緩存清理
手動清理數(shù)十億字節(jié)的舊 Gradle 緩存的日子已經結束了。Gradle 現(xiàn)在可以定期清理過時的緩存。Gradle 還可以更精確地跟蹤過時的任務輸出,并在不清理可能會導致錯誤結果的情況下清除它們。
新的 Gradle 調用選項
測試
Gradle 5.0 支持 JUnit 5 的 JUnit Platform、JUnit Jupiter 和 JUnit Vintage,允許你啟用測試分組和篩選,以及包含自定義測試引擎。
你可以使用–fail-fast 標志啟用更快的紅綠循環(huán),Gradle 5.0 默認情況下首先執(zhí)行失敗的測試。
日志記錄
在 Gradle 5.0 中,日志消息按照任務進行分組。
除了顯示正在執(zhí)行哪些測試之外,Gradle 豐富的命令行控制臺還會顯示彩色的構建狀態(tài)信息,可以一目了然地告訴你是否有任何構建失敗。你還可以通過“verbose”控制臺模式要求 Gradle 在執(zhí)行任務時記錄任務。
最后,可以通過配置 warning-mode 來匯總、關閉或擴展 Gradle 警告日志。
復合構建
復合構建允許你包含其他獨立項目,這樣你就可以同時開發(fā)應用程序和它依賴的庫。
你現(xiàn)在可以使用構建掃描來檢查復合構建。復合構建也兼容–continuous。
它們默認進行并行構建,也可以嵌套。
JVM 應用程序的命令行參數(shù)
在使用 Gradle 5.0 是,可以更輕松地通過自定義參數(shù)運行 Java 應用程序,因為你可以在命令行或 IDE 上使用–args。
新的 Gradle 任務和插件 API
Gradle 5.0 提供了很多新的 API,可實現(xiàn)更快、更通用的構建邏輯。
性能 API
新的 Worker API 支持更安全的并行和異步執(zhí)行。
改進的任務 I/O
正確地聲明輸入和輸出對于增量構建和構建緩存行為來說是至關重要的。Gradle 5.0 強制執(zhí)行更嚴格的約束,并為輸入和輸出聲明引入了新的 API。
Configuration Avoidance API
有些項目會創(chuàng)建大量的任務。如果只需要執(zhí)行其中一些任務,就沒有必要配置所有的任務。于是 Gradle 5.0 提供了 Configuration Avoidance API。通過在自定義任務中使用這個 API,大型項目可以節(jié)省高達 10%的配置時間。
發(fā)布 API
為了改進 Maven 和 Ivy 存儲庫的發(fā)布,Gradle 5.0 引入了新的 API:
任務超時
現(xiàn)在可以指定任務的超時持續(xù)時間,也就是多久之后會被中斷。
自定義 CLI 參數(shù)
Gradle 5.0 提供了允許用戶配置自定義任務的新方法。
首先,你可以使用 @Option 創(chuàng)建自定義命令行選項。用戶通過執(zhí)行 gradle help --task your-task 來獲得這些自定義選項:
復制代碼
public class UrlVerify extends DefaultTask { private String url; @Option(option="url", description="Configures the URL to be verified.") public void setUrl(String url) { this.url=url; } @Input public String getUrl() { return url; } @TaskAction public void verify() { getLogger().quiet("Verifying URL '{}'", url); // verify URL by making a HTTP call } }
自定義嵌套 DSL
為任務提供自定義嵌套 DSL。Gradle 5.0 為嵌套的 DSL 元素提供了一等 API,讓你可以更靈活地為用戶設計配置任務的方式。
如何升級?
我們提供了一個文檔來幫助你從 Gradle 4.x 升級到 Gradle 5.0。在升級之前,我們建議你:
英文原文:https://gradle.org/whats-new/gradle-5/
來源:chinadaily.com.cn
六月,又到一年畢業(yè)季。散伙飯吃了,畢業(yè)照拍了,畢業(yè)生們收拾好行囊,準備邁入社會,在各自的舞臺上演炙熱的故事。
面對全新的挑戰(zhàn),職場新人們多少會感到緊張和迷茫。不如來聽聽領英上的職場前輩們總結的10條職場生存法則,你一定會有所收獲。
[Photo/pexels]
1.Remember These Four Words
記住這四個詞
Be positive, principled, pro-active, and productive.樂觀,講原則,主動,高效
——Rakesh N.
2.Discover Yourself
挖掘自己
Consider this job a journey to learn about yourself. The purpose is to grow as a human being; to discover what you’re good at, what you love to do, and what you dislike.把這份工作看作是一次了解自己的旅程。目的是實現(xiàn)個人成長;去發(fā)現(xiàn)你擅長什么,喜歡做什么,不喜歡什么。
Discover your why, and you’ll become happier and more passionate in life!發(fā)掘你的內心,你的生活會變得更快樂和更有激情!
——Carol L.
3.Be Open to Change
勇于改變
Don’t get discouraged when a job you really want does not pan out for you. It just opens up doors to other opportunities.當你真正想做的工作并不適合你時,不要灰心。它只是為其他機會打開了大門。
——Mitchell M.
4. Don’t Hide From Mistakes
不要逃避錯誤
Be honest. Not sure about something? Ask questions. Screwed up? Own up!誠實點。有什么不懂的盡管問。搞砸了要承認!
I’ve always valued someone willing to learn, and we do that in different ways. I’ll always highly regard someone willing to be honest about their mistakes because we learn from those just as much as our successes!我一直很看重愿意學習的人,學習的方式有很多種。我非常重視那些愿意誠實面對自己錯誤的人,因為我們從這些錯誤中學到的東西和從成功中學到的一樣多!
——Samantha DM.
5. Prepare for the Future
為未來做好準備
Develop good time management habits early on. Your workload will only increase with time, and so will your responsibilities. Be ready when they do.盡早養(yǎng)成良好的時間管理習慣。你的工作量只會隨著時間的推移而增加,你的責任也會隨之增加。做好準備迎接它們。
——Alicia M.
6. Learn From Everything
從周圍的一切學習
Remember every moment is an opportunity to learn from everyone around you, no matter their title.記住,每時每刻你都有機會向周圍的人學習,不管他們是什么職級。
Pay attention when things go well; pay extra attention when they don’t, and watch how people react to it. Build relationships with the people who face problems by being their solution.當事情進展順利時要留心;當不順利的時候要更加留心,并觀察人們的反應。與面對問題想辦法解決的人來往。
——Anita S.
7.Make Connections
建立人脈
Your biggest asset is your network.你最大的資本就是你的人際關系。
——Eddie M.
8.Keep Your Own Counsel
隱藏自己的想法
Don’t assume that a co-worker won’t repeat your criticisms of a colleague. When asked how you feel about individuals in the office, be open and vague with your answers.不要以為同事不會把你對另一個同事的批評外傳。當有人問你對辦公室里的人有何看法時,回答要誠懇但有所保留。
Always reserve judgment on your co-workers until you have enough time to make up your own mind.在你有足夠的時間下定主意之前,不要輕易評價你的同事。
——Nicholas G.
9.Utilize Your Co-workers
利用好你的同事
Don’t be intimidated by your colleagues and superiors!不要被你的同事和上級嚇到!
Remember that they were once in your shoes when they began their careers. Leverage their knowledge and experience and find ways to take what worked for them and adapt it to work for you.記住,他們剛剛開啟職業(yè)生涯時,也曾站在你的位置上。利用他們的知識和經驗,并找到他們行之有效的工作方法,加以調整,為你所用。
——Lauren L.
10. Treat Everyone With Respect
尊重每個人
Speak when you walk into the office everyday. Say good morning to your boss and peers as you walk past their offices, smile at janitors and receptionists in your office.每天走進辦公室時打個招呼。路過老板和同事的辦公室時,向他們問好,對辦公室的管理員和接待員微笑。
Treating people with humanity and integrity is most important.以博愛和正直的態(tài)度待人是最重要的。
——Brittany K.
來源:Muse編輯:董靜