Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. jar {
  2. from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
  3. }
  4.  
  5. jar.doFirst {
  6. for(file in configurations.compile) {
  7. jar.merge(file)
  8. }
  9. }
  10.  
  11. configurations {
  12. releaseJars
  13. }
  14.  
  15. dependencies {
  16. releaseJars group: 'javax.mail', name: 'mail', version: '1.4'
  17. //etc
  18. }
  19.  
  20. jar {
  21. into('lib') {
  22. from 'libs'
  23. }
  24. }
  25.  
  26. configurations {
  27. // configuration that holds jars to copy into lib
  28. extraLibs
  29. }
  30. dependencies {
  31. extraLibs 'org.something:something-dep1:version'
  32. extraLibs 'org.something:something-dep2:version'
  33. }
  34.  
  35. jar {
  36. into('lib') {
  37. from configurations.extraLibs
  38. }
  39. }
  40.  
  41. apply plugin: 'groovy'
  42.  
  43. repositories {
  44. mavenCentral()
  45. }
  46.  
  47. configurations {
  48. // custom config of files we want to include in our fat jar that we send to hadoop
  49. includeInJar
  50. }
  51.  
  52. dependencies {
  53. includeInJar 'org.codehaus.groovy:groovy:1.8.6'
  54.  
  55. configurations.compile.extendsFrom(configurations.includeInJar)
  56. }
  57.  
  58. jar {
  59. into('lib') {
  60. println "includeInJar: " + configurations.includeInJar.collect { File file -> file }
  61. from configurations.includeInJar
  62. }
  63.  
  64. }
  65.  
  66. % gradle jar
  67. includeInJar: [/Users/tnaleid/.gradle/caches/artifacts-8/filestore/org.codehaus.groovy/groovy/1.8.6/jar/553ca93e0407c94c89b058c482a404427ac7fc72/groovy-1.8.6.jar, /Users/tnaleid/.gradle/caches/artifacts-8/filestore/antlr/antlr/2.7.7/jar/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar, /Users/tnaleid/.gradle/caches/artifacts-8/filestore/asm/asm/3.2/jar/9bc1511dec6adf302991ced13303e4140fdf9ab7/asm-3.2.jar, /Users/tnaleid/.gradle/caches/artifacts-8/filestore/asm/asm-tree/3.2/jar/cd792e29c79d170c5d0bdd05adf5807cf6875c90/asm-tree-3.2.jar, /Users/tnaleid/.gradle/caches/artifacts-8/filestore/asm/asm-commons/3.2/jar/e7a19b8c60589499e35f5d2068d09013030b8891/asm-commons-3.2.jar, /Users/tnaleid/.gradle/caches/artifacts-8/filestore/asm/asm-util/3.2/jar/37ebfdad34d5f1f45109981465f311bbfbe82dcf/asm-util-3.2.jar, /Users/tnaleid/.gradle/caches/artifacts-8/filestore/asm/asm-analysis/3.2/jar/c624956db93975b7197699dcd7de6145ca7cf2c8/asm-analysis-3.2.jar]
  68. :compileJava UP-TO-DATE
  69. :compileGroovy UP-TO-DATE
  70. :processResources UP-TO-DATE
  71. :classes UP-TO-DATE
  72. :jar
  73.  
  74. BUILD SUCCESSFUL
  75.  
  76. Total time: 3.387 secs
  77.  
  78. % jar tvf build/libs/gradletest.jar
  79. 0 Mon Mar 12 11:40:00 CDT 2012 META-INF/
  80. 25 Mon Mar 12 11:40:00 CDT 2012 META-INF/MANIFEST.MF
  81. 0 Mon Mar 12 11:40:00 CDT 2012 lib/
  82. 5546084 Mon Mar 05 13:13:32 CST 2012 lib/groovy-1.8.6.jar
  83. 445288 Mon Mar 05 13:13:38 CST 2012 lib/antlr-2.7.7.jar
  84. 43398 Mon Mar 05 13:13:40 CST 2012 lib/asm-3.2.jar
  85. 21878 Mon Mar 05 13:13:40 CST 2012 lib/asm-tree-3.2.jar
  86. 33094 Mon Mar 05 13:13:40 CST 2012 lib/asm-commons-3.2.jar
  87. 36551 Mon Mar 05 13:13:40 CST 2012 lib/asm-util-3.2.jar
  88. 17985 Mon Mar 05 13:13:40 CST 2012 lib/asm-analysis-3.2.jar
  89.  
  90. configurations{
  91. //declare custom config if necessary, otherwise just use compile
  92. myLibs
  93. }
  94. dependencies {
  95. //add lib/*.jar files to myLibs
  96. myLibs fileTree(dir: 'lib', include: '*.jar')
  97. compile {
  98. //set compile configuration to extend from myLibs
  99. extendsFrom myLibs
  100. }
  101. }
  102. // task to copy libs to output/lib dir
  103. task copyToLib(type: Copy) {
  104. into "$buildDir/output/lib"
  105. from configurations.myLibs
  106. }
  107.  
  108. jar {
  109. //include contents of output dir
  110. from "$buildDir/output"
  111. manifest {
  112. //...
  113. }
  114. }
  115.  
  116. //set build task to depend on copyToLib
  117. build.dependsOn(copyToLib)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement