Development:Home Page
Contains development docs relating to bugs, triage, patching, etc.
Contents
Project Structure
Development:Project Structure describes the structure of the Camino Project and outlines the various contributors responsible for each area.
Development:Roadmap provides a broad overview of current and future releases of Camino.
Development:Localization Policies describes the policies that apply to Camino localizers.
Developer Interviews
In the summer of 2006, Ludovic Hirlimann began conducting a series of interviews with the many people working on Camino who were less well-known than the project leads. With his permission, those interviews are republished here; future interviews conducted by others will be added as they become available.
- Desmond Elliott
- Ian Leue
- Håkan Waara
- Bruce Davidson
- Nick Kreeger
- Nate Weaver
- Smokey Ardisson
- Aaron Schulman
Becoming a Camino Developer
Development:Contributor Overview is an (in-development) page that provides an overview of the actual development process for new contributors, pointing to the specifics in other documents. (It should replace this page in some respects.)
Building
Development:Building is the current revision of the documentation on building Camino.
- Development:Building:Mozilla 1.9.2 Branch is an edited version of the above documentation that covers building with Gecko 1.9.2 and the Mercurial version-control system.
- Development:Building:Mac OS X 10.6 contains up-to-date supplemental information about building Camino 2.1 with Gecko 1.9.2 on Mac OS X 10.6.
- Development:Building:Build Errors is a collection of common build errors and solutions.
Information for Third-Party Developers
Development:Camino AppleScript Guide contains information to help authors of AppleScripts and toolbar script items for Camino.
Development:Third-Party Preference Panes contains information to help creators of third-party preference panes for Camino.
Development:Third-Party Tab Themes contains information to help creators of third-party tab themes for Camino.
Development:Providing Software Update for Third-Party Camino Builds contains information to help third-party Camino builders, or Camino developers running long-lived experimental build sequences, provide software updates for their builds.
Coding and Reviewing
Development:Coding contains information about code style and patch procedures, along with tips for adding Gecko components to the project and other helpful hints for new developers.
Development:Reviewing gives an overview of how reviewing works in the Camino Project, as well as information about how a patch is committed and helpful hints for new committers.
Working With Bugs
Development:Good Bugs and Projects is our start of a "good first bugs" list, as well as some summer-sized Camino and Mac Gecko projects that need love.
Development:Editing Nibs gives information on how to properly edit nibs and attach them to bugs for review. It also gives basic Camino-specific style guidelines for our nibs.
Development:Preparing Graphics provides instructions on how to prepare TIFF files for inclusion in Camino.
Development:Gotchas is a list of assorted things to do (or not to do) when performing certain types of development activities. These items are not lengthy or detailed enough to merit their own pages.
Development:Testing arbitrary scenarios with Mochitest provides information on how to use Mochitest’s support for arbitrary servers operating off of the local filesystem to behavior-test arbitrary scenarios.
Development:Using Git for Camino development provides information on how to integrate Git into the Camino development process (for CVS-based branches).
QA:Keywords & Status Whiteboard explains some of the commonly-used keywords and status whiteboard entries.
- See other Quality Assurance pages for related articles which are more targeted towards end-user support and bug triage than towards developers looking to learn about Camino's use of Bugzilla.
- Development:OldProgramming contains the contents of the old cbo development/programming page, which need to be integrated here where appropriate.
Tools
link to tools and explanations; currently links are all to explanations of some degree of usefulness
MXR
MXR is a source cross-reference, or an advanced, web-based Spotlight for source code. It contains a browseable, searchable copy of the current source code, complete with syntax highlighting, hyperlinks for functions and various identifiers, and more. Once you’ve found a piece of code you’re interested in, you can also use MXR to find when the code last changed (“blame”) and the changelog for the file. Using these linked tools (bonsai and hgweb, depending on the version of Camino and the MXR “root”), you can also travel back in time and see what your code or file looked like at various points in the past.
- For Camino 2.1 based on Mozilla 1.9.2, you want the camino root for Camino code (updated daily) and the mozilla1.9.2 root for Gecko.
- For Camino 2.1 based on cvs trunk, you want the seamonkey root (updated hourly).
- For Camino 2.0, there is no discrete root. However, you can access the current CAMINO_2_0_BRANCH version of a file by finding the file in the seamonkey root, choosing the “CVS Graph” link (in the box at the top right of the page), and then selecting the revision for the CAMINO_2_0_BRANCH from the graph. For Core checkins related to Camino 2.0.x (aside from
client.mk
), use the seamonkey root. - For Camino 1.6.x (MOZILLA_1_8_BRANCH), you want the mozilla1.8 root.
- For Camino 1.5, as with Camino 2.0, there is no MXR root. For Core checkins to Camino 1.5.x, you want the mozilla1.8 root; for Camino code on the CAMINO_1_5_BRANCH, you can use the method described for the CAMINO_2_0_BRANCH above to find CAMINO_1_5_BRANCH files.
- For Camino 1.0.x (MOZILLA_1_8_0_BRANCH), you want the mozilla1.8.0 root.
- For Camino 0.8 (MOZILLA_1_7_BRANCH) and some access to really old files that may have been renamed with history loss (e.g., to track additions to the project over time, from Project Builder to Xcode 1.x to Xcode 2.x), you want the mozilla1.7 root.
N.B. Non-seamonkey roots are only updated daily and might be out-of-date if there were lots of checkins since the last update.
Bonsai
- Bonsai/CVS blame/“the hook” [1]
- http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=Camino&sortby=Date&hours=2&date=day (trunk checkins to most code that Camino pulls)
Tinderbox
- Tinderbox (tree status, also for perf results) [2] [3]
- http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino (see note below)
- IT:Tinderboxen provides more detailed configuration information on our tinderboxen
- http://www.ardisson.org/smokey/moz/perf.html?size=50&days=2&avg=1&autoscale=1 provides a quick overview of tinderbox performance tests (and lets us see the status of the perf box, boxset, when he's having mail issues)
- http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino (see note below)
- Camino oddities:
- ardissone|away: there's one particularity about the Camino tinderbox
- ardissone|away: because we show all branches on the same page
- ardissone|away: the "Guilty" column and the "C" link on each build
- ardissone|away: are only correct for the trunk
- ardissone|away: if something regresses or busts on 1.8 or 1.8.0, we have to manually compare the times to bonsai
Crash Reporting
- Crash Reporting (Breakpad+Socorro and Talkback)
- General documents
- Looking at a report/Filing topcrash bugs (site navigation is for Talkback but applies broadly to Socorro)
- MoCo Topcrasher tracking
- Breakpad+Socorro (Camino 2.0b3 and newer):
- http://crash-stats.mozilla.com (search for crashes or stacks)
http://crash-stats.mozilla.com/topcrasher/byversion/Camino/2.0b3pre (report: topcrashers by version) [broken]- Query by version (last 2 weeks, 2.0b3pre)
- http://crash-stats.mozilla.com/topcrasher/byurl/Camino/2.0b3pre (report: topcrashers by url)
- Talkback (Camino 1.6):
- http://talkback-public.mozilla.org/ (search for crashes or stacks)
- http://talkback-public.mozilla.org/reports/camino/ (reports)
- General documents
Assorted Tools
- Linkzilla plug-in for Colloquy, which translates
bug 377248
orbug 377248 comment 28
into live links (written by encro).
Tracking Documents
The various Development:Planning pages track the discussion and implementation of various large-scale feature changes and behavior synchronization issues that developers are in the process of fixing. The planning documents below may also contain discussion of potential new features for inclusion in future versions of Camino or of features that will never be accepted in Camino.
- Development:Planning:Editing in the Location Bar
- Development:Planning:Menu item validation
- Development:Planning:Toolbar item validation
- Development:Planning:Internal URIs
- Development:Planning:Focus Chain
- Development:Planning:Shift Toggle and discussion
- Development:Planning:MenuCleanup
- Development:Planning:NeededGraphics
- Development:Planning:dmg License Localization
- Development:Planning:Software Update
- Development:Planning:Search Engine Plug-ins
- Development:Planning:Add-Ons System Requirements
- Development:Planning:IDNs
- Development:Planning:Camino 1.6
- Development:Planning:Camino 2.0
- Development:Planning:Branching for Camino 2.0
- Development:Planning:Camino 2.1
- Development:Planning:Microformats
- Development:Planning:OS Integration
- Development:Planning:Version Numbering - discussion regarding Camino's version numbering scheme
- Development:Planning:Credits - discussion regarding Camino's scheme for listing contributors
Note: This page is locked for editing.