// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. library sky_tools.process_wrapper; import 'dart:io'; import 'package:logging/logging.dart'; final Logger _logging = new Logger('sky_tools.process_wrapper'); String runCheckedSync(List cmd) { _logging.info(cmd.join(' ')); ProcessResult results = Process.runSync(cmd[0], cmd.getRange(1, cmd.length).toList()); if (results.exitCode != 0) { if (results.stderr.length > 0) { _logging.info('Errors logged: ' + results.stderr); } throw 'Error code ' + results.exitCode.toString() + ' returned when attempting to run command: ' + cmd.join(' '); } _logging.fine(results.stdout.trim()); return results.stdout; }