Remove Update Notifier
This commit is contained in:
		
							parent
							
								
									f11a188092
								
							
						
					
					
						commit
						1b9caa3265
					
				
					 3 changed files with 19 additions and 100 deletions
				
			
		|  | @ -3,12 +3,8 @@ | ||||||
| import { commands, languages, ExtensionContext } from 'vscode'; | import { commands, languages, ExtensionContext } from 'vscode'; | ||||||
| import { linearizeXml, XmlDocumentFormattingProvider, XmlRangeFormattingProvider } from './features/xmlFormatting'; | import { linearizeXml, XmlDocumentFormattingProvider, XmlRangeFormattingProvider } 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
 |  | ||||||
| 	checkForUpdates(); |  | ||||||
| 	 |  | ||||||
| 	// register palette commands
 | 	// register palette commands
 | ||||||
| 	ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.linearizeXml', linearizeXml)); | 	ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.linearizeXml', linearizeXml)); | ||||||
| 	ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.evaluateXPath', evaluateXPath)); | 	ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.evaluateXPath', evaluateXPath)); | ||||||
|  |  | ||||||
|  | @ -1,34 +0,0 @@ | ||||||
| 'use strict'; |  | ||||||
| 
 |  | ||||||
| import { extensions, Extension } from 'vscode'; |  | ||||||
| 
 |  | ||||||
| export class ExtensionManifestReader { |  | ||||||
| 	constructor(extensionId: string) { |  | ||||||
| 		this._extension = extensions.getExtension(extensionId); |  | ||||||
| 		this.refresh(); |  | ||||||
| 	} |  | ||||||
| 	 |  | ||||||
| 	private _extension: Extension<any> |  | ||||||
| 	 |  | ||||||
| 	name: string; |  | ||||||
| 	version: string; |  | ||||||
| 	publisher: string; |  | ||||||
| 	displayName: string; |  | ||||||
| 	description: string; |  | ||||||
| 	categories: string[]; |  | ||||||
| 	keywords: string[]; |  | ||||||
| 	icon: string; |  | ||||||
| 	 |  | ||||||
| 	refresh(): void { |  | ||||||
| 		let manifest = this._extension.packageJSON; |  | ||||||
| 		 |  | ||||||
| 		this.name = manifest.name; |  | ||||||
| 		this.version = manifest.version; |  | ||||||
| 		this.publisher = manifest.publisher; |  | ||||||
| 		this.displayName = manifest.displayName; |  | ||||||
| 		this.description = manifest.description; |  | ||||||
| 		this.categories = manifest.categories; |  | ||||||
| 		this.keywords = manifest.keywords; |  | ||||||
| 		this.icon = manifest.icon; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,43 +0,0 @@ | ||||||
| 'use strict'; |  | ||||||
| 
 |  | ||||||
| import { window, commands } from 'vscode'; |  | ||||||
| import { ExtensionManifestReader } from './ManifestUtils'; |  | ||||||
| 
 |  | ||||||
| let req = require('request'); |  | ||||||
| let semver = require('semver'); |  | ||||||
| 
 |  | ||||||
| export function checkForUpdates() {	 |  | ||||||
| 	let manifestReader: ExtensionManifestReader = new ExtensionManifestReader('DotJoshJohnson.xml'); |  | ||||||
| 	let currentVersion = manifestReader.version; |  | ||||||
| 	 |  | ||||||
| 	// use the GitHub api to determine the latest released version
 |  | ||||||
| 	let url = 'https://api.github.com/repos/DotJoshJohnson/vscode-xml/releases/latest'; |  | ||||||
| 	let options = { |  | ||||||
| 		url: url, |  | ||||||
| 		headers: { |  | ||||||
| 			// the GitHub API requires a user agent header
 |  | ||||||
| 			// we are spoofing a Chrome user agent string here
 |  | ||||||
| 			'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36' |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	 |  | ||||||
| 	req(options, (error, response, body) => { |  | ||||||
| 		if (!error && response.statusCode == 200) { |  | ||||||
| 			let release = JSON.parse(body); |  | ||||||
| 			let latestVersion = release.name.substring(1); // the release/tag is prefixed with a "v"
 |  | ||||||
| 			 |  | ||||||
| 			if (!release.draft && semver.gt(latestVersion, currentVersion)) { |  | ||||||
| 				let updateNowLabel = 'Open Extension Manager'; |  | ||||||
| 				window.showInformationMessage(`Version ${latestVersion} of the ${manifestReader.displayName} extension is available.`, updateNowLabel).then((clicked) => { |  | ||||||
| 					if (clicked == updateNowLabel) { |  | ||||||
| 						commands.executeCommand('workbench.extensions.action.listExtensions', manifestReader.displayName); |  | ||||||
| 					} |  | ||||||
| 				}); |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		 |  | ||||||
| 		else { |  | ||||||
| 			console.log('XML Tools: Failed to get latest release information from GitHub.'); |  | ||||||
| 		} |  | ||||||
| 	}); |  | ||||||
| } |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue