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

Unified Diff: components/policy/BUILD.gn

Issue 2558043004: Remove enable_configuration_policy build define. (Closed)
Patch Set: Merge Created 4 years 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 | « components/BUILD.gn ('k') | components/policy/core/browser/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/policy/BUILD.gn
diff --git a/components/policy/BUILD.gn b/components/policy/BUILD.gn
index fc76b3518926abfd969e3b523c04ebc7e135fb5b..bf7ceca0df574078cdf66dadacc47c33013ecf53 100644
--- a/components/policy/BUILD.gn
+++ b/components/policy/BUILD.gn
@@ -9,6 +9,8 @@ import("//components/policy/resources/policy_templates.gni")
import("//third_party/protobuf/proto_library.gni")
import("//tools/grit/grit_rule.gni")
+assert(!is_ios, "Policy should not be referenced on iOS")
+
# To test policy generation for platforms different than your OS, override and
# enable these flags (but don't check that in!).
gen_policy_templates_common = true
@@ -44,351 +46,348 @@ config("component_implementation") {
defines = [ "POLICY_COMPONENT_IMPLEMENTATION" ]
}
-if (enable_configuration_policy) {
- # This protobuf is equivalent to chrome_settings.proto but shares messages
- # for policies of the same type, so that less classes have to be generated
- # and compiled.
- cloud_policy_proto_path = "$target_gen_dir/proto/cloud_policy.proto"
-
- # This is the "full" protobuf, which defines one protobuf message per
- # policy. It is also the format currently used by the server.
- chrome_settings_proto_path = "$target_gen_dir/proto/chrome_settings.proto"
-
- constants_header_path = "$target_gen_dir/policy_constants.h"
- constants_source_path = "$target_gen_dir/policy_constants.cc"
- protobuf_decoder_path = "$target_gen_dir/cloud_policy_generated.cc"
- app_restrictions_path = "$target_gen_dir/app_restrictions.xml"
- risk_tag_header_path = "$target_gen_dir/risk_tag.h"
-
- action("cloud_policy_code_generate") {
- script = "tools/generate_policy_source.py"
- chrome_version_abspath = "//chrome/VERSION"
- chrome_version_path = rebase_path(chrome_version_abspath, root_build_dir)
-
- if (is_chromeos) {
- chromeos_flag = "1"
- } else {
- chromeos_flag = "0"
- }
+# This protobuf is equivalent to chrome_settings.proto but shares messages
+# for policies of the same type, so that less classes have to be generated
+# and compiled.
+cloud_policy_proto_path = "$target_gen_dir/proto/cloud_policy.proto"
+
+# This is the "full" protobuf, which defines one protobuf message per
+# policy. It is also the format currently used by the server.
+chrome_settings_proto_path = "$target_gen_dir/proto/chrome_settings.proto"
+
+constants_header_path = "$target_gen_dir/policy_constants.h"
+constants_source_path = "$target_gen_dir/policy_constants.cc"
+protobuf_decoder_path = "$target_gen_dir/cloud_policy_generated.cc"
+app_restrictions_path = "$target_gen_dir/app_restrictions.xml"
+risk_tag_header_path = "$target_gen_dir/risk_tag.h"
+
+action("cloud_policy_code_generate") {
+ script = "tools/generate_policy_source.py"
+ chrome_version_abspath = "//chrome/VERSION"
+ chrome_version_path = rebase_path(chrome_version_abspath, root_build_dir)
+
+ if (is_chromeos) {
+ chromeos_flag = "1"
+ } else {
+ chromeos_flag = "0"
+ }
- inputs = [
- chrome_version_abspath,
- "resources/policy_templates.json",
- ]
- outputs = [
- constants_header_path,
- constants_source_path,
- protobuf_decoder_path,
- chrome_settings_proto_path,
- cloud_policy_proto_path,
- app_restrictions_path,
- risk_tag_header_path,
- ]
+ inputs = [
+ chrome_version_abspath,
+ "resources/policy_templates.json",
+ ]
+ outputs = [
+ constants_header_path,
+ constants_source_path,
+ protobuf_decoder_path,
+ chrome_settings_proto_path,
+ cloud_policy_proto_path,
+ app_restrictions_path,
+ risk_tag_header_path,
+ ]
+
+ if (target_os != "android") {
+ outputs -= [ app_restrictions_path ]
+ }
- if (target_os != "android") {
- outputs -= [ app_restrictions_path ]
- }
+ args = [
+ "--policy-constants-header=" +
+ rebase_path(constants_header_path, root_build_dir),
+ "--policy-constants-source=" +
+ rebase_path(constants_source_path, root_build_dir),
+ "--chrome-settings-protobuf=" +
+ rebase_path(chrome_settings_proto_path, root_build_dir),
+ "--cloud-policy-protobuf=" +
+ rebase_path(cloud_policy_proto_path, root_build_dir),
+ "--cloud-policy-decoder=" +
+ rebase_path(protobuf_decoder_path, root_build_dir),
+ "--app-restrictions-definition=" +
+ rebase_path(app_restrictions_path, root_build_dir),
+ "--risk-tag-header=" + rebase_path(risk_tag_header_path, root_build_dir),
+ chrome_version_path,
+ target_os,
+ chromeos_flag,
+ rebase_path("resources/policy_templates.json", root_build_dir),
+ ]
+}
- args = [
- "--policy-constants-header=" +
- rebase_path(constants_header_path, root_build_dir),
- "--policy-constants-source=" +
- rebase_path(constants_source_path, root_build_dir),
- "--chrome-settings-protobuf=" +
- rebase_path(chrome_settings_proto_path, root_build_dir),
- "--cloud-policy-protobuf=" +
- rebase_path(cloud_policy_proto_path, root_build_dir),
- "--cloud-policy-decoder=" +
- rebase_path(protobuf_decoder_path, root_build_dir),
- "--app-restrictions-definition=" +
- rebase_path(app_restrictions_path, root_build_dir),
- "--risk-tag-header=" + rebase_path(risk_tag_header_path, root_build_dir),
- chrome_version_path,
- target_os,
- chromeos_flag,
- rebase_path("resources/policy_templates.json", root_build_dir),
+policy_templates_grd_file = "resources/policy_templates.grd"
+
+grit("grit_policy_templates") {
+ source = policy_templates_grd_file
+ use_qualified_include = true
+ output_dir = "$root_gen_dir/chrome"
+ outputs = []
+ defines = []
+
+ if (gen_policy_templates_common) {
+ outputs += policy_templates_doc_outputs
+ defines += [ "gen_policy_templates_common" ]
+ }
+ if (gen_policy_templates_android) {
+ outputs += policy_templates_android_outputs
+ defines += [ "gen_policy_templates_android" ]
+ }
+ if (gen_policy_templates_linux) {
+ outputs += policy_templates_linux_outputs
+ defines += [ "gen_policy_templates_linux" ]
+ }
+ if (gen_policy_templates_mac) {
+ outputs += policy_templates_mac_outputs
+ defines += [
+ "mac_bundle_id=$chrome_mac_bundle_id",
+ "gen_policy_templates_mac",
]
}
+ if (gen_policy_templates_win) {
+ outputs += policy_templates_windows_outputs
+ defines += [ "gen_policy_templates_win" ]
+ }
+}
- policy_templates_grd_file = "resources/policy_templates.grd"
-
- grit("grit_policy_templates") {
- source = policy_templates_grd_file
- use_qualified_include = true
- output_dir = "$root_gen_dir/chrome"
- outputs = []
- defines = []
+if (gen_policy_templates_win && is_chrome_branded) {
+ # Creates google.admx and google.adml files that define a common 'Google'
+ # category used for Chrome, Chrome OS and possibly external tools, see
+ # crbug.com/665400.
+ action("create_google_admx") {
+ script = "tools/create_google_admx.py"
+ inputs = [
+ policy_templates_grd_file,
+ grit_info_script,
+ ] + policy_templates_windows_outputs
+ outputs = policy_templates_windows_google_outputs
+ deps = [
+ ":grit_policy_templates",
+ ]
- if (gen_policy_templates_common) {
- outputs += policy_templates_doc_outputs
- defines += [ "gen_policy_templates_common" ]
- }
- if (gen_policy_templates_android) {
- outputs += policy_templates_android_outputs
- defines += [ "gen_policy_templates_android" ]
- }
- if (gen_policy_templates_linux) {
- outputs += policy_templates_linux_outputs
- defines += [ "gen_policy_templates_linux" ]
- }
- if (gen_policy_templates_mac) {
- outputs += policy_templates_mac_outputs
- defines += [
- "mac_bundle_id=$chrome_mac_bundle_id",
- "gen_policy_templates_mac",
- ]
- }
- if (gen_policy_templates_win) {
- outputs += policy_templates_windows_outputs
- defines += [ "gen_policy_templates_win" ]
- }
+ # Don't pass in outputs directly, it would exceed a limit on Windows!
+ args = [
+ "--basedir",
+ rebase_path(policy_templates_base_dir, root_build_dir),
+ "--grd_strip_path_prefix",
+ "app/policy/",
+ "--grd_input",
+ rebase_path(policy_templates_grd_file, root_build_dir),
+ "--grit_info",
+ rebase_path(grit_info_script, root_build_dir),
+ "-D",
+ "gen_policy_templates_win",
+ ] + grit_defines
}
+}
+group("policy_templates") {
+ public_deps = [
+ ":grit_policy_templates",
+ ]
if (gen_policy_templates_win && is_chrome_branded) {
- # Creates google.admx and google.adml files that define a common 'Google'
- # category used for Chrome, Chrome OS and possibly external tools, see
- # crbug.com/665400.
- action("create_google_admx") {
- script = "tools/create_google_admx.py"
- inputs = [
- policy_templates_grd_file,
- grit_info_script,
- ] + policy_templates_windows_outputs
- outputs = policy_templates_windows_google_outputs
- deps = [
- ":grit_policy_templates",
- ]
-
- # Don't pass in outputs directly, it would exceed a limit on Windows!
- args = [
- "--basedir",
- rebase_path(policy_templates_base_dir, root_build_dir),
- "--grd_strip_path_prefix",
- "app/policy/",
- "--grd_input",
- rebase_path(policy_templates_grd_file, root_build_dir),
- "--grit_info",
- rebase_path(grit_info_script, root_build_dir),
- "-D",
- "gen_policy_templates_win",
- ] + grit_defines
- }
+ public_deps += [ ":create_google_admx" ]
}
+}
- group("policy_templates") {
- public_deps = [
- ":grit_policy_templates",
+# Run the proto compiler over the generated file and make it a component.
+component("cloud_policy_proto_generated_compile") {
+ public_deps = [
+ ":cloud_policy_proto_generated_compile_proto",
+ ]
+}
+proto_library("cloud_policy_proto_generated_compile_proto") {
+ visibility = [ ":cloud_policy_proto_generated_compile" ]
+ sources = [
+ cloud_policy_proto_path,
+ ]
+
+ proto_out_dir = "components/policy/proto"
+ cc_generator_options = "dllexport_decl=POLICY_PROTO_EXPORT:"
+ cc_include = "components/policy/proto/policy_proto_export.h"
+ component_build_force_source_set = true
+ defines = [ "POLICY_PROTO_COMPILATION" ]
+
+ deps = [
+ ":cloud_policy_code_generate",
+ ]
+}
+
+# This target builds the "full" protobuf, used for tests only.
+proto_library("chrome_settings_proto") {
+ testonly = true
+ sources = [
+ chrome_settings_proto_path,
+ ]
+ proto_out_dir = "components/policy/proto"
+
+ deps = [
+ ":cloud_policy_code_generate",
+ ":cloud_policy_proto_generated_compile",
+ ]
+}
+
+static_library("generated") {
+ sources = [
+ constants_header_path,
+ constants_source_path,
+ protobuf_decoder_path,
+ risk_tag_header_path,
+ ]
+
+ defines = [ "POLICY_COMPONENT_IMPLEMENTATION" ]
+ public_deps = [
+ ":cloud_policy_code_generate",
+ ":cloud_policy_proto_generated_compile",
+ "//base",
+ "//third_party/protobuf:protobuf_lite",
+ ]
+}
+
+if (gen_policy_templates_android && is_android) {
+ import("//build/config/android/rules.gni")
+
+ _generated_resources_dir = "$root_gen_dir/chrome/app/policy/android"
+
+ copy("app_restrictions_resources_copy") {
+ sources = [
+ app_restrictions_path,
+ ]
+ outputs = [
+ "$_generated_resources_dir/xml-v21/app_restrictions.xml",
+ ]
+ deps = [
+ ":cloud_policy_code_generate",
+ ":policy_templates",
]
- if (gen_policy_templates_win && is_chrome_branded) {
- public_deps += [ ":create_google_admx" ]
- }
}
- # Run the proto compiler over the generated file and make it a component.
- component("cloud_policy_proto_generated_compile") {
- public_deps = [
- ":cloud_policy_proto_generated_compile_proto",
+ android_resources("app_restrictions_resources") {
+ resource_dirs = []
+ generated_resource_dirs = [
+ "$policy_templates_base_dir/android",
+ _generated_resources_dir,
+ ]
+ generated_resource_files =
+ policy_templates_android_outputs +
+ [ "$_generated_resources_dir/xml-v21/app_restrictions.xml" ]
+ deps = [
+ ":app_restrictions_resources_copy",
+ ":grit_policy_templates",
]
}
- proto_library("cloud_policy_proto_generated_compile_proto") {
- visibility = [ ":cloud_policy_proto_generated_compile" ]
+} else if (gen_policy_templates_mac && is_mac) {
+ action("convert_mcx_plist") {
+ script = "//build/config/mac/xcrun.py"
sources = [
- cloud_policy_proto_path,
+ "$policy_templates_base_dir/mac/app-Manifest.plist",
+ ]
+ inputs = [
+ script,
+ ]
+ outputs = [
+ "$target_gen_dir/$chrome_mac_bundle_id.manifest",
]
- proto_out_dir = "components/policy/proto"
- cc_generator_options = "dllexport_decl=POLICY_PROTO_EXPORT:"
- cc_include = "components/policy/proto/policy_proto_export.h"
- component_build_force_source_set = true
- defines = [ "POLICY_PROTO_COMPILATION" ]
+ if (use_system_xcode) {
+ args = []
+ } else {
+ args = [
+ "--developer_dir",
+ hermetic_xcode_path,
+ ]
+ }
+ args += [
+ "plutil",
+ "-convert",
+ "xml1",
+ ] + rebase_path(sources, root_out_dir) + [ "-o" ] +
+ rebase_path(outputs, root_out_dir)
deps = [
- ":cloud_policy_code_generate",
+ ":policy_templates",
]
}
- # This target builds the "full" protobuf, used for tests only.
- proto_library("chrome_settings_proto") {
- testonly = true
- sources = [
- chrome_settings_proto_path,
+ bundle_data("manifest_bundle_data") {
+ sources = get_target_outputs(":convert_mcx_plist")
+ outputs = [
+ "{{bundle_resources_dir}}/{{source_file_part}}",
]
- proto_out_dir = "components/policy/proto"
-
- deps = [
- ":cloud_policy_code_generate",
- ":cloud_policy_proto_generated_compile",
+ public_deps = [
+ ":convert_mcx_plist",
]
}
- static_library("generated") {
+ # The reason we are not enumerating all the locales is that
+ # the translations would eat up 3.5MB disk space in the
+ # application bundle.
+ bundle_data("manifest_strings_bundle_data") {
sources = [
- constants_header_path,
- constants_source_path,
- protobuf_decoder_path,
- risk_tag_header_path,
+ "$policy_templates_base_dir/mac/strings/en.lproj/Localizable.strings",
+ ]
+ outputs = [
+ "{{bundle_resources_dir}}/en.lproj/{{source_file_part}}",
]
-
- defines = [ "POLICY_COMPONENT_IMPLEMENTATION" ]
public_deps = [
- ":cloud_policy_code_generate",
- ":cloud_policy_proto_generated_compile",
- "//base",
- "//third_party/protobuf:protobuf_lite",
+ ":policy_templates",
]
}
- if (gen_policy_templates_android && is_android) {
- import("//build/config/android/rules.gni")
-
- _generated_resources_dir = "$root_gen_dir/chrome/app/policy/android"
-
- copy("app_restrictions_resources_copy") {
- sources = [
- app_restrictions_path,
- ]
- outputs = [
- "$_generated_resources_dir/xml-v21/app_restrictions.xml",
- ]
- deps = [
- ":cloud_policy_code_generate",
- ":policy_templates",
- ]
- }
-
- android_resources("app_restrictions_resources") {
- resource_dirs = []
- generated_resource_dirs = [
- "$policy_templates_base_dir/android",
- _generated_resources_dir,
- ]
- generated_resource_files =
- policy_templates_android_outputs +
- [ "$_generated_resources_dir/xml-v21/app_restrictions.xml" ]
- deps = [
- ":app_restrictions_resources_copy",
- ":grit_policy_templates",
- ]
- }
- } else if (gen_policy_templates_mac && is_mac) {
- action("convert_mcx_plist") {
- script = "//build/config/mac/xcrun.py"
- sources = [
- "$policy_templates_base_dir/mac/app-Manifest.plist",
- ]
- inputs = [
- script,
- ]
- outputs = [
- "$target_gen_dir/$chrome_mac_bundle_id.manifest",
- ]
-
- if (use_system_xcode) {
- args = []
- } else {
- args = [
- "--developer_dir",
- hermetic_xcode_path,
- ]
- }
- args += [
- "plutil",
- "-convert",
- "xml1",
- ] + rebase_path(sources, root_out_dir) + [ "-o" ] +
- rebase_path(outputs, root_out_dir)
-
- deps = [
- ":policy_templates",
- ]
- }
+ create_bundle("chrome_manifest_bundle") {
+ bundle_root_dir = "$root_out_dir/$chrome_mac_bundle_id.manifest/Contents"
+ bundle_resources_dir = "$bundle_root_dir/Resources"
- bundle_data("manifest_bundle_data") {
- sources = get_target_outputs(":convert_mcx_plist")
- outputs = [
- "{{bundle_resources_dir}}/{{source_file_part}}",
- ]
- public_deps = [
- ":convert_mcx_plist",
- ]
- }
-
- # The reason we are not enumerating all the locales is that
- # the translations would eat up 3.5MB disk space in the
- # application bundle.
- bundle_data("manifest_strings_bundle_data") {
- sources = [
- "$policy_templates_base_dir/mac/strings/en.lproj/Localizable.strings",
- ]
- outputs = [
- "{{bundle_resources_dir}}/en.lproj/{{source_file_part}}",
- ]
- public_deps = [
- ":policy_templates",
- ]
- }
-
- create_bundle("chrome_manifest_bundle") {
- bundle_root_dir = "$root_out_dir/$chrome_mac_bundle_id.manifest/Contents"
- bundle_resources_dir = "$bundle_root_dir/Resources"
-
- deps = [
- ":manifest_bundle_data",
- ":manifest_strings_bundle_data",
- ]
- }
+ deps = [
+ ":manifest_bundle_data",
+ ":manifest_strings_bundle_data",
+ ]
}
+}
- if (gen_policy_templates_common && gen_policy_templates_win) {
- version_file = "VERSION"
- version_path = "$policy_templates_base_dir/$version_file"
+if (gen_policy_templates_common && gen_policy_templates_win) {
+ version_file = "VERSION"
+ version_path = "$policy_templates_base_dir/$version_file"
- copy("add_version") {
- sources = [
- "//chrome/VERSION",
- ]
- outputs = [
- version_path,
- ]
- }
+ copy("add_version") {
+ sources = [
+ "//chrome/VERSION",
+ ]
+ outputs = [
+ version_path,
+ ]
+ }
- action("pack_policy_templates") {
- output_zip_file = "$root_out_dir/policy_templates.zip"
- script = "tools/make_policy_zip.py"
- inputs =
- [
- version_path,
- policy_templates_grd_file,
- grit_info_script,
- ] + policy_templates_windows_outputs + policy_templates_doc_outputs
- outputs = [
- output_zip_file,
- ]
- args = [
- "--output",
- rebase_path(output_zip_file, root_build_dir),
- "--basedir",
- rebase_path(policy_templates_base_dir, root_build_dir),
- "--grd_input",
- rebase_path(policy_templates_grd_file, root_build_dir),
- "--grd_strip_path_prefix",
- "app/policy",
- "--extra_input",
- version_file,
- "--grit_info",
- rebase_path(grit_info_script, root_build_dir),
- "-D",
- "gen_policy_templates_common",
- "-D",
- "gen_policy_templates_win",
- ] + grit_defines
- if (is_chrome_branded) {
- args += [ "--include_google_admx" ]
- }
- deps = [
- ":add_version",
- ":policy_templates",
- ]
+ action("pack_policy_templates") {
+ output_zip_file = "$root_out_dir/policy_templates.zip"
+ script = "tools/make_policy_zip.py"
+ inputs = [
+ version_path,
+ policy_templates_grd_file,
+ grit_info_script,
+ ] + policy_templates_windows_outputs + policy_templates_doc_outputs
+ outputs = [
+ output_zip_file,
+ ]
+ args = [
+ "--output",
+ rebase_path(output_zip_file, root_build_dir),
+ "--basedir",
+ rebase_path(policy_templates_base_dir, root_build_dir),
+ "--grd_input",
+ rebase_path(policy_templates_grd_file, root_build_dir),
+ "--grd_strip_path_prefix",
+ "app/policy",
+ "--extra_input",
+ version_file,
+ "--grit_info",
+ rebase_path(grit_info_script, root_build_dir),
+ "-D",
+ "gen_policy_templates_common",
+ "-D",
+ "gen_policy_templates_win",
+ ] + grit_defines
+ if (is_chrome_branded) {
+ args += [ "--include_google_admx" ]
}
+ deps = [
+ ":add_version",
+ ":policy_templates",
+ ]
}
}
« no previous file with comments | « components/BUILD.gn ('k') | components/policy/core/browser/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698