blob: 8ade426ab2cea2a2d9672da0f3e4c020c5ffc136 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
sourceSets.main.java.srcDirs = [ "src/" ]
sourceCompatibility = '1.7'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
ext {
mainClassName = "ch.asynk.creepingarmor.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'
}
|