Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3936)

Unified Diff: chrome/app/policy/cloud_policy_codegen.gyp

Issue 6409040: New policy protobuf protocol. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/app/policy/policy_templates.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/app/policy/cloud_policy_codegen.gyp
diff --git a/chrome/app/policy/cloud_policy_codegen.gyp b/chrome/app/policy/cloud_policy_codegen.gyp
new file mode 100644
index 0000000000000000000000000000000000000000..3a1be6ac25acdd9e3c288a6ba9e737038d0aca56
--- /dev/null
+++ b/chrome/app/policy/cloud_policy_codegen.gyp
@@ -0,0 +1,199 @@
+# Copyright (c) 2011 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.
+
+{
+ 'variables': {
+ 'chromium_code': 1,
+ 'policy_out_dir': '<(SHARED_INTERMEDIATE_DIR)/policy',
+ 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
+ 'generate_policy_source_script_path':
+ '../../tools/build/generate_policy_source.py',
+ 'policy_constant_header_path':
+ '<(policy_out_dir)/policy/policy_constants.h',
+ 'policy_constant_source_path':
+ '<(policy_out_dir)/policy/policy_constants.cc',
+ 'configuration_policy_type_header_path':
+ '<(policy_out_dir)/policy/configuration_policy_type.h',
+ 'protobuf_decoder_path':
+ '<(policy_out_dir)/policy/cloud_policy_generated.cc',
+ 'cloud_policy_proto_path': '<(policy_out_dir)/policy/cloud_policy.proto',
+ 'proto_path_substr': 'chrome/browser/policy/proto',
+ 'proto_rel_path': '../../../<(proto_path_substr)',
+ },
+ 'targets': [
+ {
+ 'target_name': 'cloud_policy_code_generate',
+ 'type': 'none',
+ 'actions': [
+ {
+ 'inputs': [
+ 'policy_templates.json',
+ '<(generate_policy_source_script_path)',
+ ],
+ 'outputs': [
+ '<(policy_constant_header_path)',
+ '<(policy_constant_source_path)',
+ '<(configuration_policy_type_header_path)',
+ '<(protobuf_decoder_path)',
+ '<(cloud_policy_proto_path)',
+ ],
+ 'action_name': 'generate_policy_source',
+ 'action': [
+ 'python',
+ '<@(generate_policy_source_script_path)',
+ '--policy-constants-header=<(policy_constant_header_path)',
+ '--policy-constants-source=<(policy_constant_source_path)',
+ '--policy-type-header=<(configuration_policy_type_header_path)',
+ '--policy-protobuf=<(cloud_policy_proto_path)',
+ '--protobuf-decoder=<(protobuf_decoder_path)',
+ '<(OS)',
+ 'policy_templates.json',
+ ],
+ 'message': 'Generating policy source',
+ },
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(policy_out_dir)',
+ '<(protoc_out_dir)',
+ ],
+ },
+ },
+ {
+ 'target_name': 'cloud_policy_proto_compile',
+ 'type': 'none',
+ 'actions': [
+ {
+ 'action_name': 'compile_generated_proto',
+ 'inputs': [
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
+ '<(policy_out_dir)/policy/cloud_policy.proto',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/pyproto/device_management_pb/cloud_policy_pb2.py',
+ '<(protoc_out_dir)/<(proto_path_substr)/cloud_policy.pb.h',
+ '<(protoc_out_dir)/<(proto_path_substr)/cloud_policy.pb.cc',
+ ],
+ 'action': [
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
+ '--proto_path=<(policy_out_dir)/policy',
+ '<(policy_out_dir)/policy/cloud_policy.proto',
+ '--cpp_out=<(protoc_out_dir)/<(proto_path_substr)',
+ '--python_out=<(PRODUCT_DIR)/pyproto/device_management_pb',
+ ],
+ 'message': 'Compiling generated cloud policy protobuf',
+ },
+ ],
+ 'dependencies': [
+ '../../../third_party/protobuf/protobuf.gyp:protoc#host',
+ 'cloud_policy_code_generate',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(protoc_out_dir)',
+ ]
+ },
+ },
+ {
+ 'target_name': 'cloud_policy_backend_header_compile',
+ 'type': 'none',
+ 'sources': [
+ '<(proto_rel_path)/device_management_backend.proto',
+ '<(proto_rel_path)/device_management_local.proto',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'gen_proto',
+ 'extension': 'proto',
+ 'inputs': [
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/pyproto/device_management_pb/<(RULE_INPUT_ROOT)_pb2.py',
+ '<(protoc_out_dir)/<(proto_path_substr)/<(RULE_INPUT_ROOT).pb.h',
+ '<(protoc_out_dir)/<(proto_path_substr)/<(RULE_INPUT_ROOT).pb.cc',
+ ],
+ 'action': [
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
+ '--proto_path=<(policy_out_dir)/policy',
+ '--proto_path=<(proto_rel_path)',
+ '<(proto_rel_path)/<(RULE_INPUT_NAME)',
+ '--cpp_out=<(protoc_out_dir)/<(proto_path_substr)',
+ '--python_out=<(PRODUCT_DIR)/pyproto/device_management_pb',
+ ],
+ 'message': 'Generating C++ and Python code from <(RULE_INPUT_PATH)',
+ }
+ ],
+ 'dependencies': [
+ '../../../third_party/protobuf/protobuf.gyp:protoc#host',
+ 'cloud_policy_proto_compile',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(protoc_out_dir)',
+ ]
+ },
+ },
+ {
+ 'target_name': 'policy',
+ 'type': '<(library)',
+ 'hard_dependency': 1,
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(policy_out_dir)'
+ ],
+ },
+ 'sources': [
+ '<(policy_constant_header_path)',
+ '<(policy_constant_source_path)',
+ '<(configuration_policy_type_header_path)',
+ '<(protobuf_decoder_path)',
+ ],
+ 'include_dirs': [
+ '../../..',
+ ],
+ 'dependencies': [
+ 'cloud_policy_code_generate',
+ 'cloud_policy_proto_compile',
+ 'cloud_policy_backend_header_compile',
+ '../../../third_party/protobuf/protobuf.gyp:protobuf_lite',
+ ],
+ },
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+ 'targets': [
+ {
+ 'target_name': 'policy_win64',
+ 'type': '<(library)',
+ 'hard_dependency': 1,
+ 'sources': [
+ '<(policy_constant_header_path)',
+ '<(policy_constant_source_path)',
+ '<(configuration_policy_type_header_path)',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(policy_out_dir)'
+ ],
+ },
+ 'dependencies': [
+ 'cloud_policy_code_generate',
+ ],
+ 'configurations': {
+ 'Common_Base': {
+ 'msvs_target_platform': 'x64',
+ },
+ },
+ },
+ ],
+ }],
+ ], # 'conditions'
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
« no previous file with comments | « no previous file | chrome/app/policy/policy_templates.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698