59 lines
1.4 KiB
Groovy
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
|