Closed Bug 1056491 Opened 10 years ago Closed 10 years ago

Someone has broken the binding build system's dependencies

Categories

(Firefox Build System :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla34

People

(Reporter: bzbarsky, Assigned: glandium)

References

Details

(Keywords: regression)

STEPS TO REPRODUCE: 1) Modify Codegen.py 2) mach build dom/bindings/test EXPECTED RESULTS: Codegen reruns, test files recompiled. ACTUAL RESULTS: Codegen does not rerun. Oh, and just doing "mach build dom/bindings" doesn't build the stuff in dom/bindings/test, which I believe it used to do.
Regression for "mach build dom/bindings" not building dom/bindings/test is caused by: The first bad revision is: changeset: 196457:0cd3fbbf21f8 user: Mike Hommey <mh+mozilla@glandium.org> date: Tue Jul 29 08:58:28 2014 +0900 summary: Bug 1043862 - Make the binaries target use the compile tier. r=gps according to local bisect. The other issue (build in test/ not regenerating bindings) is much older; still trying to figure out when that started, but it might date back to the bindings build syste python rewrite...
Blocks: 1043862
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(gps)
Keywords: regression
Flags: needinfo?(mh+mozilla)
Ah, so for the "rerun codegen and compile tests only" case, bug 928195 created a "compiletests" target in dom/bindings that was supposed to do that. Apart from the problems I pointed out at the time (hard to remember, and worse yet can't tab-complete; witness the fact that I totally failed to remember it yesterday when filing this bug), it has the little issue of also being broken. It reruns codegen but doesn't actually recompile the test files. Bisect says this also broke with bug 1043862. > See bug 1055204 That bug's discussion doesn't answer my fundamental question: How do I rerun codegen and rebuild just the test codegen files after changing Codegen.py? This needs to work; it not working meant a task that should have taken <1hr yesterday ended up taking 4 hours, most of it wasted waiting for bindings to compile when I only wanted to compile the tests.... So in the new "hey, we're going to break you" world, how do I achieve that simple task?
Flags: needinfo?(mh+mozilla)
At the bottom of /Makefile.in there is a list of manual intra-directory dependencies. Sounds like we need to add: dom/bindings/test/export: dom/bindings/export
Flags: needinfo?(gps)
> dom/bindings/test/export: dom/bindings/export I tried this. It does not help. "mach build dom/bindings/test" still does nothing, and "mach build dom/bindings/compiletests" still redoes the codegen but doesn't recompile the tests.
So what would it take to at least make "mach build dom/bindings/compiletests" work again?
Flags: needinfo?(gps)
Actually, looks like it works again now. Presumably because bug 1055204 got fixed...
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(gps)
Resolution: --- → FIXED
Assignee: nobody → mh+mozilla
Depends on: 1055204
Target Milestone: --- → mozilla34
Flags: qe-verify-
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.