in powershell-agent/src/main/java/jetbrains/buildServer/powershell/agent/PowerShellInfoProvider.java [38:62]
public PowerShellInfoProvider(@NotNull final ExtensionHolder extensionHolder,
@NotNull final RegistryPowerShellDetector registryPowerShellDetector,
@NotNull final CommandLinePowerShellDetector commandLinePowerShellDetector,
@NotNull final EventDispatcher<AgentLifeCycleListener> eventDispatcher,
@NotNull final ShellInfoHolder holder) {
myHolder = holder;
extensionHolder.registerExtension(AgentParametersSupplier.class, getClass().getName(), new AgentParametersSupplier() {
@Override
public Map<String, String> getParameters() {
final Map<String, String> parameters = new HashMap<>();
registerDetectedPowerShells(registryPowerShellDetector, commandLinePowerShellDetector, parameters);
return parameters;
}
});
eventDispatcher.addListener(new AgentLifeCycleAdapter() {
@Override
public void agentStarted(@NotNull BuildAgent agent) {
if (myHolder.getShells().isEmpty()) {
LOG.info("Agent has been initialized from cache, registering powershells from configuration");
addRegisteredPowershellsToState(agent.getConfiguration());
}
}
});
}