Mindustry/ios/build.gradle
2023-05-13 18:22:01 -04:00

97 lines
2.4 KiB
Groovy

buildscript{
repositories{
mavenCentral()
}
dependencies{
classpath "com.mobidevelop.robovm:robovm-gradle-plugin:2.3.19"
}
}
apply plugin: "java"
apply plugin: "robovm"
task incrementConfig{
def vfile = file('robovm.properties')
def bversion = getBuildVersion()
def props = new Properties()
if(vfile.exists()){
props.load(new FileInputStream(vfile))
}else{
props['app.id'] = 'io.anuke.mindustry'
props['app.version'] = '7.0'
props['app.mainclass'] = 'mindustry.IOSLauncher'
props['app.executable'] = 'IOSLauncher'
props['app.name'] = 'Mindustry'
}
props['app.build'] = (!props.containsKey("app.build") ? 40 : props['app.build'].toInteger() + 1) + ""
if(bversion != "custom build"){
props['app.version'] = versionNumber + "." + bversion + (bversion.contains(".") ? "" : ".0")
}
props.store(vfile.newWriter(), null)
}
dependencies{
implementation project(":core")
implementation arcModule("natives:natives-ios")
implementation arcModule("natives:natives-freetype-ios")
implementation arcModule("backends:backend-robovm")
compileOnly project(":annotations")
}
sourceSets.main.java.srcDirs = ["src/"]
ext{
mainClassName = "mindustry.ios.IOSLauncher"
}
task copyAssets(){
doLast{
delete{
delete "assets/"
}
copy{
from "../core/assets"
into "assets/"
}
}
}
task copyNatives(){
doLast{
copy{
from "../../Arc/natives/natives-freetype-ios/libs", "../../Arc/natives/natives-ios/libs"
into "libs"
}
}
}
task deploy{
if(System.getProperty("os.name").contains("Mac")) dependsOn copyAssets
dependsOn createIPA
}
//must pack before deployment, as iOS never has the latest sprites.
copyAssets.dependsOn ":tools:pack"
copyAssets.dependsOn copyNatives
launchIPhoneSimulator.dependsOn build
launchIPadSimulator.dependsOn build
launchIOSDevice.dependsOn build
createIPA.dependsOn build
robovm{
archs = "thumbv7:arm64"
if(project.hasProperty("signIdentity")) println "iOS Sign Identity: " + project.property("signIdentity")
if(project.hasProperty("provisioningProfile")) println "iOS Provisioning Profile: " + project.property("provisioningProfile")
iosSignIdentity = project.properties["signIdentity"]
iosProvisioningProfile = project.properties["provisioningProfile"]
iosSkipSigning = false
}