Skip to content

Commit

Permalink
🔖 Release 0.7.3 (#226)
Browse files Browse the repository at this point in the history
* ✨ Add a button to reset the PROS conductor file (#224)

* pros c reset button

Works

* fix prettier warning

automated CI run of prettier is bugged

* run prettier on new file

please pass ci check

* Allow conductor reset regardless of vscode context

Co-authored-by: BennyBot <[email protected]>

* Add package.json entry for resetConductor

---------

Co-authored-by: BennyBot <[email protected]>

* 🐛 Use tag versions to select CLI version on welcome screen (#225)

Co-authored-by: Andrew Lu <[email protected]>

* update package.json

---------

Co-authored-by: Jack Hughes <[email protected]>
Co-authored-by: BennyBot <[email protected]>
  • Loading branch information
3 people authored May 21, 2024
1 parent 326ad12 commit 84ddb1e
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 45 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

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

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"color": "#D6B872",
"theme": "dark"
},
"version": "0.7.2",
"version": "0.7.3",
"engines": {
"vscode": "^1.82.0"
},
Expand Down Expand Up @@ -165,6 +165,10 @@
"command": "pros.infoProject",
"title": "PROS: Project Information"
},
{
"command": "pros.resetConductor",
"title": "PROS: Reset Conductor"
},
{
"command": "pros.welcome",
"title": "PROS: Welcome"
Expand Down
1 change: 1 addition & 0 deletions src/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ export * from "./set-team-number";
export * from "./set-robot-name";
export * from "./runvision";
export * from "./info-project";
export * from "./reset-conductor";
21 changes: 21 additions & 0 deletions src/commands/reset-conductor.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import * as vscode from "vscode";
import { BaseCommand, BaseCommandOptions } from "./base-command";

export const resetConductor = async () => {
const resetConductorCommandOptions: BaseCommandOptions = {
command: "pros",
args: ["c", "reset"], //--force not needed: Ben's base-commands class auto-handles warning + confirmation.
message: "Resetting Conductor",
requiresProsProject: false,
successMessage:
"Conductor Reset Successfully. Any templates and/or depots previously cached will need to be re-fetched.",
};
const resetConductorCommand: BaseCommand = new BaseCommand(
resetConductorCommandOptions
);
try {
await resetConductorCommand.runCommand();
} catch (err: any) {
await vscode.window.showErrorMessage(err.message);
}
};
8 changes: 6 additions & 2 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { promisify } from "util";
import { TreeDataProvider } from "./views/tree-view";
import {
getWebviewContent,
fetchCliVersion,
fetchKernelVersionNonCLIDependent,
} from "./views/welcome-view";
import {
Expand All @@ -30,6 +29,7 @@ import {
setRobotName,
runVision,
getCurrentKernelOkapiVersion,
resetConductor,
} from "./commands";
import { ProsProjectEditorProvider } from "./views/editor";
import { Analytics } from "./ga";
Expand All @@ -55,6 +55,7 @@ import {
import { startPortMonitoring } from "./device";
import { BrainViewProvider } from "./views/brain-view";
import { populateDocsJSON, debugDocsJson } from "./views/docs-webscrape";
import { getCurrentReleaseVersion } from "./one-click/installed";

/**
* COMMAND BLOCKER SECTION
Expand Down Expand Up @@ -229,6 +230,7 @@ export async function activate(context: vscode.ExtensionContext) {
setupCommandBlocker("pros.upgrade", upgradeProject);
setupCommandBlocker("pros.new", createNewProject);
setupCommandBlocker("pros.infoProject", infoProject);
setupCommandBlocker("pros.resetConductor", resetConductor);

// Beta commands (notice the fourth argument is set to true for these)
setupCommandBlocker("pros.installVision", installVision, context, true);
Expand Down Expand Up @@ -377,7 +379,9 @@ export async function activate(context: vscode.ExtensionContext) {
// This gets the kernel version so we can display it on the welcome page
const newKernel = await fetchKernelVersionNonCLIDependent();
// This gets the CLI version so we can display it on the welcome page
const newCli = await fetchCliVersion();
const newCli = await getCurrentReleaseVersion(
"https://api.github.com/repos/purduesigbots/pros-cli/releases/latest"
);

// Setup google analytics preference and welcome page display preference
const useGoogleAnalytics =
Expand Down
1 change: 1 addition & 0 deletions src/views/tree-view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export class TreeDataProvider implements vscode.TreeDataProvider<TreeItem> {
new TreeItem("Upgrade Project", undefined, "pros.upgrade"),
new TreeItem("Create Project", undefined, "pros.new"),
new TreeItem("Project/Template Info", undefined, "pros.infoProject"),
new TreeItem("Reset Conductor", undefined, "pros.resetConductor"),
// open branchline will go here in the future
]),
new TreeItem("Manage Installations", [
Expand Down
40 changes: 0 additions & 40 deletions src/views/welcome-view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,6 @@ var fetch = require("node-fetch");
*
* @returns The kernel library versions
*/
export const fetchKernelVersion = async (): Promise<string> => {
try {
const { stdout, stderr } = await promisify(child_process.exec)(
`pros c q --target v5 --machine-output`,
{
env: {
...process.env,
// eslint-disable-next-line @typescript-eslint/naming-convention
PATH: getChildProcessPath(),
},
}
);

let newKernel = "0.0.0";

for (let e of stdout.split(/\r?\n/)) {
if (e.startsWith(PREFIX)) {
let jdata = JSON.parse(e.substr(PREFIX.length));
if (jdata.type === "finalize") {
for (let ver of jdata.data) {
if (ver.name === "kernel" && gt(ver.version, newKernel)) {
newKernel = ver.version;
}
}
}
}
}

return newKernel;
} catch (error) {
return "0.0.0";
}
};

export const fetchKernelVersionNonCLIDependent = async (): Promise<string> => {
const response = await fetch(
"https://api.github.com/repos/purduesigbots/pros/releases/latest"
Expand All @@ -59,12 +25,6 @@ export const fetchKernelVersionNonCLIDependent = async (): Promise<string> => {
var v = (await response.json()).tag_name;
return v;
};
export const fetchCliVersion = async (): Promise<string> => {
const response = await axios.get(
"https://purduesigbots.github.io/pros-mainline/stable/UpgradeManifestV1.json"
);
return `${response.data.version.major}.${response.data.version.minor}.${response.data.version.patch}`;
};

export function getWebviewContent(
styleUri: vscode.Uri,
Expand Down

0 comments on commit 84ddb1e

Please sign in to comment.