Update Notifier Tweaks
This commit is contained in:
		
							parent
							
								
									238dd4a996
								
							
						
					
					
						commit
						a26f829399
					
				
					 3 changed files with 13 additions and 5 deletions
				
			
		|  | @ -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)); | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -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.'); | ||||||
|  | 		} | ||||||
| 	}); | 	}); | ||||||
| } | } | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue