apply plugin: 'application' mainClassName = 'metadata.etl.Launcher' configurations { //Libraries needed at compilation time but not to be //exported as part of the distribution provided all*.exclude group: 'org.slf4j', module: 'slf4j-log4j12' all*.exclude group: 'log4j' all*.resolutionStrategy { dependencySubstitution { substitute module('org.slf4j:slf4j-log4j12') with module('ch.qos.logback:logback-classic:1.1.7') //prefer 'log4j-over-slf4j' over 'log4j' substitute module('log4j:log4j') with module('org.slf4j:log4j-over-slf4j:1.7.21') } } } dependencies { compile project(':wherehows-common') compile project(':wherehows-hadoop') compile project(':restli-client') compile externalDependency.jsch compile externalDependency.http_client compile externalDependency.http_core compile externalDependency.jackson_databind compile externalDependency.jackson_core compile externalDependency.jackson_annotations compile externalDependency.json_path compile externalDependency.akka compile externalDependency.slf4j_api compile externalDependency.slf4j_log4j compile externalDependency.hive_exec compile externalDependency.hadoop_hdfs compile externalDependency.jython compile externalDependency.mysql compile externalDependency.htrace compile fileTree(dir: 'extralibs', include: ['*.jar']) // externalDependency.oracle/teradata/gsp provided project(":wherehows-hadoop") provided project(":restli-client") testCompile externalDependency.testng } task copyFiles(type: Copy, dependsOn: compileJava) { from configurations.provided into 'src/main/resources/jar' include 'schemaFetch.jar' } sourceSets { main { java { srcDir 'src/java' } resources { srcDir 'src/resources' } } } jar { dependsOn 'copyFiles' manifest { attributes 'Main-Class': 'metadata.etl.Launcher' } }