1#!/usr/bin/python 2 3# Copyright 2018 The Chromium Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6"""Compile D-Bus protobuf Python files. 7 8The protos are used by a bunch of cryptohome autotests. 9""" 10 11import os 12import pipes 13from autotest_lib.client.common_lib import utils 14 15version = 1 16 17# These proto definitions are installed by system_api. 18PROTO_DEFS = { 19 'cryptohome': ['key.proto', 'rpc.proto'], 20} 21 22 23def setup(top_dir): 24 sysroot = os.environ['SYSROOT'] 25 parent_path = os.path.join(sysroot, 'usr/include/chromeos/dbus/') 26 for subdir, protos in PROTO_DEFS.items(): 27 proto_path = os.path.join(parent_path, subdir) 28 cmd = (['protoc', '--proto_path=' + proto_path, 29 '--python_out=' + top_dir] + 30 [os.path.join(proto_path, proto_def) for proto_def in protos]) 31 utils.run(' '.join(pipes.quote(arg) for arg in cmd)) 32 return 33 34 35pwd = os.getcwd() 36utils.update_version(os.path.join(pwd, 'src'), False, version, setup, pwd) 37