* Fixed in this version: dependencies for *_api_registration on *_api.
Split bundle generation steps so that API registration is generated in browser, not common.
We now have schema generation, schema bundle generation, and schema bundle registration generation; the last of these is generated in a separate build target and output to browser rather than common.
Fix a couple of dangling gyp issues also.
BUG=405226
TBR=scottmg@chromium.org,sky@chromium.org
Review URL: https://codereview.chromium.org/513633002
Cr-Original-Commit-Position: refs/heads/master@{#292090}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 774dcda2d369584b2e964fa4971dda71cf819677
Causing build failure in Android due to failed include for extensions/common/api/runtime.h.
This reverts commit 3b70ef14be986a3252428cc6d9553bf2c69deb70.
BUG=none
TBR=yoz
Review URL: https://codereview.chromium.org/506253003
Cr-Original-Commit-Position: refs/heads/master@{#292059}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8f65982274893958898690b22e1c0c9ed4968857
We now have schema generation, schema bundle generation, and schema bundle registration generation; the last of these is generated in a separate build target and output to browser rather than common.
Fix a couple of dangling gyp issues also.
BUG=405226
TBR=sky@chromium.org
Review URL: https://codereview.chromium.org/489153003
Cr-Original-Commit-Position: refs/heads/master@{#292057}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3b70ef14be986a3252428cc6d9553bf2c69deb70
components/autofill
components/metrics
components/policy
components/variations
third_party/libphonenumber
third_party/mt19937ar
ui/gfx/ipc
These are all requried to compile chrome/browser in some form or another.
Fills out all grit_defines (also required for chrome/browser) and adds associated flags for them.
Add the ability for generated_extensions_api to not generate a bundle.
Remove mt19937ar from .gitignore (it's just checked into the tree)
R=ajwong@chromium.org
Review URL: https://codereview.chromium.org/365793002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@281057 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adds extensions common API target and extensions templates.
Adds a number of new targets: widevine, flash, sync proto, metrics proto, device serial.
Minor enhancements to protobuf and mojo templates.
TBR=jamesr
Review URL: https://codereview.chromium.org/343233002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@278828 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
support the full range of JSON/IDL features, improve the interface of generated
code, and improve generated code formatting, notably:
* Make "choices" generate a struct containing each possible type, rather than
multiple fields with different names plus and enum. This makes it possible
to embed choices inside containers - notably within arrays (as in bug).
It also improves optional choices detection.
* Remove the Any C++ type generated by "any", and model it as a base::Value.
* Make "additionalProperties" generated a std::map with the actual types as
values, rather than just a DictionaryValue forcing callers to extract types.
* Fix enum naming, it was unnecessarily including the namespace as a prefix.
R=yoz@chromium.org
BUG=162044
Review URL: https://codereview.chromium.org/11827026
git-svn-id: http://src.chromium.org/svn/trunk/src/build@177361 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Refactor extension_function_dispatcher to extract ExtensionFunctionRegistry.
This allows us to generate an additional code block that takes an ExtensionFunctionRegistry
and asks it to register generated API functions.
Then switch DnsResolve over to get registered this way.
Along the way, notice that DNSResolve is capitalized using an untenable style. Fix that.
Fixes since original 127159:
- change name of build rule to gen_bundle_api
- actually add per-file dependencies to .gyp (this was why clean builds
failed)
- change 'outputs' to match the emitted filename, fixing a needless
rebuild problem.
- split the top-level build action that was a part of
json_schema_compile.gypi, and include it only in api.gyp, thus fixing
the problem where json_schema_compiler_tests.gyp was asking it to create
outputs in the tools/json_schema_compiler_test directory, again causing
needless work during the build process.
BUG=none (essential plumbing work)
TEST=same as before.
Review URL: https://chromiumcodereview.appspot.com/9716003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@127555 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- Extend .gyp to pass certain .idl files to compiler.py.
- Implement a translator taking IDL parser output and creating
a schema that the JSON compiler recognizes.
- Convert one API to IDL using asargent's JSON cat JSON-to-IDL
converter, and adapt API's implementation to use the newly generated
output.
TEST=no changes
BUG=none
Review URL: http://codereview.chromium.org/9600050
git-svn-id: http://src.chromium.org/svn/trunk/src/build@125300 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a preliminary code review for a code generator. The tool's purpose is to generate the tedious serialization code that needs to be written when defining a new extensions api. It generates from the json files in chrome/common/extensions/api.
As an example usage, chrome/browser/extensions/extension_permissions_api.cc has been changed to use a class generated from permissions.json.
The tool has been integrated into the build system and generates compiling and working code (for permissions.json at least)
BUG=
TEST=
Review URL: http://codereview.chromium.org/9114036
git-svn-id: http://src.chromium.org/svn/trunk/src/build@119405 4ff67af0-8c30-449e-8e8b-ad334ec8d88c