@@ -2,6 +2,7 @@ import tl = require('vsts-task-lib/task');
22import Q = require( 'q' ) ;
33import { Kudu } from 'azure-arm-rest/azure-arm-app-service-kudu' ;
44import webClient = require( 'azure-arm-rest/webClient' ) ;
5+ const pythonExtensionPrefix : string = "azureappservice-" ;
56
67export class KuduServiceUtils {
78 private _appServiceKuduService : Kudu ;
@@ -52,8 +53,10 @@ export class KuduServiceUtils {
5253
5354 for ( var extensionID of extensionList ) {
5455 var siteExtensionDetails = null ;
55- if ( siteExtensionMap [ extensionID ] ) {
56- siteExtensionDetails = siteExtensionMap [ extensionID ] ;
56+
57+ // Python extensions are moved to Nuget and the extensions IDs are changed. The belo check ensures that old extensions are mapped to new extension ID.
58+ if ( siteExtensionMap [ extensionID ] || ( extensionID . startsWith ( 'python' ) && siteExtensionMap [ pythonExtensionPrefix + extensionID ] ) ) {
59+ siteExtensionDetails = siteExtensionMap [ extensionID ] || siteExtensionMap [ pythonExtensionPrefix + extensionID ] ;
5760 console . log ( tl . loc ( 'ExtensionAlreadyInstalled' , extensionID ) ) ;
5861 }
5962 else {
@@ -123,7 +126,7 @@ export class KuduServiceUtils {
123126 }
124127
125128 private _getExtensionLocalPath ( extensionInfo : JSON ) : string {
126- var extensionId : string = extensionInfo [ 'id' ] ;
129+ var extensionId : string = extensionInfo [ 'id' ] . replace ( pythonExtensionPrefix , "" ) ;
127130 var homeDir = "D:\\home\\" ;
128131
129132 if ( extensionId . startsWith ( 'python2' ) ) {
0 commit comments