This patch includes three kind of related changes.
use new ExecSpec for PodInstall task
bind cocoapods executable name / path to extension
bind extension properties to conventions (env, property)
Pod Install
The cocoapods task used a utility class to find the nearest pod executable in the PATH. This system works but is not future proof. We are in the works to provide a way to lazy install the tool during a build and need an internal property to set the executable name / path. We developed the ExecSpec class which we also already used in the net.wooga.fastlane plugin for the same reason.
Bind to extension
To make this new value easily setable, also in case we create more cocoapod task types, I added a new nested object inside the IOSBuildPluginExtension called 'cocoapodswhich interally is also just anExecSpec` to set the values for executable name and path etc.
Most of our plugins provide a way to fetch default / convention values from the gradle properties / system environment. We never did this for the net.wooga.build-unity-ios plugin. I decided to implement this now before we split and release this plugin.
Description
This patch includes three kind of related changes.
ExecSpec
forPodInstall
taskPod Install
The cocoapods task used a utility class to find the nearest
pod
executable in thePATH
. This system works but is not future proof. We are in the works to provide a way to lazy install the tool during a build and need an internal property to set the executable name / path. We developed theExecSpec
class which we also already used in thenet.wooga.fastlane
plugin for the same reason.Bind to extension
To make this new value easily setable, also in case we create more cocoapod task types, I added a new nested object inside the
IOSBuildPluginExtension
called 'cocoapodswhich interally is also just an
ExecSpec` to set the values for executable name and path etc.Bind to conventions
Most of our plugins provide a way to fetch default / convention values from the gradle properties / system environment. We never did this for the
net.wooga.build-unity-ios
plugin. I decided to implement this now before we split and release this plugin.Changes
ExecSpec
inPodInstall
taskcocoapods
nested object to plugin extension