Do not add source archive folder for "Model dependency"
This commit is contained in:
@@ -87,6 +87,7 @@ export async function promptImportInternetDatabase(
|
||||
* @param cli the CodeQL CLI server
|
||||
* @param language the language to download. If undefined, the user will be prompted to choose a language.
|
||||
* @param makeSelected make the new database selected in the databases panel (default: true)
|
||||
* @param addSourceArchiveFolder whether to add a workspace folder containing the source archive to the workspace
|
||||
*/
|
||||
export async function promptImportGithubDatabase(
|
||||
commandManager: AppCommandManager,
|
||||
@@ -97,6 +98,7 @@ export async function promptImportGithubDatabase(
|
||||
cli?: CodeQLCliServer,
|
||||
language?: string,
|
||||
makeSelected = true,
|
||||
addSourceArchiveFolder = true,
|
||||
): Promise<DatabaseItem | undefined> {
|
||||
const githubRepo = await askForGitHubRepo(progress);
|
||||
if (!githubRepo) {
|
||||
@@ -112,6 +114,7 @@ export async function promptImportGithubDatabase(
|
||||
cli,
|
||||
language,
|
||||
makeSelected,
|
||||
addSourceArchiveFolder,
|
||||
);
|
||||
|
||||
if (databaseItem) {
|
||||
@@ -163,6 +166,7 @@ export async function askForGitHubRepo(
|
||||
* @param cli the CodeQL CLI server
|
||||
* @param language the language to download. If undefined, the user will be prompted to choose a language.
|
||||
* @param makeSelected make the new database selected in the databases panel (default: true)
|
||||
* @param addSourceArchiveFolder whether to add a workspace folder containing the source archive to the workspace
|
||||
**/
|
||||
export async function downloadGitHubDatabase(
|
||||
githubRepo: string,
|
||||
@@ -173,6 +177,7 @@ export async function downloadGitHubDatabase(
|
||||
cli?: CodeQLCliServer,
|
||||
language?: string,
|
||||
makeSelected = true,
|
||||
addSourceArchiveFolder = true,
|
||||
): Promise<DatabaseItem | undefined> {
|
||||
const nwo = getNwoFromGitHubUrl(githubRepo) || githubRepo;
|
||||
if (!isValidGitHubNwo(nwo)) {
|
||||
@@ -218,6 +223,7 @@ export async function downloadGitHubDatabase(
|
||||
progress,
|
||||
cli,
|
||||
makeSelected,
|
||||
addSourceArchiveFolder,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -277,6 +283,7 @@ export async function importArchiveDatabase(
|
||||
* @param nameOverride a name for the database that overrides the default
|
||||
* @param progress callback to send progress messages to
|
||||
* @param makeSelected make the new database selected in the databases panel (default: true)
|
||||
* @param addSourceArchiveFolder whether to add a workspace folder containing the source archive to the workspace
|
||||
*/
|
||||
async function databaseArchiveFetcher(
|
||||
databaseUrl: string,
|
||||
@@ -287,6 +294,7 @@ async function databaseArchiveFetcher(
|
||||
progress: ProgressCallback,
|
||||
cli?: CodeQLCliServer,
|
||||
makeSelected = true,
|
||||
addSourceArchiveFolder = true,
|
||||
): Promise<DatabaseItem> {
|
||||
progress({
|
||||
message: "Getting database",
|
||||
@@ -329,6 +337,9 @@ async function databaseArchiveFetcher(
|
||||
Uri.file(dbPath),
|
||||
makeSelected,
|
||||
nameOverride,
|
||||
{
|
||||
addSourceArchiveFolder,
|
||||
},
|
||||
);
|
||||
return item;
|
||||
} else {
|
||||
|
||||
@@ -329,13 +329,14 @@ export class DatabaseUI extends DisposableObject {
|
||||
if (databaseItem === undefined) {
|
||||
const makeSelected = true;
|
||||
const nameOverride = "CodeQL Tutorial Database";
|
||||
const isTutorialDatabase = true;
|
||||
|
||||
await this.databaseManager.openDatabase(
|
||||
uri,
|
||||
makeSelected,
|
||||
nameOverride,
|
||||
isTutorialDatabase,
|
||||
{
|
||||
isTutorialDatabase: true,
|
||||
},
|
||||
);
|
||||
}
|
||||
await this.handleTourDependencies();
|
||||
|
||||
@@ -71,6 +71,14 @@ function eventFired<T>(
|
||||
});
|
||||
}
|
||||
|
||||
type OpenDatabaseOptions = {
|
||||
isTutorialDatabase?: boolean;
|
||||
/**
|
||||
* Whether to add a workspace folder containing the source archive to the workspace. Default is true.
|
||||
*/
|
||||
addSourceArchiveFolder?: boolean;
|
||||
};
|
||||
|
||||
export class DatabaseManager extends DisposableObject {
|
||||
private readonly _onDidChangeDatabaseItem = this.push(
|
||||
new vscode.EventEmitter<DatabaseChangedEvent>(),
|
||||
@@ -107,7 +115,10 @@ export class DatabaseManager extends DisposableObject {
|
||||
uri: vscode.Uri,
|
||||
makeSelected = true,
|
||||
displayName?: string,
|
||||
isTutorialDatabase?: boolean,
|
||||
{
|
||||
isTutorialDatabase = false,
|
||||
addSourceArchiveFolder = true,
|
||||
}: OpenDatabaseOptions = {},
|
||||
): Promise<DatabaseItem> {
|
||||
const databaseItem = await this.createDatabaseItem(uri, displayName);
|
||||
|
||||
@@ -115,6 +126,7 @@ export class DatabaseManager extends DisposableObject {
|
||||
databaseItem,
|
||||
makeSelected,
|
||||
isTutorialDatabase,
|
||||
addSourceArchiveFolder,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -128,6 +140,7 @@ export class DatabaseManager extends DisposableObject {
|
||||
databaseItem: DatabaseItemImpl,
|
||||
makeSelected: boolean,
|
||||
isTutorialDatabase?: boolean,
|
||||
addSourceArchiveFolder = true,
|
||||
): Promise<DatabaseItem> {
|
||||
const existingItem = this.findDatabaseItem(databaseItem.databaseUri);
|
||||
if (existingItem !== undefined) {
|
||||
@@ -141,7 +154,9 @@ export class DatabaseManager extends DisposableObject {
|
||||
if (makeSelected) {
|
||||
await this.setCurrentDatabaseItem(databaseItem);
|
||||
}
|
||||
await this.addDatabaseSourceArchiveFolder(databaseItem);
|
||||
if (addSourceArchiveFolder) {
|
||||
await this.addDatabaseSourceArchiveFolder(databaseItem);
|
||||
}
|
||||
|
||||
if (isCodespacesTemplate() && !isTutorialDatabase) {
|
||||
await this.createSkeletonPacks(databaseItem);
|
||||
|
||||
@@ -578,6 +578,7 @@ export class ModelEditorView extends AbstractWebview<
|
||||
this.cliServer,
|
||||
this.databaseItem.language,
|
||||
makeSelected,
|
||||
false,
|
||||
);
|
||||
if (!addedDatabase) {
|
||||
void this.app.logger.log("No database chosen");
|
||||
|
||||
@@ -742,7 +742,7 @@ describe("local databases", () => {
|
||||
mockDbItem.databaseUri,
|
||||
makeSelected,
|
||||
nameOverride,
|
||||
isTutorialDatabase,
|
||||
{ isTutorialDatabase },
|
||||
);
|
||||
|
||||
expect(createSkeletonPacksSpy).toBeCalledTimes(0);
|
||||
|
||||
Reference in New Issue
Block a user