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
|
||||
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) {
|
||||
currentPolicy = policy
|
||||
listeners.forEach { it.onPolicyChanged(policy) }
|
||||
|
||||
Reference in New Issue
Block a user