@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
90 lines (76 loc) • 3.1 kB
text/typescript
import * as fs from 'fs';
import { dest, src } from 'gulp';
import ts from 'gulp-typescript';
import { Utilities } from './utilities';
export module UITestAutomationModule {
const argv = Utilities.gulpArgv();
// New UTA format
export function buildLib() {
const tsProject = ts.createProject('uta/tsconfig.json');
return tsProject.src()
.pipe(tsProject())
.pipe(dest('lib/ui-test-automation'));
}
export function copyLibPackageJson() {
return src(['uta/package.json'])
.pipe(dest('lib/ui-test-automation'));
}
export function saveUiTestAutomation() {
const packageJsonString = fs.readFileSync('lib/ui-test-automation/package.json').toString();
const packageJson = JSON.parse(packageJsonString);
const packageName = packageJson.name;
return src(
[
'lib/ui-test-automation/**/*.ts',
'lib/ui-test-automation/**/*.js'
]
)
.pipe(dest(`../msft-sme-ui-test-automation/node_modules/${packageName}`, { overwrite: true }));
}
export function saveUiTestAutomationToTarget(cb) {
const targetName = argv['target'];
if (!targetName) {
cb();
return;
}
const packageJsonString = fs.readFileSync('lib/ui-test-automation/package.json').toString();
const packageJson = JSON.parse(packageJsonString);
const packageName = packageJson.name;
return src(
[
'lib/ui-test-automation/**/*.ts',
'lib/ui-test-automation/**/*.js'
]
)
.pipe(dest(`../${targetName}/node_modules/${packageName}`, { overwrite: true }));
}
// Legacy UTA format
// TODO: cleanup below when fully migrated to new format
export function buildUiTestAutomation() {
const tsProject = ts.createProject('./tsconfig.json');
return src(['ui-test-automation/**/*.ts', '!ui-test-automation/node_modules/**/*.*'])
.pipe(tsProject());
}
export function saveUiTestAutomation_legacy() {
const urlSegments = '/SME/_git/';
const lines = fs.readFileSync('.git/config', 'utf8').toString().split('\n');
let remoteSection = false;
let moduleName;
for (const line of lines) {
if (remoteSection && line.indexOf(urlSegments) >= 0) {
const matchIndex = line.indexOf(urlSegments);
moduleName = line.substring(matchIndex + urlSegments.length);
break;
}
// look for [remote "origin"] section.
if (line.indexOf('[remote \"origin\"]') >= 0) {
remoteSection = true;
}
}
return src(
[
'ui-test-automation/**/*.*'
])
.pipe(dest('../msft-sme-ui-test-automation/src/tools/' + moduleName + '/ui-test-automation', { overwrite: true }));
}
}