Remove import cycle for distribution manager

This commit is contained in:
Koen Vlaswinkel
2024-01-05 17:09:52 +01:00
parent 31c90a5068
commit 70c2beb510
20 changed files with 106 additions and 106 deletions

View File

@@ -11,10 +11,10 @@ import { DisposableObject } from "../common/disposable-object";
import type { CoreQueryResults } from "../query-server";
import {
getQuickEvalContext,
QueryOutputDir,
saveBeforeStart,
validateQueryUri,
} from "../run-queries-shared";
import { QueryOutputDir } from "../local-queries/query-output-dir";
import type { QLResolvedDebugConfiguration } from "./debug-configuration";
import type {
AnyProtocolMessage,

View File

@@ -7,7 +7,7 @@ import type {
import type { DatabaseItem } from "../../databases/local-databases";
import type { ChildAstItem, AstItem } from "./ast-viewer";
import type { Uri } from "vscode";
import type { QueryOutputDir } from "../../run-queries-shared";
import type { QueryOutputDir } from "../../local-queries/query-output-dir";
import { fileRangeFromURI } from "../contextual/file-range-from-uri";
import { mapUrlValue } from "../../common/bqrs-raw-results-mapper";

View File

@@ -21,7 +21,7 @@ import {
} from "./query-resolver";
import type { CancellationToken, LocationLink } from "vscode";
import { Uri } from "vscode";
import type { QueryOutputDir } from "../../run-queries-shared";
import type { QueryOutputDir } from "../../local-queries/query-output-dir";
import type { QueryRunner } from "../../query-server";
import { QueryResultType } from "../../query-server/messages";
import { fileRangeFromURI } from "./file-range-from-uri";

View File

@@ -29,7 +29,8 @@ import type {
DatabaseItem,
DatabaseManager,
} from "../databases/local-databases";
import type { QueryOutputDir, SelectedQuery } from "../run-queries-shared";
import type { SelectedQuery } from "../run-queries-shared";
import type { QueryOutputDir } from "./query-output-dir";
import {
createInitialQueryInfo,
createTimestampFile,

View File

@@ -9,9 +9,9 @@ import type { QueryHistoryManager } from "../query-history/query-history-manager
import type { DatabaseItem } from "../databases/local-databases";
import type {
EvaluatorLogPaths,
QueryOutputDir,
QueryWithResults,
} from "../run-queries-shared";
import type { QueryOutputDir } from "./query-output-dir";
import {
generateEvalLogSummaries,
logEndSummary,

View File

@@ -0,0 +1,75 @@
import { join } from "path";
function findQueryLogFile(resultPath: string): string {
return join(resultPath, "query.log");
}
function findQueryEvalLogFile(resultPath: string): string {
return join(resultPath, "evaluator-log.jsonl");
}
function findQueryEvalLogSummaryFile(resultPath: string): string {
return join(resultPath, "evaluator-log.summary");
}
function findJsonQueryEvalLogSummaryFile(resultPath: string): string {
return join(resultPath, "evaluator-log.summary.jsonl");
}
function findQueryEvalLogSummarySymbolsFile(resultPath: string): string {
return join(resultPath, "evaluator-log.summary.symbols.json");
}
function findQueryEvalLogEndSummaryFile(resultPath: string): string {
return join(resultPath, "evaluator-log-end.summary");
}
/**
* Provides paths to the files that can be generated in the output directory for a query evaluation.
*/
export class QueryOutputDir {
constructor(public readonly querySaveDir: string) {}
get dilPath() {
return join(this.querySaveDir, "results.dil");
}
/**
* Get the path that the compiled query is if it exists. Note that it only exists when using the legacy query server.
*/
get compileQueryPath() {
return join(this.querySaveDir, "compiledQuery.qlo");
}
get csvPath() {
return join(this.querySaveDir, "results.csv");
}
get logPath() {
return findQueryLogFile(this.querySaveDir);
}
get evalLogPath() {
return findQueryEvalLogFile(this.querySaveDir);
}
get evalLogSummaryPath() {
return findQueryEvalLogSummaryFile(this.querySaveDir);
}
get jsonEvalLogSummaryPath() {
return findJsonQueryEvalLogSummaryFile(this.querySaveDir);
}
get evalLogSummarySymbolsPath() {
return findQueryEvalLogSummarySymbolsFile(this.querySaveDir);
}
get evalLogEndSummaryPath() {
return findQueryEvalLogEndSummaryFile(this.querySaveDir);
}
get bqrsPath() {
return join(this.querySaveDir, "results.bqrs");
}
}

View File

@@ -1,6 +1,8 @@
import type { InitialQueryInfo } from "../../query-results";
import { LocalQueryInfo, CompletedQueryInfo } from "../../query-results";
import { QueryEvaluationInfo, QueryOutputDir } from "../../run-queries-shared";
import { QueryEvaluationInfo } from "../../run-queries-shared";
import { QueryOutputDir } from "../../local-queries/query-output-dir";
import { SortDirectionDto } from "./query-history-local-query-dto";
import type {
CompletedQueryInfoDto,
QueryEvaluationInfoDto,
@@ -10,7 +12,6 @@ import type {
SortedResultSetInfoDto,
RawResultsSortStateDto,
} from "./query-history-local-query-dto";
import { SortDirectionDto } from "./query-history-local-query-dto";
import type {
InterpretedResultsSortState,
RawResultsSortState,

View File

@@ -19,9 +19,9 @@ import { QueryStatus } from "./query-history/query-status";
import type {
EvaluatorLogPaths,
QueryEvaluationInfo,
QueryOutputDir,
QueryWithResults,
} from "./run-queries-shared";
import type { QueryOutputDir } from "./local-queries/query-output-dir";
import { sarifParser } from "./common/sarif-parser";
/**

View File

@@ -1,10 +1,10 @@
import type { CancellationToken } from "vscode";
import vscode from "vscode";
import { window } from "vscode";
import type { CancellationToken, MessageItem } from "vscode";
import type { CodeQLCliServer } from "../codeql-cli/cli";
import type { ProgressCallback } from "../common/vscode/progress";
import { UserCancellationException } from "../common/vscode/progress";
import type { DatabaseItem } from "../databases/local-databases";
import { QueryOutputDir } from "../run-queries-shared";
import type { DatabaseItem } from "../databases/local-databases/database-item";
import { QueryOutputDir } from "../local-queries/query-output-dir";
import type {
ClearCacheParams,
Position,
@@ -178,11 +178,11 @@ export class QueryRunner {
): Promise<void> {
const yesItem = { title: "Yes", isCloseAffordance: false };
const noItem = { title: "No", isCloseAffordance: true };
const dialogOptions: vscode.MessageItem[] = [yesItem, noItem];
const dialogOptions: MessageItem[] = [yesItem, noItem];
const message = `Should the database ${dbItem.databaseUri.fsPath} be destructively upgraded?\n\nThis should not be necessary to run queries
as we will non-destructively update it anyway.`;
const chosenItem = await vscode.window.showInformationMessage(
const chosenItem = await window.showInformationMessage(
message,
{ modal: true },
...dialogOptions,

View File

@@ -2,7 +2,7 @@ import type { CancellationToken } from "vscode";
import type { ProgressCallback } from "../common/vscode/progress";
import type { RunQueryParams } from "./messages";
import { runQuery } from "./messages";
import type { QueryOutputDir } from "../run-queries-shared";
import type { QueryOutputDir } from "../local-queries/query-output-dir";
import type { QueryServerClient } from "./query-server-client";
import type { CoreQueryResults, CoreQueryTarget } from "./query-runner";
import type { BaseLogger } from "../common/logging";

View File

@@ -15,7 +15,7 @@ import {
} from "fs-extra";
import type { InitialQueryInfo } from "./query-results";
import { ensureMetadataIsComplete } from "./query-results";
import { isQuickQueryPath } from "./local-queries";
import { isQuickQueryPath } from "./local-queries/quick-query";
import { nanoid } from "nanoid";
import type { CodeQLCliServer } from "./codeql-cli/cli";
import { SELECT_QUERY_NAME } from "./language-support";
@@ -30,6 +30,7 @@ import { extLogger } from "./common/logging/vscode";
import { generateSummarySymbolsFile } from "./log-insights/summary-parser";
import { getErrorMessage } from "./common/helpers-pure";
import { createHash } from "crypto";
import { QueryOutputDir } from "./local-queries/query-output-dir";
/**
* run-queries.ts
@@ -49,80 +50,6 @@ export interface EvaluatorLogPaths {
summarySymbols: string | undefined;
}
function findQueryLogFile(resultPath: string): string {
return join(resultPath, "query.log");
}
function findQueryEvalLogFile(resultPath: string): string {
return join(resultPath, "evaluator-log.jsonl");
}
function findQueryEvalLogSummaryFile(resultPath: string): string {
return join(resultPath, "evaluator-log.summary");
}
function findJsonQueryEvalLogSummaryFile(resultPath: string): string {
return join(resultPath, "evaluator-log.summary.jsonl");
}
function findQueryEvalLogSummarySymbolsFile(resultPath: string): string {
return join(resultPath, "evaluator-log.summary.symbols.json");
}
function findQueryEvalLogEndSummaryFile(resultPath: string): string {
return join(resultPath, "evaluator-log-end.summary");
}
/**
* Provides paths to the files that can be generated in the output directory for a query evaluation.
*/
export class QueryOutputDir {
constructor(public readonly querySaveDir: string) {}
get dilPath() {
return join(this.querySaveDir, "results.dil");
}
/**
* Get the path that the compiled query is if it exists. Note that it only exists when using the legacy query server.
*/
get compileQueryPath() {
return join(this.querySaveDir, "compiledQuery.qlo");
}
get csvPath() {
return join(this.querySaveDir, "results.csv");
}
get logPath() {
return findQueryLogFile(this.querySaveDir);
}
get evalLogPath() {
return findQueryEvalLogFile(this.querySaveDir);
}
get evalLogSummaryPath() {
return findQueryEvalLogSummaryFile(this.querySaveDir);
}
get jsonEvalLogSummaryPath() {
return findJsonQueryEvalLogSummaryFile(this.querySaveDir);
}
get evalLogSummarySymbolsPath() {
return findQueryEvalLogSummarySymbolsFile(this.querySaveDir);
}
get evalLogEndSummaryPath() {
return findQueryEvalLogEndSummaryFile(this.querySaveDir);
}
get bqrsPath() {
return join(this.querySaveDir, "results.bqrs");
}
}
export class QueryEvaluationInfo extends QueryOutputDir {
// We extend `QueryOutputDir`, rather than having it as a property, because we need
// `QueryOutputDir`'s `querySaveDir` property to be a property of `QueryEvaluationInfo`. This is

View File

@@ -5,7 +5,7 @@ import type {
QueryEvaluationInfo,
QueryWithResults,
} from "../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../src/local-queries/query-output-dir";
import type { CancellationTokenSource } from "vscode";
import type { QueryMetadata } from "../../../src/common/interface-types";
import type { QueryLanguage } from "../../../src/common/query-language";

View File

@@ -10,7 +10,7 @@ import type * as CodeQLProtocol from "../../../../src/debugger/debug-protocol";
import { DisposableObject } from "../../../../src/common/disposable-object";
import { QueryResultType } from "../../../../src/query-server/messages";
import type { CoreCompletedQuery } from "../../../../src/query-server/query-runner";
import { QueryOutputDir } from "../../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../../src/local-queries/query-output-dir";
import type {
QLDebugArgs,
QLDebugConfiguration,

View File

@@ -10,7 +10,7 @@ import {
import { describeWithCodeQL } from "../../cli";
import { withDebugController } from "./debug-controller";
import type { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
import type { QueryOutputDir } from "../../../../src/run-queries-shared";
import type { QueryOutputDir } from "../../../../src/local-queries/query-output-dir";
import { createVSCodeCommandManager } from "../../../../src/common/vscode/commands";
import type { AllCommands } from "../../../../src/common/commands";
import { getDataFolderFilePath } from "../utils";

View File

@@ -2,7 +2,7 @@ import { readFileSync } from "fs-extra";
import type { CodeQLCliServer } from "../../../../../src/codeql-cli/cli";
import { Uri } from "vscode";
import { QueryOutputDir } from "../../../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../../../src/local-queries/query-output-dir";
import { mockDatabaseItem, mockedObject } from "../../../utils/mocking.helpers";
import path from "path";
import { AstBuilder } from "../../../../../src/language-support";

View File

@@ -17,7 +17,7 @@ import { join } from "path";
import { pathExists, readFile } from "fs-extra";
import { load as loadYaml } from "js-yaml";
import { CancellationTokenSource } from "vscode-jsonrpc";
import { QueryOutputDir } from "../../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../../src/local-queries/query-output-dir";
import type { ModelExtensionFile } from "../../../../src/model-editor/model-extension-file";
describe("runAutoModelQueries", () => {

View File

@@ -17,7 +17,7 @@ import { Mode } from "../../../../src/model-editor/shared/mode";
import { join } from "path";
import type { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
import type { QueryRunner } from "../../../../src/query-server";
import { QueryOutputDir } from "../../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../../src/local-queries/query-output-dir";
describe("runModelEditorQueries", () => {
const language = Object.keys(fetchExternalApiQueries)[

View File

@@ -8,7 +8,7 @@ import type { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
import type { QueryRunner } from "../../../../src/query-server";
import { join } from "path";
import { CancellationTokenSource } from "vscode-jsonrpc";
import { QueryOutputDir } from "../../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../../src/local-queries/query-output-dir";
import { runGenerateQueries } from "../../../../src/model-editor/generate";
import { ruby } from "../../../../src/model-editor/languages/ruby";

View File

@@ -7,10 +7,8 @@ import { writeFileSync, mkdirpSync, writeFile } from "fs-extra";
import type { InitialQueryInfo } from "../../../../../src/query-results";
import { LocalQueryInfo } from "../../../../../src/query-results";
import type { QueryWithResults } from "../../../../../src/run-queries-shared";
import {
QueryEvaluationInfo,
QueryOutputDir,
} from "../../../../../src/run-queries-shared";
import { QueryEvaluationInfo } from "../../../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../../../src/local-queries/query-output-dir";
import type { DatabaseInfo } from "../../../../../src/common/interface-types";
import type { CancellationTokenSource } from "vscode";
import { Uri } from "vscode";

View File

@@ -13,15 +13,13 @@ import {
interpretResultsSarif,
} from "../../../src/query-results";
import type { QueryWithResults } from "../../../src/run-queries-shared";
import {
QueryEvaluationInfo,
QueryOutputDir,
} from "../../../src/run-queries-shared";
import { QueryEvaluationInfo } from "../../../src/run-queries-shared";
import { QueryOutputDir } from "../../../src/local-queries/query-output-dir";
import { SortDirection } from "../../../src/common/interface-types";
import type {
DatabaseInfo,
SortedResultSetInfo,
} from "../../../src/common/interface-types";
import { SortDirection } from "../../../src/common/interface-types";
import type { CodeQLCliServer, SourceInfo } from "../../../src/codeql-cli/cli";
import type { CancellationTokenSource } from "vscode";
import { Uri } from "vscode";