diff options
Diffstat (limited to 'ios/build.gradle')
-rw-r--r-- | ios/build.gradle | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/ios/build.gradle b/ios/build.gradle new file mode 100644 index 0000000..4bbbefe --- /dev/null +++ b/ios/build.gradle @@ -0,0 +1,65 @@ +sourceSets.main.java.srcDirs = [ "src/" ] + +sourceCompatibility = '1.7' +[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' + +ext { + mainClassName = "ch.asynk.tankontank.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 +tasks.eclipse.dependsOn updateRoboVMXML + +launchIPhoneSimulator.dependsOn build +launchIPadSimulator.dependsOn build +launchIOSDevice.dependsOn build +createIPA.dependsOn build + + +eclipse.project { + name = appName + "-ios" + natures 'org.robovm.eclipse.RoboVMNature' +}
\ No newline at end of file |