Desktop native libraries split per platform, closes #86

This commit is contained in:
Emux 2016-07-21 10:38:34 +03:00
parent f1cc7c98b0
commit ecb76f9af7
9 changed files with 49 additions and 39 deletions

View File

@ -51,30 +51,30 @@ android.applicationVariants.all { variant ->
return; // Skip debug builds.
}
def taskJar = project.tasks.create "jar${name.capitalize()}", Jar
taskJar.dependsOn variant.javaCompile
taskJar.from variant.javaCompile.destinationDir
taskJar.exclude 'android-logger.properties'
artifacts.add('archives', taskJar);
def jar = project.tasks.create "jar${name.capitalize()}", Jar
jar.dependsOn variant.javaCompile
jar.from variant.javaCompile.destinationDir
jar.exclude 'android-logger.properties'
artifacts.add('archives', jar);
file('natives').eachDir() { dir ->
def taskNatives = project.tasks.create "natives_${dir.name}_Jar${name.capitalize()}", Jar
taskNatives.classifier = "natives-${dir.name}"
taskNatives.from(dir.path)
artifacts.add('archives', taskNatives);
def nativesJar = project.tasks.create "nativesJar${name.capitalize()}-${dir.name}", Jar
nativesJar.classifier = "natives-${dir.name}"
nativesJar.from(dir.path)
artifacts.add('archives', nativesJar);
}
def taskFat = project.tasks.create "fatJar${name.capitalize()}", Jar
taskFat.classifier = 'jar-with-dependencies'
taskFat.dependsOn variant.javaCompile
taskFat.from variant.javaCompile.destinationDir
taskFat.from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
def fatJar = project.tasks.create "fatJar${name.capitalize()}", Jar
fatJar.classifier = 'jar-with-dependencies'
fatJar.dependsOn variant.javaCompile
fatJar.from variant.javaCompile.destinationDir
fatJar.from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
file('natives').eachDir() { dir ->
taskFat.from(dir.path)
taskFat.from("${rootProject.projectDir}/vtm-android/natives/${dir.name}")
fatJar.from(dir.path)
fatJar.from("${rootProject.projectDir}/vtm-android/natives/${dir.name}")
}
taskFat.exclude 'android-logger.properties'
artifacts.add('archives', taskFat);
fatJar.exclude 'android-logger.properties'
artifacts.add('archives', fatJar);
}
afterEvaluate {

View File

@ -43,27 +43,27 @@ android.libraryVariants.all { variant ->
return; // Skip debug builds.
}
def taskJar = project.tasks.create "jar${name.capitalize()}", Jar
taskJar.dependsOn variant.javaCompile
taskJar.from variant.javaCompile.destinationDir
artifacts.add('archives', taskJar);
def jar = project.tasks.create "jar${name.capitalize()}", Jar
jar.dependsOn variant.javaCompile
jar.from variant.javaCompile.destinationDir
artifacts.add('archives', jar);
file('natives').eachDir() { dir ->
def taskNatives = project.tasks.create "natives_${dir.name}_Jar${name.capitalize()}", Jar
taskNatives.classifier = "natives-${dir.name}"
taskNatives.from(dir.path)
artifacts.add('archives', taskNatives);
def nativesJar = project.tasks.create "nativesJar${name.capitalize()}-${dir.name}", Jar
nativesJar.classifier = "natives-${dir.name}"
nativesJar.from(dir.path)
artifacts.add('archives', nativesJar);
}
def taskFat = project.tasks.create "fatJar${name.capitalize()}", Jar
taskFat.classifier = 'jar-with-dependencies'
taskFat.dependsOn variant.javaCompile
taskFat.from variant.javaCompile.destinationDir
taskFat.from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
def fatJar = project.tasks.create "fatJar${name.capitalize()}", Jar
fatJar.classifier = 'jar-with-dependencies'
fatJar.dependsOn variant.javaCompile
fatJar.from variant.javaCompile.destinationDir
fatJar.from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
file('natives').eachDir() { dir ->
taskFat.from(dir.path)
fatJar.from(dir.path)
}
artifacts.add('archives', taskFat);
artifacts.add('archives', fatJar);
}
// Automated Gradle project deployment to Sonatype OSSRH

View File

@ -4,7 +4,9 @@ apply plugin: 'application'
dependencies {
compile project(':vtm-gdx')
compile files('natives')
file('natives').eachDir() { dir ->
compile files(dir.path)
}
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-backend-jglfw:$gdxVersion"
compile 'com.kitfox.svg:svg-salamander:1.0'
@ -16,21 +18,29 @@ sourceSets {
}
}
task nativesJar(type: Jar) {
classifier = 'natives'
from('natives')
file('natives').eachDir() { dir ->
task("nativesJar-${dir.name}", type: Jar) {
classifier = "natives-${dir.name}"
from(dir.path)
}
artifacts {
archives tasks["nativesJar-${dir.name}"]
}
}
task fatJar(type: Jar, dependsOn: classes) {
classifier = 'jar-with-dependencies'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
from('natives')
// Natives come from compile configuration
/*file('natives').eachDir() { dir ->
fatJar.from(dir.path)
}*/
exclude 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.SF'
with jar
}
artifacts {
archives nativesJar
archives fatJar
}