Skip to content

Commit 1bc6805

Browse files
authored
ci: separate stable and prerelease release (#979)
* ci: separate stable and prerelease * perf: update
1 parent 6fcc4ed commit 1bc6805

File tree

6 files changed

+42
-8
lines changed

6 files changed

+42
-8
lines changed

.azure-pipelines/rc.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ extends:
8888
displayName: Replace AI Key
8989
inputs:
9090
script: npx json@9.0.6 -I -f package.json -e "this.aiKey=\"%AI_KEY%\""
91+
- task: PowerShell@2
92+
displayName: Update package.json for stable
93+
inputs:
94+
targetType: inline
95+
script: |-
96+
node ./scripts/prepare-stable-build.js
97+
Move-Item -Path "./package.stable.json" -Destination "./package.json" -Force
9198
- task: CmdLine@2
9299
displayName: vsce package
93100
inputs:

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "vscode-java-dependency",
33
"displayName": "Project Manager for Java",
44
"description": "%description%",
5-
"version": "0.27.0",
5+
"version": "0.27.1",
66
"publisher": "vscjava",
77
"preview": false,
88
"aiKey": "5c642b22-e845-4400-badb-3f8509a70777",

scripts/prepare-nightly-build.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ const fs = require("fs");
22

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

811
function prependZero(number) {
912
if (number > 99) {
10-
throw "Unexpected value to prepend with zero";
13+
throw new Error("Unexpected value to prepend with zero");
1114
}
1215
return `${number < 10 ? "0" : ""}${number}`;
1316
}
@@ -16,10 +19,11 @@ const date = new Date();
1619
const month = date.getMonth() + 1;
1720
const day = date.getDate();
1821
const hours = date.getHours();
19-
patch = `${date.getFullYear()}${prependZero(month)}${prependZero(day)}${prependZero(hours)}`;
22+
const patch = `${date.getFullYear()}${prependZero(month)}${prependZero(day)}${prependZero(hours)}`;
2023

2124
const insiderPackageJson = Object.assign(json, {
2225
version: `${major}.${minor}.${patch}`,
26+
preview: true,
2327
});
2428

25-
fs.writeFileSync("./package.insiders.json", JSON.stringify(insiderPackageJson));
29+
fs.writeFileSync("./package.insiders.json", `${JSON.stringify(insiderPackageJson, null, 2)}\n`);

scripts/prepare-stable-build.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const fs = require("fs");
2+
3+
const packageJsonPath = "./package.json";
4+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
5+
packageJson.preview = false;
6+
7+
if (packageJson.contributes) {
8+
delete packageJson.contributes.languageModelTools;
9+
delete packageJson.contributes.chatSkills;
10+
delete packageJson.contributes.chatInstructions;
11+
12+
if (packageJson.contributes.configuration && packageJson.contributes.configuration.properties) {
13+
delete packageJson.contributes.configuration.properties["vscode-java-dependency.enableLspTools"];
14+
}
15+
}
16+
17+
fs.writeFileSync("./package.stable.json", `${JSON.stringify(packageJson, null, 2)}\n`);

src/extension.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
// Licensed under the MIT license.
33

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

8991
// Register Copilot context providers after Java Language Server is ready
92+
const isPrereleaseBuild = context.extension.packageJSON.preview === true;
93+
if (!isPrereleaseBuild) {
94+
return;
95+
}
9096
languageServerApiManager.ready().then((isReady) => {
9197
const config = workspace.getConfiguration("vscode-java-dependency");
92-
const isSettingEnabled = config.get<boolean>("enableLspTools", true);
98+
const isSettingEnabled = config.get<boolean>("enableLspTools", false);
9399
if (isReady && isSettingEnabled) {
94100
registerJavaContextTools(context);
95101
}

0 commit comments

Comments
 (0)