我想創建一個沒有任何源的新Gradle項目。我打算在那裏放置一些配置文件,並且在構建時我想生成一個zip文件。 使用maven我會使用程序集插件。我正在尋找最簡單最輕鬆的方式來用Gradle來做到這一點。我想知道是否需要應用java插件,即使我沒有任何源代碼,僅僅是因爲它提供了一些基本和有用的任務,比如清理,裝配等。生成一個zip文件非常簡單,我知道該怎麼做,但我不知道在哪裏以及如何將zip生成放在gradle世界中。只有配置且沒有源的Gradle項目
回答
我已經手動完成,直到現在。換句話說,對於我想要做的是創建某種發行版的項目,我需要像彙編和清理這樣的基本生命週期任務,我只是簡單地創建這些任務以及所需的依賴關係。
但是有一個'base'插件(在用戶指南中的「Standard Gradle Plugins」的「Base plugins」下面提到)似乎很適合這項功能。請注意,用戶指南提到這個和其他基本插件尚未被認爲是Gradle API的一部分,並且沒有真正記錄。
結果與您的結果非常相似,唯一的區別是沒有令人困惑的java特定任務始終保持最新狀態。
apply plugin: 'base'
task dist(type: Zip) {
from('solr')
into('solr')
}
assemble.dependsOn(dist)
採樣運行:
$ gradle clean assemble
:clean
:dist
:assemble
BUILD SUCCESSFUL
Total time: 2.562 secs
據我瞭解,這可能聽起來很奇怪,但看起來我需要應用java插件才能創建zip文件。此外,它可以方便地使用一些常見任務,例如clean
。以下是我的build.gradle
:
apply plugin: 'java'
task('dist', type: Zip) {
from('solr')
into('solr')
}
assemble.dependsOn dist
我應用了Java插件和定義我的dist
任務,創建一個包含與Solr的目錄中我的項目中內容的Solr的目錄中的zip文件。當我運行常見的gradle build
或gradle assemble
時,最後一行很方便,因爲我不想明確地調用dist
任務。 這種方式,如果我與多個項目工作,我只需要執行gradle build
父母上生成所有工件,包括配置zip。
請讓我知道,如果你有更好的解決方案,並添加自己的答案!
你可以使用groovy插件並使用ant。我做了這樣的事情。我也喜歡javanna的回答。
task jars(dependsOn: ['dev_jars']) << {
def fromDir = file('/database-files/non_dev').listFiles().sort()
File dist = new File("${project.buildDir}/dist")
dist.mkdir()
fromDir.each { File dir ->
File destFile = new File("${dist.absolutePath}" + "/" + "database-connection-" + dir.name + ".jar")
println destFile.getAbsolutePath()
ant.jar(destfile:destFile, update:false, baseDir:dir)
}
}
感謝您的貢獻! +1!如果你喜歡我自己的答案,你可以upvote它! :)我更喜歡我的,因爲它更短,如果我使用Gradle,我寧願不使用Ant,但也許是我。 – javanna 2012-03-26 13:57:48
- 1. 只有文件且沒有內置輸出的項目文件
- 2. 有沒有辦法配置gitlab項目到gitlab.com只使用SSH和沒有HTTPS?
- 3. Gradle多項目配置
- 4. Gradle集Android項目配置
- 5. 配置GitWeb - 404 - 沒有找到項目
- 6. Gradle sourceCompatibility對子項目沒有影響
- 7. Eclipse沒有正確部署Gradle項目
- 8. FindBugs Android Gradle沒有配置類錯誤
- 9. Gradle依賴於所有配置的項目
- 10. Gradle - 將配置應用到使用插件的所有項目
- 11. 如何獲取Gradle項目的所有配置列表?
- 12. D中有沒有開源項目?
- 13. 有沒有辦法在WebStorm中設置項目級配置?
- 14. 有沒有辦法阻止tabbar項目的配置?
- 15. NG重複:一個項目,只有源
- 16. 爲什麼MyEclipse沒有將項目識別爲gradle項目?
- 17. 配置Gradle項目取決於lwjgl
- 18. 的Android庫項目沒有源
- 19. 帶Gradle腳本的Gradle中的鍋板項目配置Kotlin
- 20. 所有項目部分中只有rootProject的Gradle任務依賴項
- 21. gradle子項目,沒有自己的目錄
- 22. 如何爲沒有物理根的平面項目設置Gradle設置
- 23. 有沒有辦法將spring boot maven pom項目轉換爲gradle?
- 24. 有沒有辦法配置Gradle默認日誌輸出?
- 25. intellij 2016掛起時啓動新的gradle項目w /現有源
- 26. 在Android Gradle項目中,有沒有辦法在嵌套的依賴關係中傳遞構建變體配置?
- 27. 在gradle中爲子項目配置父/根項目
- 28. 在Intellji Junit中配置LogLevel在Gradle項目中運行配置?
- 29. Android項目Gradle構建成功後沒有輸出目錄嗎?
- 30. Gradle Build沒有找到Java源代碼
好的!我只是一個Gradle新手,我不知道有基本的插件。非常感謝! – javanna 2012-03-26 19:58:43