// Copyright 2016 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.
import 'package:path/path.dart' as path;
import '../base/process.dart';
const String kCFBundleIdentifierKey = "CFBundleIdentifier";
String getValueFromFile(String plistFilePath, String key) {
// TODO(chinmaygarde): For now, we only need to read from plist files on a
// mac host. If this changes, we will need our own Dart plist reader.
// Don't use PlistBuddy since that is not guaranteed to be installed.
// 'defaults' requires the path to be absolute and without the 'plist'
// extension.
String normalizedPlistPath = path.withoutExtension(path.absolute(plistFilePath));
try {
String value = runCheckedSync(<String>[
'/usr/bin/defaults',
'read',
normalizedPlistPath,
key
]).trim();
return value.isEmpty ? null : value;
} catch (error) {
return null;
}
}