[chromium-dev] How to rebuild after modifying extension_api.json?

2010-01-15 Thread Dominic Mazzoni
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?

2010-01-15 Thread Evan Martin
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?

2010-01-15 Thread Thomas Van Lenten
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?

2010-01-15 Thread Evan Martin
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