DeviceTestRunConfigureAction
@Incubating interface DeviceTestRunConfigureAction<DeviceT : Device, InputT : DeviceTestRunInput>
Action for configuring the device specific inputs
for the Managed Device Test Task.
This class is used to take the managed device DSL
and other Project
settings to create a group of cachable inputs
This should be implemented for use with a Custom Managed Device Registration.
Example DeviceTestRunInput
and Device
implementation for Configuration Action
abstract class CustomInput: DeviceTestRunInput {
/** name of device from DSL */
@get: Input
abstract val deviceName: Property<String>
/** Id of device in a device farm, for example*/
@get: Input
abstract val deviceId: Property<Int>
@get: Internal
abstract val timeoutSeconds: Property<Int>
}
open class CustomDevice @Inject constructor(private val name: String): Device {
override fun getName() = name
var id: Int = 0
var timeoutSeconds: Int = 30
}
DeviceTestRunConfigureAction
implementation
CustomConfigureAction(): DeviceTestRunConfigureAction<CustomDevice, CustomInput> {
override fun configureTaskInput(
deviceDSL: CustomDevice, project: Project): CustomInput =
project.objects.newInstance(CustomInput::class.java).apply {
deviceName.set(deviceDSL.getName())
deviceId.set(deviceDSL.id)
timeoutSectonds.set(deviceDSL.timeoutSeconds)
}
}
Parameters | |
---|---|
<DeviceT : Device> |
: The interface of the Custom Managed Device this configure action corresponds to. |
<InputT : DeviceTestRunInput> |
: The specialized |
Summary
Public functions |
|
---|---|
@Incubating InputT |
configureTaskInput(deviceDSL: DeviceT, project: Project) Generates the cacheable inputs to the test run task to be consumed by the corresponding test run action. |
Public functions
configureTaskInput
@Incubating
fun configureTaskInput(deviceDSL: DeviceT, project: Project): InputT
Generates the cacheable inputs to the test run task to be consumed by the corresponding test run action.
Parameters | |
---|---|
deviceDSL: DeviceT |
The DSL for the individual device for the test task. |
project: Project |
The Project that this test task is being created for. |
Returns | |
---|---|
InputT |
The cacheable inputs for the test task. This will be consumed as part of the |