@@ -50,15 +50,20 @@ export async function downloadPackage(collectionUrl: string, credentialHandler:
5050
5151 await new Promise ( ( resolve , reject ) => {
5252 feedConnection . getCoreApi ( ) . restClient . get ( packageUrl , ApiVersion , null , { responseIsCollection : false } , async function ( error , status , result ) {
53- if ( ! ! error && status != 200 ) {
54- reject ( tl . loc ( "FailedToGetPackageMetadata" , error ) ) ;
53+ if ( ! ! error || status != 200 ) {
54+ return reject ( tl . loc ( "FailedToGetPackageMetadata" , error ) ) ;
5555 }
5656
5757 var packageType = result . protocolType . toLowerCase ( ) ;
5858 var packageName = result . name ;
5959
6060 if ( packageType == "nuget" ) {
61- var downloadUrl = await getDownloadUrl ( packageConnection . getCoreApi ( ) . vsoClient , feedId , packageName , version ) ;
61+
62+ var getDownloadUrlPromise = getDownloadUrl ( packageConnection . getCoreApi ( ) . vsoClient , feedId , packageName , version )
63+ getDownloadUrlPromise . catch ( ( error ) => {
64+ return reject ( error )
65+ } ) ;
66+ var downloadUrl = await getDownloadUrlPromise ;
6267
6368 if ( ! tl . exist ( downloadPath ) ) {
6469 tl . mkdirP ( downloadPath ) ;
@@ -68,18 +73,29 @@ export async function downloadPackage(collectionUrl: string, credentialHandler:
6873 var unzipLocation = path . join ( downloadPath , "" ) ;
6974
7075 console . log ( tl . loc ( "StartingDownloadOfPackage" , packageName , zipLocation ) ) ;
71- await downloadNugetPackage ( packageConnection . getCoreApi ( ) , downloadUrl , zipLocation ) ;
76+
77+ var downloadNugetPackagePromise = downloadNugetPackage ( packageConnection . getCoreApi ( ) , downloadUrl , zipLocation ) ;
78+ downloadNugetPackagePromise . catch ( ( error ) => {
79+ return reject ( error )
80+ } ) ;
81+ await downloadNugetPackagePromise ;
82+
7283 console . log ( tl . loc ( "ExtractingNugetPackage" , packageName , unzipLocation ) ) ;
73- await unzip ( zipLocation , unzipLocation ) ;
84+
85+ var unzipPromise = unzip ( zipLocation , unzipLocation ) ;
86+ unzipPromise . catch ( ( error ) => {
87+ return reject ( error )
88+ } ) ;
89+ await unzipPromise ;
7490
7591 if ( tl . exist ( zipLocation ) ) {
7692 tl . rmRF ( zipLocation , false ) ;
7793 }
7894
79- resolve ( ) ;
95+ return resolve ( ) ;
8096 }
8197 else {
82- reject ( tl . loc ( "PackageTypeNotSupported" ) ) ;
98+ return reject ( tl . loc ( "PackageTypeNotSupported" ) ) ;
8399 }
84100 } ) ;
85101 } ) ;
@@ -88,19 +104,30 @@ export async function downloadPackage(collectionUrl: string, credentialHandler:
88104export async function getNuGetPackageUrl ( vsoClient : vsom . VsoClient , feedId : string , packageId : string ) : Promise < string > {
89105 var PackagingAreaName = "Packaging" ;
90106 var PackageAreaId = "7A20D846-C929-4ACC-9EA2-0D5A7DF1B197" ;
91-
92- var data = await vsoClient . getVersioningData ( ApiVersion , PackagingAreaName , PackageAreaId , { feedId : feedId , packageId : packageId } ) ;
93-
94- return data . requestUrl ;
107+
108+ return new Promise < string > ( ( resolve , reject ) => {
109+ var getVersioningDataPromise = vsoClient . getVersioningData ( ApiVersion , PackagingAreaName , PackageAreaId , { feedId : feedId , packageId : packageId } ) ;
110+ getVersioningDataPromise . then ( ( result ) => {
111+ return resolve ( result . requestUrl ) ;
112+ } ) ;
113+ getVersioningDataPromise . catch ( ( error ) => {
114+ return reject ( error )
115+ } ) ;
116+ } ) ;
95117}
96118
97119export async function getDownloadUrl ( vsoClient : vsom . VsoClient , feedId : string , packageName : string , version : string ) : Promise < string > {
98120 var NugetArea = "NuGet"
99121 var PackageVersionContentResourceId = "6EA81B8C-7386-490B-A71F-6CF23C80B388"
100-
101- var data = await vsoClient . getVersioningData ( ApiVersion , NugetArea , PackageVersionContentResourceId , { feedId : feedId , packageName : packageName , packageVersion : version } ) ;
102-
103- return data . requestUrl ;
122+ return new Promise < string > ( ( resolve , reject ) => {
123+ var getVersioningDataPromise = vsoClient . getVersioningData ( ApiVersion , NugetArea , PackageVersionContentResourceId , { feedId : feedId , packageName : packageName , packageVersion : version } ) ;
124+ getVersioningDataPromise . then ( ( result ) => {
125+ return resolve ( result . requestUrl ) ;
126+ } ) ;
127+ getVersioningDataPromise . catch ( ( error ) => {
128+ return reject ( error )
129+ } ) ;
130+ } ) ;
104131}
105132
106133export async function downloadNugetPackage ( coreApi : corem . ICoreApi , downloadUrl : string , downloadPath : string ) : Promise < void > {
@@ -110,17 +137,17 @@ export async function downloadNugetPackage(coreApi: corem.ICoreApi, downloadUrl:
110137 coreApi . restClient . httpClient . getStream ( downloadUrl , accept , function ( error , status , result ) {
111138 tl . debug ( "Downloading package from url: " + downloadUrl ) ;
112139 tl . debug ( "Download status: " + status ) ;
113- if ( ! ! error && status != 200 ) {
114- reject ( tl . loc ( "FailedToDownloadNugetPackage" , downloadUrl , error ) ) ;
140+ if ( ! ! error || status != 200 ) {
141+ return reject ( tl . loc ( "FailedToDownloadNugetPackage" , downloadUrl , error ) ) ;
115142 }
116143
117144 result . pipe ( file ) ;
118145 result . on ( "end" , ( ) => {
119146 console . log ( tl . loc ( "PackageDownloadSuccessful" ) ) ;
120- resolve ( ) ;
147+ return resolve ( ) ;
121148 } ) ;
122149 result . on ( "error" , err => {
123- reject ( tl . loc ( "FailedToDownloadNugetPackage" , downloadUrl , err ) ) ;
150+ return reject ( tl . loc ( "FailedToDownloadNugetPackage" , downloadUrl , err ) ) ;
124151 } ) ;
125152 } ) ;
126153 } ) ;
@@ -139,11 +166,11 @@ export async function unzip(zipLocation: string, unzipLocation: string): Promise
139166
140167 var unzipper = new DecompressZip ( zipLocation ) ;
141168 unzipper . on ( 'error' , err => {
142- reject ( tl . loc ( "ExtractionFailed" , err ) )
169+ return reject ( tl . loc ( "ExtractionFailed" , err ) )
143170 } ) ;
144171 unzipper . on ( 'extract' , log => {
145172 tl . debug ( 'Extracted ' + zipLocation + ' to ' + unzipLocation + ' successfully' ) ;
146- resolve ( ) ;
173+ return resolve ( ) ;
147174 } ) ;
148175
149176 unzipper . extract ( {
0 commit comments