34 lines
948 B
TypeScript
34 lines
948 B
TypeScript
|
import * as path from 'path';
|
||
|
import * as gulp from 'gulp';
|
||
|
import * as execa from 'execa';
|
||
|
import * as rimraf from 'rimraf';
|
||
|
import {ncp} from 'ncp';
|
||
|
|
||
|
const pCopy = (src: string, dest: string) => new Promise((resolve, reject) =>
|
||
|
ncp(src, dest, err => err ? reject(err) : resolve())
|
||
|
);
|
||
|
|
||
|
const pRm = (dir: string) => new Promise((resolve, reject) =>
|
||
|
rimraf(dir, (err: any) => err ? reject(err) : resolve())
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
* Get remote Material Icons
|
||
|
*/
|
||
|
export default gulp.task('build:get-remote-icons', callback => {
|
||
|
const src = 'ssh://equinsuocha@vs-ssh.visualstudio.com:22/vsc-material-theme-icons/_ssh/vsc-material-theme-icons';
|
||
|
const tmpDest = './_tmp-output-remote-icons';
|
||
|
const dest = './src/icons/svgs';
|
||
|
|
||
|
execa('git', [
|
||
|
'clone',
|
||
|
'--depth=1',
|
||
|
src,
|
||
|
tmpDest
|
||
|
])
|
||
|
.then(() => pCopy(path.join(tmpDest, dest), dest))
|
||
|
.then(() => pRm(tmpDest))
|
||
|
.then(() => callback())
|
||
|
.catch((err: any) => callback(err.message));
|
||
|
});
|