| 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') { |
| } |
| } |
| } |
| */ |
| |