[chromium-dev] How to rebuild after modifying extension_api.json?
I've observed that after modifying extension_api.json and rebuilding on Linux (using make via distcc), often the entire extension api stops working, with no error message. A clean build always solves the problem. Is there some file I need to touch after modifying extension_api.json in order for the correct dependencies to rebuild? I noticed that json_schema.js has a note at the top saying you should touch renderer_resources.grd after modifying it. Is this related? How hard would it be to make the build system handle this? - Dominic -- Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev
Re: [chromium-dev] How to rebuild after modifying extension_api.json?
On Fri, Jan 15, 2010 at 9:19 AM, Dominic Mazzoni dmazz...@google.com wrote: I've observed that after modifying extension_api.json and rebuilding on Linux (using make via distcc), often the entire extension api stops working, with no error message. A clean build always solves the problem. Is there some file I need to touch after modifying extension_api.json in order for the correct dependencies to rebuild? $ git grep extension_api.json -- '*.gyp*' | wc -l 0 That is, this file is not ever mentioned to the build system. The problem is that a .grd file uses the .json file when building but that isn't explicitly told to gyp. In C++ we rely on the per-platform build system to figure out they do the same thing (an #include); for gyp we should just require people to keep the gyp file in sync. The place to look at fixing this is the .gyp* files where common_resources.grd is built; it should list this .json file as an input and it doesn't. -- Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev
Re: [chromium-dev] How to rebuild after modifying extension_api.json?
Actually, it think it's sorta captured -- chrome.gyp has chrome_resources_inputs, which is created by running a script to figure out the input from the grd files. Looking at my xcode project, there is a dependency on common/extensions/api/extension_api.json for the grd files listed in chrome_resources_grds. TVL On Fri, Jan 15, 2010 at 12:50 PM, Evan Martin e...@chromium.org wrote: On Fri, Jan 15, 2010 at 9:19 AM, Dominic Mazzoni dmazz...@google.com wrote: I've observed that after modifying extension_api.json and rebuilding on Linux (using make via distcc), often the entire extension api stops working, with no error message. A clean build always solves the problem. Is there some file I need to touch after modifying extension_api.json in order for the correct dependencies to rebuild? $ git grep extension_api.json -- '*.gyp*' | wc -l 0 That is, this file is not ever mentioned to the build system. The problem is that a .grd file uses the .json file when building but that isn't explicitly told to gyp. In C++ we rely on the per-platform build system to figure out they do the same thing (an #include); for gyp we should just require people to keep the gyp file in sync. The place to look at fixing this is the .gyp* files where common_resources.grd is built; it should list this .json file as an input and it doesn't. -- Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -- Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev
Re: [chromium-dev] How to rebuild after modifying extension_api.json?
On Fri, Jan 15, 2010 at 9:57 AM, Thomas Van Lenten thoma...@chromium.org wrote: Actually, it think it's sorta captured -- chrome.gyp has chrome_resources_inputs, which is created by running a script to figure out the input from the grd files. Looking at my xcode project, there is a dependency on common/extensions/api/extension_api.json for the grd files listed in chrome_resources_grds. I stand corrected! In the makefile it ends up with a layer of indirection due to grit having two outputs, so it works like this: - gen/chrome/grit/browser_resources.h depends on the .json - gen/chrome/browser_resources.pak depends on gen/chrome/grit/browser_resources.h - and then the eventual browser .pak files depend on those I would try: build once, touch, the .json file, then build again and see which piece is failing to rebuild. (Also try the same but try running the build twice in a row; there are probably still some bugs there.) -- Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev