blob: 4bc3010fa540f020ac5dac0eda7c2424ae56c493 [file] [log] [blame]
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
def properties = new Properties();
file('../../gradle.properties').withReader { properties.load(it); }
classpath "org.anarres.jarjar:jarjar-gradle:${properties.version}"
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'org.anarres.jarjar'
mainClassName = "org.anarres.jarjar.test.Main"
repositories {
mavenCentral()
maven { url 'http://repo.hortonworks.com/content/repositories/releases/' }
}
sourceSets {
main {
java { srcDir rootProject.file('src/main/java') }
}
}
}
project(':sub0') {
configurations {
upstream
literal {
extendsFrom upstream
resolutionStrategy {
// http://gradle.org/docs/current/javadoc/org/gradle/api/artifacts/ResolutionStrategy.html
eachDependency { DependencyResolveDetails details ->
println "DependencyResolveDetails " + details.dump()
}
// http://gradle.org/docs/current/javadoc/org/gradle/api/artifacts/ComponentSelectionRules.html
componentSelection {
withModule("org.apache.hive:hive-metastore") { ComponentSelection selection ->
selection.reject("Rejecting all hive-metastore")
println "ComponentSelection: " + selection.dump()
}
}
}
}
compile {
extendsFrom literal
}
}
dependencies {
upstream('org.apache.hive:hive-exec:0.13.0.2.1.5.0-695') {
exclude group: 'net.hydromatic', module: 'optiq-core'
// transitive = false
}
compile jarjar.repackage {
from configurations.upstream
archiveBypass "commons*.jar"
archiveExclude "slf4j*.jar"
classDelete "org.apache.thrift.**"
classRename 'org.json.**', 'org.anarres.hive.json.@1'
classRename 'org.iq80.**', 'org.anarres.hive.iq80.@1'
classRename 'org.codehaus.jackson.**', 'org.anarres.hive.jackson.@1'
classRename 'com.google.**', 'org.anarres.hive.google.@1'
classRename 'javolution.**', 'org.anarres.hive.javolution.@1'
classRename 'com.esotericsoftware.kryo.**', 'org.anarres.hive.kryo.@1'
}
}
}
project(':sub1') {
dependencies {
compile jarjar.repackage {
from ('org.apache.hive:hive-exec:0.13.0.2.1.5.0-695') {
exclude group: 'net.hydromatic', module: 'optiq-core'
// transitive = false
}
archiveBypass "commons*.jar"
archiveExclude "slf4j*.jar"
classDelete "org.apache.thrift.**"
classRename 'org.json.**', 'org.anarres.hive.json.@1'
classRename 'org.iq80.**', 'org.anarres.hive.iq80.@1'
classRename 'org.codehaus.jackson.**', 'org.anarres.hive.jackson.@1'
classRename 'com.google.**', 'org.anarres.hive.google.@1'
classRename 'javolution.**', 'org.anarres.hive.javolution.@1'
classRename 'com.esotericsoftware.kryo.**', 'org.anarres.hive.kryo.@1'
}
}
}
project(':sub2') {
dependencies {
compile jarjar.repackage {
from gradleApi()
archiveBypass "commons*.jar"
archiveExclude "slf4j*.jar"
}
}
}
/*
project(':sub3') {
dependencies {
compile jarjar.dependency('org.apache.hive:hive-exec:0.13.0.2.1.5.0-695') {
}
}
}
*/