You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
plugins { |
|
id 'nebula.provided-base' version '2.0.1' |
|
} |
|
|
|
apply plugin: 'java' |
|
|
|
sourceCompatibility = 1.6 |
|
|
|
dependencies { |
|
compile project(':feign-core') |
|
compile project(':feign-gson') |
|
provided 'com.squareup.dagger:dagger-compiler:1.1.0' |
|
} |
|
|
|
// create a self-contained jar that is executable |
|
// the output is both a 'fat' project artifact and |
|
// a convenience file named "build/github" |
|
task fatJar(dependsOn: classes, type: Jar) { |
|
classifier 'fat' |
|
|
|
doFirst { |
|
// Delay evaluation until the compile configuration is ready |
|
from { |
|
configurations.compile.collect { zipTree(it) } |
|
} |
|
} |
|
|
|
from (sourceSets*.output.classesDir) { |
|
} |
|
|
|
// really executable jar |
|
// http://skife.org/java/unix/2011/06/20/really_executable_jars.html |
|
|
|
manifest { |
|
attributes 'Main-Class': 'feign.example.github.GitHubExample' |
|
} |
|
|
|
// for convenience, we make a file in the build dir named github with no extension |
|
doLast { |
|
def srcFile = new File("${buildDir}/libs/${archiveName}") |
|
def shortcutFile = new File("${buildDir}/github") |
|
shortcutFile.delete() |
|
shortcutFile << "#!/usr/bin/env sh\n" |
|
shortcutFile << 'exec java -jar $0 "$@"' + "\n" |
|
shortcutFile << srcFile.bytes |
|
shortcutFile.setExecutable(true, true) |
|
srcFile.delete() |
|
srcFile << shortcutFile.bytes |
|
srcFile.setExecutable(true, true) |
|
} |
|
} |
|
|
|
artifacts { |
|
archives fatJar |
|
}
|
|
|