#!/usr/bin/env node 'use strict' const childProcess = require('child_process') const CONFIG = require('./config') const cleanDependencies = require('./lib/clean-dependencies') const deleteMsbuildFromPath = require('./lib/delete-msbuild-from-path') const dependenciesFingerprint = require('./lib/dependencies-fingerprint') const installApm = require('./lib/install-apm') const runApmInstall = require('./lib/run-apm-install') const installScriptDependencies = require('./lib/install-script-dependencies') const verifyMachineRequirements = require('./lib/verify-machine-requirements') process.on('unhandledRejection', function (e) { console.error(e.stack || e) process.exit(1) }) verifyMachineRequirements() if (dependenciesFingerprint.isOutdated()) { cleanDependencies() } if (process.platform === 'win32') deleteMsbuildFromPath() installScriptDependencies() installApm() childProcess.execFileSync( CONFIG.getApmBinPath(), ['--version'], {stdio: 'inherit'} ) runApmInstall(CONFIG.repositoryRootPath) dependenciesFingerprint.write()