in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/dotnet/commands/nuget/NugetCredentialProviderSelectorImpl.kt [20:59]
override fun trySelect(sdkVersion: Version): String? {
val credentialProviderDisabled = _parametersService.tryGetParameter(ParameterType.Configuration, "teamcity.nuget.credentialprovider.disabled")?.trim()?.toBoolean() ?: false
if (credentialProviderDisabled) {
LOG.debug("Credentials plugin is disabled")
return null
}
var sdkMajorVersion = sdkVersion.major
if (sdkVersion == Version.Empty) {
// for full .NET 4.6 bin\credential-plugin\net46\CredentialProvider.TeamCity.exe
sdkMajorVersion = 4
LOG.debug("Will use credentials plugin for .NET Framework")
} else if (sdkVersion < Version.CredentialProviderVersion) {
LOG.debug("Credentials plugin is not supported for SDK version $sdkVersion")
return null
}
var credentialProviderPath = trySelectBySdkMajorVersion(sdkMajorVersion)
if (credentialProviderPath == null) {
LOG.debug("Couldn't find credential plugin matching SDK major version $sdkMajorVersion")
if (sdkVersion != Version.Empty) {
credentialProviderPath = if (!_virtualContext.isVirtual) {
trySelectByAvailableRuntimes()
} else {
// no runtimes info
trySelectBySdkMajorVersionWithRollForward(sdkMajorVersion)
}
}
}
if (credentialProviderPath != null) {
credentialProviderPath = _virtualContext.resolvePath(credentialProviderPath)
LOG.debug("Credentials provider found, using $credentialProviderPath")
} else {
LOG.debug("Credentials provider not found")
}
return credentialProviderPath
}