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 { commands, ExtensionContext } from 'vscode';
import { formatXml, linearizeXml } from './features/xmlFormatting'; import { formatXml, linearizeXml } from './features/xmlFormatting';
import { evaluateXPath } from './features/xmlXPathEngine'; import { evaluateXPath } from './features/xmlXPathEngine';
import { checkForUpdates } from './utils/UpdateNotifier';
export function activate(ctx: ExtensionContext) { export function activate(ctx: ExtensionContext) {
// check for update // check for update
//... checkForUpdates();
// register palette commands // register palette commands
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.formatXml', formatXml)); ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.formatXml', formatXml));

View File

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

View File

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