@@ -24,7 +24,6 @@ import * as vscode from 'vscode';
24
24
import * as crypto from 'crypto' ;
25
25
import { handleLog } from './extension' ;
26
26
import { promisify } from 'util' ;
27
- import * as glob from 'glob' ;
28
27
29
28
let customView : vscode . WebviewPanel ;
30
29
let logger : vscode . OutputChannel ;
@@ -190,8 +189,9 @@ export async function extractJDK(jdkTarballPath: string, extractionTarget: strin
190
189
const downloadedDir = path . join ( __dirname , 'jdk_downloads' ) ;
191
190
192
191
// Remove already present version of a particular JDK from temp dir
193
- const oldTempExtractedDirs = glob . sync ( `jdk-${ jdkVersion } *` , { cwd : downloadedDir } ) ;
194
- for await ( const oldDirName of oldTempExtractedDirs ) {
192
+ const oldDirs = await fs . promises . readdir ( downloadedDir ) ;
193
+ const matchingOldDirs = oldDirs . filter ( file => file . startsWith ( `jdk-${ jdkVersion } ` ) ) ;
194
+ for await ( const oldDirName of matchingOldDirs ) {
195
195
await fs . promises . rmdir ( path . join ( downloadedDir , oldDirName ) , { recursive : true } ) ;
196
196
}
197
197
@@ -204,7 +204,9 @@ export async function extractJDK(jdkTarballPath: string, extractionTarget: strin
204
204
if ( error ) {
205
205
vscode . window . showErrorMessage ( 'Error: ' + error ) ;
206
206
} else {
207
- const tempDirName = glob . sync ( `jdk-${ jdkVersion } *` , { cwd : downloadedDir } ) ?. [ 0 ] ;
207
+ const dirsPresent = await fs . promises . readdir ( downloadedDir ) ;
208
+ const matchingJdkDir = dirsPresent . filter ( file => file . startsWith ( `jdk-${ jdkVersion } ` ) ) ;
209
+ const tempDirName = matchingJdkDir [ 0 ] || "" ;
208
210
tempDirectoryPath = path . join ( downloadedDir , tempDirName ) ;
209
211
// If directory with same name is present in the user selected download location then ask user if they want to delete it or not?
210
212
const newDirName = `${ jdkType . split ( ' ' ) . join ( '_' ) } -${ jdkVersion } ` ;
0 commit comments