Reduce nesting in runRemoteQuery

Now that we do not have a dry run mode, we can create and clean up the
temporary directory in the same function. This allows us to remove the
complete try..finally block inside `runRemoteQuery` and move it to a
much more local spot.
This commit is contained in:
Koen Vlaswinkel
2022-11-08 16:11:44 +01:00
parent cca13fde48
commit 082fea8587

View File

@@ -181,7 +181,6 @@ export async function prepareRemoteQueryRun(
cliServer: cli.CodeQLCliServer,
credentials: Credentials,
uri: Uri | undefined,
queryPackDir: string,
progress: ProgressCallback,
token: CancellationToken,
) {
@@ -225,7 +224,17 @@ export async function prepareRemoteQueryRun(
throw new UserCancellationException('Cancelled');
}
const { base64Pack, language } = await generateQueryPack(cliServer, queryFile, queryPackDir);
const { remoteQueryDir, queryPackDir } = await createRemoteQueriesTempDirectory();
let pack: Awaited<ReturnType<typeof generateQueryPack>>;
try {
pack = await generateQueryPack(cliServer, queryFile, queryPackDir);
} finally {
await remoteQueryDir.cleanup();
}
const { base64Pack, language } = pack;
if (token.isCancellationRequested) {
throw new UserCancellationException('Cancelled');
@@ -266,8 +275,6 @@ export async function runRemoteQuery(
} or later.`);
}
const { remoteQueryDir, queryPackDir } = await createRemoteQueriesTempDirectory();
try {
const {
actionBranch,
base64Pack,
@@ -277,7 +284,7 @@ export async function runRemoteQuery(
controllerRepo,
queryStartTime,
language,
} = await prepareRemoteQueryRun(cliServer, credentials, uri, queryPackDir, progress, token);
} = await prepareRemoteQueryRun(cliServer, credentials, uri, progress, token);
if (isVariantAnalysisLiveResultsEnabled()) {
const queryName = getQueryName(queryMetadata, queryFile);
@@ -344,10 +351,6 @@ export async function runRemoteQuery(
// don't return the path because it has been deleted
return { query: remoteQuery };
}
} finally {
await remoteQueryDir.cleanup();
}
}
async function runRemoteQueriesApiRequest(