Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .azure-pipelines/rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,13 @@ extends:
displayName: Replace AI Key
inputs:
script: npx json@9.0.6 -I -f package.json -e "this.aiKey=\"%AI_KEY%\""
- task: PowerShell@2
displayName: Update package.json for stable
inputs:
targetType: inline
script: |-
node ./scripts/prepare-stable-build.js
Move-Item -Path "./package.stable.json" -Destination "./package.json" -Force
- task: CmdLine@2
displayName: vsce package
inputs:
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "vscode-java-dependency",
"displayName": "Project Manager for Java",
"description": "%description%",
"version": "0.27.0",
"version": "0.27.1",
"publisher": "vscjava",
"preview": false,
"aiKey": "5c642b22-e845-4400-badb-3f8509a70777",
Expand Down
10 changes: 7 additions & 3 deletions scripts/prepare-nightly-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@ const fs = require("fs");

const json = JSON.parse(fs.readFileSync("./package.json").toString());
const stableVersion = json.version.match(/(\d+)\.(\d+)\.(\d+)/);
if (!stableVersion) {
throw new Error(`Invalid stable version: ${json.version}`);
}
const major = stableVersion[1];
const minor = stableVersion[2];

function prependZero(number) {
if (number > 99) {
throw "Unexpected value to prepend with zero";
throw new Error("Unexpected value to prepend with zero");
}
return `${number < 10 ? "0" : ""}${number}`;
}
Expand All @@ -16,10 +19,11 @@ const date = new Date();
const month = date.getMonth() + 1;
const day = date.getDate();
const hours = date.getHours();
patch = `${date.getFullYear()}${prependZero(month)}${prependZero(day)}${prependZero(hours)}`;
const patch = `${date.getFullYear()}${prependZero(month)}${prependZero(day)}${prependZero(hours)}`;

const insiderPackageJson = Object.assign(json, {
version: `${major}.${minor}.${patch}`,
preview: true,
});

fs.writeFileSync("./package.insiders.json", JSON.stringify(insiderPackageJson));
fs.writeFileSync("./package.insiders.json", `${JSON.stringify(insiderPackageJson, null, 2)}\n`);
17 changes: 17 additions & 0 deletions scripts/prepare-stable-build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const fs = require("fs");

const packageJsonPath = "./package.json";
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
packageJson.preview = false;

if (packageJson.contributes) {
delete packageJson.contributes.languageModelTools;
delete packageJson.contributes.chatSkills;
delete packageJson.contributes.chatInstructions;

if (packageJson.contributes.configuration && packageJson.contributes.configuration.properties) {
delete packageJson.contributes.configuration.properties["vscode-java-dependency.enableLspTools"];
}
}

fs.writeFileSync("./package.stable.json", `${JSON.stringify(packageJson, null, 2)}\n`);
12 changes: 9 additions & 3 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
// Licensed under the MIT license.

import * as path from "path";
import { commands, Diagnostic, Extension, ExtensionContext, extensions, languages,
Range, tasks, TextDocument, TextEditor, Uri, window, workspace } from "vscode";
import {
commands, Diagnostic, Extension, ExtensionContext, extensions, languages,
Range, tasks, TextDocument, TextEditor, Uri, window, workspace
} from "vscode";
import { dispose as disposeTelemetryWrapper, initializeFromJsonFile, instrumentOperation, instrumentOperationAsVsCodeCommand, sendInfo } from "vscode-extension-telemetry-wrapper";
import { Commands, contextManager } from "../extension.bundle";
import { BuildTaskProvider } from "./tasks/build/buildTaskProvider";
Expand Down Expand Up @@ -87,9 +89,13 @@ async function activateExtension(_operationId: string, context: ExtensionContext
setContextForDeprecatedTasks();

// Register Copilot context providers after Java Language Server is ready
const isPrereleaseBuild = context.extension.packageJSON.preview === true;
if (!isPrereleaseBuild) {
return;
}
languageServerApiManager.ready().then((isReady) => {
const config = workspace.getConfiguration("vscode-java-dependency");
const isSettingEnabled = config.get<boolean>("enableLspTools", true);
const isSettingEnabled = config.get<boolean>("enableLspTools", false);
if (isReady && isSettingEnabled) {
registerJavaContextTools(context);
}
Expand Down
Loading