79 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								export declare class HTTPError extends Error {
							 | 
						||
| 
								 | 
							
								    readonly httpStatusCode: number | undefined;
							 | 
						||
| 
								 | 
							
								    constructor(httpStatusCode: number | undefined);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Download a tool from an url and stream it into a file
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param url       url of tool to download
							 | 
						||
| 
								 | 
							
								 * @returns         path to downloaded tool
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function downloadTool(url: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Extract a .7z file
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param file     path to the .7z file
							 | 
						||
| 
								 | 
							
								 * @param dest     destination directory. Optional.
							 | 
						||
| 
								 | 
							
								 * @param _7zPath  path to 7zr.exe. Optional, for long path support. Most .7z archives do not have this
							 | 
						||
| 
								 | 
							
								 * problem. If your .7z archive contains very long paths, you can pass the path to 7zr.exe which will
							 | 
						||
| 
								 | 
							
								 * gracefully handle long paths. By default 7zdec.exe is used because it is a very small program and is
							 | 
						||
| 
								 | 
							
								 * bundled with the tool lib. However it does not support long paths. 7zr.exe is the reduced command line
							 | 
						||
| 
								 | 
							
								 * interface, it is smaller than the full command line interface, and it does support long paths. At the
							 | 
						||
| 
								 | 
							
								 * time of this writing, it is freely available from the LZMA SDK that is available on the 7zip website.
							 | 
						||
| 
								 | 
							
								 * Be sure to check the current license agreement. If 7zr.exe is bundled with your action, then the path
							 | 
						||
| 
								 | 
							
								 * to 7zr.exe can be pass to this function.
							 | 
						||
| 
								 | 
							
								 * @returns        path to the destination directory
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function extract7z(file: string, dest?: string, _7zPath?: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Extract a tar
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param file     path to the tar
							 | 
						||
| 
								 | 
							
								 * @param dest     destination directory. Optional.
							 | 
						||
| 
								 | 
							
								 * @returns        path to the destination directory
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function extractTar(file: string, dest?: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Extract a zip
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param file     path to the zip
							 | 
						||
| 
								 | 
							
								 * @param dest     destination directory. Optional.
							 | 
						||
| 
								 | 
							
								 * @returns        path to the destination directory
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function extractZip(file: string, dest?: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Caches a directory and installs it into the tool cacheDir
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param sourceDir    the directory to cache into tools
							 | 
						||
| 
								 | 
							
								 * @param tool          tool name
							 | 
						||
| 
								 | 
							
								 * @param version       version of the tool.  semver format
							 | 
						||
| 
								 | 
							
								 * @param arch          architecture of the tool.  Optional.  Defaults to machine architecture
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function cacheDir(sourceDir: string, tool: string, version: string, arch?: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Caches a downloaded file (GUID) and installs it
							 | 
						||
| 
								 | 
							
								 * into the tool cache with a given targetName
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param sourceFile    the file to cache into tools.  Typically a result of downloadTool which is a guid.
							 | 
						||
| 
								 | 
							
								 * @param targetFile    the name of the file name in the tools directory
							 | 
						||
| 
								 | 
							
								 * @param tool          tool name
							 | 
						||
| 
								 | 
							
								 * @param version       version of the tool.  semver format
							 | 
						||
| 
								 | 
							
								 * @param arch          architecture of the tool.  Optional.  Defaults to machine architecture
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function cacheFile(sourceFile: string, targetFile: string, tool: string, version: string, arch?: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Finds the path to a tool version in the local installed tool cache
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param toolName      name of the tool
							 | 
						||
| 
								 | 
							
								 * @param versionSpec   version of the tool
							 | 
						||
| 
								 | 
							
								 * @param arch          optional arch.  defaults to arch of computer
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function find(toolName: string, versionSpec: string, arch?: string): string;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Finds the paths to all versions of a tool that are installed in the local tool cache
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param toolName  name of the tool
							 | 
						||
| 
								 | 
							
								 * @param arch      optional arch.  defaults to arch of computer
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export declare function findAllVersions(toolName: string, arch?: string): string[];
							 |