blob: 74e529a17f1dcad3b0b1cf7138d118cd6db16eca [file] [log] [blame]
# Copyright (c) 2012 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Visual Studio project reader/writer."""
import gyp.common
import gyp.easy_xml as easy_xml
class Writer(object):
"""Visual Studio XML tool file writer."""
def __init__(self, tool_file_path, name):
"""Initializes the tool file.
tool_file_path: Path to the tool file.
name: Name of the tool file.
self.tool_file_path = tool_file_path = name
self.rules_section = ['Rules']
def AddCustomBuildRule(self, name, cmd, description,
outputs, extensions):
"""Adds a rule to the tool file.
name: Name of the rule.
description: Description of the rule.
cmd: Command line of the rule.
additional_dependencies: other files which may trigger the rule.
outputs: outputs of the rule.
extensions: extensions handled by the rule.
rule = ['CustomBuildRule',
{'Name': name,
'ExecutionDescription': description,
'CommandLine': cmd,
'Outputs': ';'.join(outputs),
'FileExtensions': ';'.join(extensions),
def WriteIfChanged(self):
"""Writes the tool file."""
content = ['VisualStudioToolFile',
{'Version': '8.00',
easy_xml.WriteXmlIfChanged(content, self.tool_file_path,