// Required code is commented with // REQ
// Better than some other solutions because dependencies don't need to be declared twice
// As in, "shadow 'my-dep:0.1'" also adds it to the compile dependencies list
plugins {
id 'java'
id 'idea'
id 'com.github.johnrengelman.shadow' version '1.2.3' // REQ
}
group '...'
version '1.0-SNAPSHOT'
// Dependencies
repositories {
mavenCentral()
maven {
name = 'sponge'
url = 'http://repo.spongepowered.org/maven'
}
}
dependencies {
compile 'org.spongepowered:spongeapi:4.1.0-SNAPSHOT'
shadow 'org.mongodb:mongodb-driver:3.2.2' // REQ (replace with your desired dependency)
shadow 'org.jgrapht:jgrapht-core:0.9.1'
shadow 'org.reflections:reflections:0.9.10'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
// Build
project.configurations.compile.extendsFrom(project.configurations.shadow) // REQ
// BEGIN REQ
shadowJar {
classifier = 'dist' // (this will be appended to the jar filename. Ex: myProj-dist.jar)
configurations = [project.configurations.shadow]
dependencies {
exclude(dependency('com.google.guava:guava')) // (replace with any child dependencies that you don't want)
}
}
build.dependsOn(shadowJar)
// END REQ
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|0 👍
/0 👎
0 B
|👍
/👎