Update Notifier Tweaks

This commit is contained in:
Josh Johnson 2015-11-24 17:06:24 -05:00
parent 238dd4a996
commit a26f829399
3 changed files with 13 additions and 5 deletions

View File

@ -3,10 +3,11 @@
import { commands, ExtensionContext } from 'vscode';
import { formatXml, linearizeXml } from './features/xmlFormatting';
import { evaluateXPath } from './features/xmlXPathEngine';
import { checkForUpdates } from './utils/UpdateNotifier';
export function activate(ctx: ExtensionContext) {
// check for update
//...
checkForUpdates();
// register palette commands
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.formatXml', formatXml));

View File

@ -5,6 +5,7 @@ import { extensions, Extension } from 'vscode';
export class ExtensionManifestReader {
constructor(extensionId: string) {
this._extension = extensions.getExtension(extensionId);
this.refresh();
}
private _extension: Extension<any>
@ -27,7 +28,7 @@ export class ExtensionManifestReader {
}
refresh(): void {
let manifest: any = this._extension.packageJSON;
let manifest = this._extension.packageJSON;
for (let property in manifest)
{
@ -35,5 +36,7 @@ export class ExtensionManifestReader {
this[property] = manifest[property];
}
}
this.displayName = manifest.displayName;
}
}

View File

@ -6,9 +6,9 @@ import { ExtensionManifestReader } from './ManifestUtils';
let req = require('request');
let semver = require('semver');
export function checkForUpdates() {
export function checkForUpdates() {
let manifestReader: ExtensionManifestReader = new ExtensionManifestReader('DotJoshJohnson.xml');
let currentVersion = manifestReader.version;
let currentVersion = '0.0.0';//manifestReader.version;
// use the GitHub api to determine the latest released version
let url = 'https://api.github.com/repos/DotJoshJohnson/vscode-xml/releases/latest';
@ -24,7 +24,7 @@ export function checkForUpdates() {
req(options, (error, response, body) => {
if (!error && response.statusCode == 200) {
let release = JSON.parse(body);
let latestVersion = release.name.substring(1); // the telease/tag is prefixed with a "v"
let latestVersion = release.name.substring(1); // the release/tag is prefixed with a "v"
if (!release.draft && semver.gt(latestVersion, currentVersion)) {
let updateNowLabel = 'Update Now';
@ -35,5 +35,9 @@ export function checkForUpdates() {
});
}
}
else {
console.log('XML Tools: Failed to get latest release information from GitHub.');
}
});
}