差異處
這裏顯示兩個版本的差異處。
java:gradle:packziphelloworld [2019/10/20 12:07] tony [How to?] |
java:gradle:packziphelloworld [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>gradle}} | ||
- | ====== Gradle - Pack Zip Hello World ====== | ||
- | ===== Introduction ===== | ||
- | 因為公司人數越來越多,開始有人和我們搶會議室;為了節省我們時間,我開發了一個自動訂會議室的工具。以往我都是透過ant去包裝軟體,這次嘗試用gradle去包裝這個小工具。\\ | ||
- | 我的專案結構如下:\\ | ||
- | {{:java:gradle:gradle_autobookingtool_project_struct.png|}}\\ | ||
- | \\ | ||
- | 我的目標如下: | ||
- | - 包裝為zip。 | ||
- | - config與webdrivers直接複製到zip中。 | ||
- | - scripts中的內容複製到zip root。 | ||
- | - 將編譯出來的東西包為jar並連同相依項目放到libs中。 | ||
- | ===== How to? ===== | ||
- | 我的gradle設定給大家參考: | ||
- | <code bash> | ||
- | apply plugin: 'java-library' | ||
- | |||
- | compileJava { | ||
- | options.encoding = 'UTF-8' | ||
- | } | ||
- | |||
- | repositories { | ||
- | jcenter() | ||
- | } | ||
- | |||
- | dependencies { | ||
- | compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '2.53.0' | ||
- | compile group: 'org.seleniumhq.selenium', name: 'selenium-server-standalone', version: '2.53.0' | ||
- | | ||
- | compile 'log4j:log4j:1.2.17' | ||
- | compile 'org.slf4j:slf4j-api:1.7+' | ||
- | |||
- | testImplementation 'junit:junit:4.12' | ||
- | } | ||
- | |||
- | task buildZip(type: Zip) { | ||
- | from processResources | ||
- | into('libs') { | ||
- | from configurations.runtimeClasspath | ||
- | from configurations.runtime.allArtifacts.files | ||
- | } | ||
- | into('config') { | ||
- | from 'config' | ||
- | } | ||
- | into('') { | ||
- | from 'scripts' | ||
- | } | ||
- | into('webdrivers') { | ||
- | from 'webdrivers' | ||
- | } | ||
- | } | ||
- | |||
- | </code> | ||
- | 結果如下:\\ | ||
- | {{:java:gradle:gradle_autobookingtool_pack_result.png|}} | ||
- | ===== Reference ===== | ||
- | * [[https://stackoverflow.com/questions/34814517/how-to-pack-files-inside-zip-dependency-in-gradle|How to pack files inside zip dependency in Gradle?]] | ||
- | * [[https://docs.aws.amazon.com/lambda/latest/dg/create-deployment-pkg-zip-java.html|Creating a ZIP Deployment Package for a Java Function]] | ||
- | |||
- | ===== ===== | ||
- | ---- | ||
- | \\ | ||
- | ~~DISQUS~~ | ||