org.openbakery.AbstractXcodeBuildTask.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xcode-plugin Show documentation
Show all versions of xcode-plugin Show documentation
XCode-Plugin is a plugin to allow custom XCode projects to build as generated by CMake
package org.openbakery
import org.gradle.api.logging.LogLevel
import org.gradle.internal.logging.progress.ProgressLogger
import org.gradle.internal.logging.progress.ProgressLoggerFactory
import org.gradle.internal.logging.text.StyledTextOutput
import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.gradle.util.ConfigureUtil
import org.openbakery.codesign.Security
import org.openbakery.output.XcodeBuildOutputAppender
import org.openbakery.xcode.Destination
import org.openbakery.xcode.Devices
import org.openbakery.xcode.Type
import org.openbakery.xcode.XcodebuildParameters
/**
* User: rene
* Date: 15.07.13
* Time: 11:57
*/
abstract class AbstractXcodeBuildTask extends AbstractXcodeTask {
XcodebuildParameters parameters = new XcodebuildParameters()
private List destinationsCache
AbstractXcodeBuildTask() {
super()
}
void setTarget(String target) {
parameters.target = target
}
void setScheme(String scheme) {
parameters.scheme = scheme
}
void setSimulator(Boolean simulator) {
parameters.simulator = simulator
}
void setType(Type type) {
parameters.type = type
}
void setWorkspace(String workspace) {
parameters.workspace = workspace
}
void setAdditionalParameters(String additionalParameters) {
parameters.additionalParameters = additionalParameters
}
void setConfiguration(String configuration) {
parameters.configuration = configuration
}
void setArch(List arch) {
parameters.arch = arch
}
void setConfiguredDestinations(Set configuredDestination) {
parameters.configuredDestinations = configuredDestination
}
void setDevices(Devices devices) {
parameters.devices = devices
}
void destination(Closure closure) {
Destination destination = new Destination()
ConfigureUtil.configure(closure, destination)
setDestination(destination)
}
void setDestination(def destination) {
parameters.setDestination(destination)
}
List getDestinations() {
if (destinationsCache == null) {
destinationsCache = getDestinationResolver().getDestinations(parameters)
}
return destinationsCache
}
XcodeBuildOutputAppender createXcodeBuildOutputAppender(String name) {
StyledTextOutput output = getServices().get(StyledTextOutputFactory.class).create(XcodeBuildTask.class, LogLevel.LIFECYCLE);
ProgressLoggerFactory progressLoggerFactory = getServices().get(ProgressLoggerFactory.class);
ProgressLogger progressLogger = progressLoggerFactory.newOperation(XcodeBuildTask.class).start(name, name);
return new XcodeBuildOutputAppender(progressLogger, output)
}
}