Skip to content

Commit 871fc0b

Browse files
committed
Use GHEC-DR URL in file blob URL
1 parent ca092a1 commit 871fc0b

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed

extensions/ql-vscode/src/extension.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -865,8 +865,10 @@ async function activateWithInstalledDistribution(
865865
"variant-analyses",
866866
);
867867
await ensureDir(variantAnalysisStorageDir);
868+
const variantAnalysisConfig = new VariantAnalysisConfigListener();
868869
const variantAnalysisResultsManager = new VariantAnalysisResultsManager(
869870
cliServer,
871+
variantAnalysisConfig,
870872
extLogger,
871873
);
872874

@@ -876,7 +878,7 @@ async function activateWithInstalledDistribution(
876878
variantAnalysisStorageDir,
877879
variantAnalysisResultsManager,
878880
dbModule.dbManager,
879-
new VariantAnalysisConfigListener(),
881+
variantAnalysisConfig,
880882
);
881883
ctx.subscriptions.push(variantAnalysisManager);
882884
ctx.subscriptions.push(variantAnalysisResultsManager);

extensions/ql-vscode/src/variant-analysis/variant-analysis-results-manager.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { DisposableObject } from "../common/disposable-object";
2323
import { EventEmitter } from "vscode";
2424
import { unzipToDirectoryConcurrently } from "../common/unzip-concurrently";
2525
import { readRepoTask, writeRepoTask } from "./repo-tasks-store";
26+
import type { VariantAnalysisConfig } from "../config";
2627

2728
type CacheKey = `${number}/${string}`;
2829

@@ -62,6 +63,7 @@ export class VariantAnalysisResultsManager extends DisposableObject {
6263

6364
constructor(
6465
private readonly cliServer: CodeQLCliServer,
66+
private readonly config: VariantAnalysisConfig,
6567
private readonly logger: Logger,
6668
) {
6769
super();
@@ -192,7 +194,7 @@ export class VariantAnalysisResultsManager extends DisposableObject {
192194
throw new Error("Missing database commit SHA");
193195
}
194196

195-
const fileLinkPrefix = this.createGitHubDotcomFileLinkPrefix(
197+
const fileLinkPrefix = this.createGitHubFileLinkPrefix(
196198
repoTask.repository.fullName,
197199
repoTask.databaseCommitSha,
198200
);
@@ -283,11 +285,11 @@ export class VariantAnalysisResultsManager extends DisposableObject {
283285
return join(variantAnalysisStoragePath, fullName);
284286
}
285287

286-
private createGitHubDotcomFileLinkPrefix(
287-
fullName: string,
288-
sha: string,
289-
): string {
290-
return `https://github.com/${fullName}/blob/${sha}`;
288+
private createGitHubFileLinkPrefix(fullName: string, sha: string): string {
289+
return new URL(
290+
`/${fullName}/blob/${sha}`,
291+
this.config.githubUrl,
292+
).toString();
291293
}
292294

293295
public removeAnalysisResults(variantAnalysis: VariantAnalysis) {

extensions/ql-vscode/test/vscode-tests/activated-extension/variant-analysis/variant-analysis-manager.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,12 @@ describe("Variant Analysis Manager", () => {
7878
new DbConfigStore(app),
7979
createMockVariantAnalysisConfig(),
8080
);
81+
const variantAnalysisConfig = createMockVariantAnalysisConfig();
8182
variantAnalysisResultsManager = new VariantAnalysisResultsManager(
8283
cli,
84+
variantAnalysisConfig,
8385
extLogger,
8486
);
85-
const variantAnalysisConfig = createMockVariantAnalysisConfig();
8687
variantAnalysisManager = new VariantAnalysisManager(
8788
app,
8889
cli,

extensions/ql-vscode/test/vscode-tests/activated-extension/variant-analysis/variant-analysis-results-manager.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import type {
1616
VariantAnalysisScannedRepositoryResult,
1717
} from "../../../../src/variant-analysis/shared/variant-analysis";
1818
import { mockedObject } from "../../utils/mocking.helpers";
19+
import { createMockVariantAnalysisConfig } from "../../../factories/config";
1920

2021
jest.setTimeout(10_000);
2122

@@ -27,8 +28,10 @@ describe(VariantAnalysisResultsManager.name, () => {
2728
variantAnalysisId = faker.number.int();
2829

2930
const cli = mockedObject<CodeQLCliServer>({});
31+
const variantAnalysisConfig = createMockVariantAnalysisConfig();
3032
variantAnalysisResultsManager = new VariantAnalysisResultsManager(
3133
cli,
34+
variantAnalysisConfig,
3235
extLogger,
3336
);
3437
});

extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/variant-analysis-manager.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,12 @@ describe("Variant Analysis Manager", () => {
5656
new DbConfigStore(app),
5757
createMockVariantAnalysisConfig(),
5858
);
59+
const variantAnalysisConfig = createMockVariantAnalysisConfig();
5960
const variantAnalysisResultsManager = new VariantAnalysisResultsManager(
6061
cli,
62+
variantAnalysisConfig,
6163
extLogger,
6264
);
63-
const variantAnalysisConfig = createMockVariantAnalysisConfig();
6465
variantAnalysisManager = new VariantAnalysisManager(
6566
app,
6667
cli,

0 commit comments

Comments
 (0)