mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
fixup! refactor(runner): manage execution policy via ConfigCenter
This commit is contained in:
@@ -25,6 +25,13 @@ object ExecutionPolicyRegistry : Configurable, ConfigRegistration<ExecutionPolic
|
|||||||
@Volatile
|
@Volatile
|
||||||
private lateinit var currentPolicy: ExecutionPolicy
|
private lateinit var currentPolicy: ExecutionPolicy
|
||||||
|
|
||||||
|
fun prepare(commands: List<String>): WrappedLaunchSpec {
|
||||||
|
val policy = currentPolicy
|
||||||
|
val provider = policyProviders[policy.provider]
|
||||||
|
?: policyProviders[DEFAULT_PROVIDER]
|
||||||
|
?: error("Default provider '${DEFAULT_PROVIDER}' is not registered")
|
||||||
|
return provider.prepare(policy, commands)
|
||||||
|
}
|
||||||
fun updatePolicy(policy: ExecutionPolicy) {
|
fun updatePolicy(policy: ExecutionPolicy) {
|
||||||
currentPolicy = policy
|
currentPolicy = policy
|
||||||
listeners.forEach { it.onPolicyChanged(policy) }
|
listeners.forEach { it.onPolicyChanged(policy) }
|
||||||
|
|||||||
Reference in New Issue
Block a user