89 lines
3.8 KiB
Groovy
89 lines
3.8 KiB
Groovy
apply plugin: 'java'
|
|
|
|
archivesBaseName = "$project.archivesBaseName"
|
|
|
|
dependencies {
|
|
runtime 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.2'
|
|
runtime 'com.google.guava:guava:r09'
|
|
runtime 'org.elasticsearch:es-trove:3.0.0rc2'
|
|
runtime 'org.elasticsearch:es-jsr166y:20110710'
|
|
|
|
runtime 'commons-codec:commons-codec:1.5'
|
|
|
|
// joda 2.0 moved to using volatile fields for datetime, which hurts performance for facets!
|
|
runtime 'joda-time:joda-time:1.6.2'
|
|
runtime 'org.mvel:mvel2:2.1.Beta5'
|
|
|
|
runtime 'org.codehaus.jackson:jackson-core-asl:1.8.2'
|
|
runtime 'org.codehaus.jackson:jackson-smile:1.8.2'
|
|
runtime 'org.yaml:snakeyaml:1.6'
|
|
|
|
runtime('org.jboss.netty:netty:3.2.5.Final') { transitive = false }
|
|
}
|
|
|
|
configurations {
|
|
tools
|
|
}
|
|
|
|
dependencies {
|
|
tools "org.elasticsearch:es-jarjar:1.0.0"
|
|
}
|
|
|
|
jar << {
|
|
jarjarArchivePath = new File(jar.archivePath.absolutePath + ".jarjar.jar")
|
|
project.ant {
|
|
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", classpath: configurations.tools.asPath
|
|
jarjar(jarfile: jarjarArchivePath) {
|
|
zipfileset(src: jar.archivePath)
|
|
configurations.runtime.files.findAll {file ->
|
|
['inject', 'codec', 'mvel', 'jackson', 'joda', 'snakeyaml', 'netty', 'guice', 'javax.inject', 'aopalliance', 'guava', 'concurrentlinkedhashmap', 'trove', 'jsr166y'].any { file.name.contains(it) }
|
|
}.each { jarjarFile ->
|
|
zipfileset(src: jarjarFile) {
|
|
exclude(name: "META-INF/**")
|
|
}
|
|
}
|
|
rule pattern: "com.googlecode.concurrentlinkedhashmap.**", result: "org.elasticsearch.common.concurrentlinkedhashmap.@1"
|
|
rule pattern: "com.google.common.**", result: "org.elasticsearch.common.@1"
|
|
rule pattern: "gnu.trove.**", result: "org.elasticsearch.common.trove.@1"
|
|
rule pattern: "jsr166y.**", result: "org.elasticsearch.common.util.concurrent.jsr166y.@1"
|
|
|
|
rule pattern: "org.aopalliance.**", result: "org.elasticsearch.common.aopalliance.@1"
|
|
rule pattern: "javax.inject.**", result: "org.elasticsearch.common.inject.jex.@1"
|
|
rule pattern: "com.google.inject.**", result: "org.elasticsearch.common.inject.@1"
|
|
|
|
rule pattern: "org.apache.commons.codec.**", result: "org.elasticsearch.common.codec.@1"
|
|
|
|
rule pattern: "org.mvel2.**", result: "org.elasticsearch.common.mvel2.@1"
|
|
|
|
rule pattern: "org.codehaus.jackson.**", result: "org.elasticsearch.common.jackson.@1"
|
|
rule pattern: "org.yaml.**", result: "org.elasticsearch.common.yaml.@1"
|
|
|
|
rule pattern: "org.joda.**", result: "org.elasticsearch.common.joda.@1"
|
|
|
|
rule pattern: "org.jboss.netty.**", result: "org.elasticsearch.common.netty.@1"
|
|
}
|
|
delete(file: jar.archivePath)
|
|
copy(file: jarjarArchivePath, tofile: jar.archivePath)
|
|
delete(file: jarjarArchivePath)
|
|
|
|
// seems like empty dirs still exists, unjar and clean them
|
|
unjar(src: jar.archivePath, dest: "build/tmp/extracted")
|
|
delete(file: "build/tmp/extracted/NOTICE")
|
|
delete(file: "build/tmp/extracted/LICENSE")
|
|
delete(file: "build/tmp/extracted/build.properties")
|
|
delete(dir: "build/tmp/extracted/jsr166y")
|
|
delete(dir: "build/tmp/extracted/gnu")
|
|
delete(dir: "build/tmp/extracted/org/codehaus")
|
|
delete(dir: "build/tmp/extracted/org/aopalliance")
|
|
delete(dir: "build/tmp/extracted/com/google")
|
|
delete(dir: "build/tmp/extracted/org/mvel2")
|
|
delete(dir: "build/tmp/extracted/org/joda")
|
|
delete(dir: "build/tmp/extracted/org/yaml")
|
|
delete(dir: "build/tmp/extracted/org/jboss")
|
|
|
|
delete(file: jar.archivePath)
|
|
jar(destfile: jar.archivePath, basedir: "build/tmp/extracted")
|
|
delete(dir: "build/tmp/extracted")
|
|
}
|
|
}
|