ColorRunner/ios/build.gradle

59 lines
1.4 KiB
Groovy

sourceSets.main.java.srcDirs = [ "src/" ]
sourceCompatibility = '1.7'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
ext {
mainClassName = "de.samdev.colorrunner.IOSLauncher"
}
// Extracts native libs (*.a) from the native-ios.jar and places them
// under build/libs/ios/.
task copyNatives << {
file("build/libs/ios/").mkdirs();
configurations.natives.files.each { jar ->
def outputDir = null
if (jar.name.endsWith("natives-ios.jar")) outputDir = file("build/libs/ios")
if (outputDir != null) {
copy {
from zipTree(jar)
into outputDir
include "*.a"
}
}
}
}
// Updates a robovm.xml file.
task updateRoboVMXML << {
def xml = file('robovm.xml')
if (!xml.exists()) {
return
}
// Find all native (*.a) libraries beneath libs
def libtree = fileTree(dir: 'build/libs', include: '**/*.a')
def config = new groovy.util.XmlParser().parse(xml)
config.libs.each {libs ->
libs.children().clear()
libtree.each { File file ->
libs.appendNode('lib', 'build/libs/ios/' + file.getName())
}
}
def writer = new FileWriter(xml)
def printer = new XmlNodePrinter(new PrintWriter(writer))
printer.setPreserveWhitespace true
printer.print(config)
}
updateRoboVMXML.dependsOn copyNatives
build.dependsOn updateRoboVMXML
launchIPhoneSimulator.dependsOn build
launchIPadSimulator.dependsOn build
launchIOSDevice.dependsOn build
createIPA.dependsOn build