Difference between revisions of "Development:Home Page"

From Camino Wiki
Jump to navigation Jump to search
(→‎Tools: start fleshing out tools sections and adding Hg stuff)
(→‎Building: stub in a page for philippe)
 
(21 intermediate revisions by the same user not shown)
Line 26: Line 26:
 
== Building ==
 
== Building ==
  
[[Development:Building]] is the current revision of the documentation on building Camino.
+
[[Development:Building:Mozilla 1.9.2 Branch]] is the current revision of the documentation on building Camino.  This documentation covers building with Gecko 1.9.2 and the Mercurial version-control system.
  
:[[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.
+
:[[Development:Building:Mac OS X 10.7]] contains up-to-date supplemental information about building Camino 2.1 with Gecko 1.9.2 on Mac OS X 10.7.
 +
 
 +
[[Development:Building:Mozilla 1.9.0 Branch]] is the documentation for building Camino from CVS.
 +
:''Although Camino 2.0.x security releases still come from CVS HEAD (Gecko) and the CAMINO_2_0_BRANCH, no Camino 2.1 development work occurs in CVS; Camino 2.1 development is done using the Mercurial-based Mozilla 1.9.2 Branch and the corresponding Camino Hg repository.''
 +
 
 +
[[Development:Building:Build Errors]] is an old collection of “common” build errors and solutions.
  
 
===Information for Third-Party Developers===
 
===Information for Third-Party Developers===
Line 36: Line 41:
  
 
[[Development:Third-Party Preference Panes]] contains information to help creators of third-party preference panes for Camino.
 
[[Development:Third-Party Preference Panes]] contains information to help creators of third-party preference panes for Camino.
 +
 +
[[Development:Porting or Using Firefox Extensions with Camino]] contains information on areas of compatibility and incompatibility between Firefox extensions and Camino.
  
 
[[Development:Third-Party Tab Themes]] contains information to help creators of third-party tab themes for Camino.
 
[[Development:Third-Party Tab Themes]] contains information to help creators of third-party tab themes for Camino.
Line 41: Line 48:
 
[[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.
 
[[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:Supporting Additional Web-based Feed Readers]] contains information on how to adapt Camino’s AppleScript applications for Google, My Yahoo! and Bloglines to support other web-based feed readers.
 +
 
 +
== Coding, Reviewing, and Committing ==
 
[[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: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.
+
[[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 reviewers.
 +
 
 +
[[Development:Committing]] contains information about checking in code for Camino and helpful hints for new committers.
  
 
== Working With Bugs ==
 
== 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: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:Tools]] provides links to and descriptions of assorted webtools that are useful when tracking down bugs and regressions, finding and changing code, checking in code, monitoring crashes, and other development-related activities.
  
 
[[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: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:Preparing Graphics]] provides instructions on how to prepare TIFF files for inclusion in Camino.
 +
 +
[[Development:Opening URLs and Files]] details the various ways external URL and file opening requests are handled.
  
 
[[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: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:Helpful Mercurial Commands]] lists some helpful Hg commands you may have need for when developing.
 +
 +
[[Development:Using Custom Profiles]] provides information about using Camino’s custom profile location support to aid development.
  
 
[[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: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.
+
[[Development:Using Git for Camino development]] provides information on how to integrate Git into the Camino development process
  
 
[[QA:Keywords & Status Whiteboard]] explains some of the commonly-used keywords and status whiteboard entries.
 
[[QA:Keywords & Status Whiteboard]] explains some of the commonly-used keywords and status whiteboard entries.
Line 63: Line 82:
 
: See other [[QA:Home Page|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.
 
: See other [[QA:Home Page|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.
+
[[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===
 
[http://mxr.mozilla.org/ 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 [http://mxr.mozilla.org/camino/ camino] root for Camino code (updated daily) and the [http://mxr.mozilla.org/mozilla1.9.2/ mozilla1.9.2] root for Gecko.
 
* For Camino 2.1 based on cvs trunk, you want the [http://mxr.mozilla.org/seamonkey/ seamonkey] root (updated hourly).
 
** There is no root for the CAMINO_2_0_BRANCH, although 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, 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 <code>client.mk</code>), use the seamonkey root.
 
* For Camino 1.6.x (MOZILLA_1_8_BRANCH), you want the [http://mxr.mozilla.org/mozilla1.8/ mozilla1.8] root
 
** For Core checkins to Camino 1.5.x, you want the mozilla1.8 root; there is no root for code on the CAMINO_1_5_BRANCH, but 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 [http://mxr.mozilla.org/mozilla1.8.0/ mozilla1.8.0] root
 
: Note that non-seamonkey roots are only updated daily and might be out-of-date if there were lots of checkins since the last update.
 
 
 
===Bonsai===
 
* [http://www.mozilla.org/bonsai.html Bonsai]/CVS blame/[http://www.mozilla.org/hacking/bonsai.html “the hook”] [http://www.mozilla.org/events/lugod/4c_bonsai.html]
 
** 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===
 
* [http://developer.mozilla.org/en/docs/Tinderbox Tinderbox] (tree status, also for [http://wiki.mozilla.org/Performance:Tinderbox_Tests perf results]) [http://www.mozilla.org/events/lugod/4b_tinderbox.html] [http://www-archive.mozilla.org/tinderbox.html]
 
** 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)
 
* 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
 
*** [http://wiki.mozilla.org/QA/Talkback/Topcrash_Analysis Looking at a report/Filing topcrash bugs] (site navigation is for Talkback but applies broadly to Socorro)
 
*** [http://wiki.mozilla.org/QA/Topcrashes MoCo Topcrasher tracking]
 
** [http://wiki.mozilla.org/Breakpad Breakpad+Socorro] (Camino 2.0b3 and newer):
 
*** http://crash-stats.mozilla.com (search for crashes or stacks)
 
*** <s>http://crash-stats.mozilla.com/topcrasher/byversion/Camino/2.0b3pre (report: topcrashers by version) [broken]</s>
 
*** [http://crash-stats.mozilla.com/query/query?do_query=1&product=Camino&version=Camino%3A2.0b3pre&platform=mac&date=&range_value=2&range_unit=weeks&query_search=signature&query_type=exact&query= Query by version] (last 2 weeks, 2.0b3pre)
 
*** http://crash-stats.mozilla.com/topcrasher/byurl/Camino/2.0b3pre (report: topcrashers by url)
 
** [http://wiki.mozilla.org/QA:Talkback Talkback] (Camino 1.6):
 
*** http://talkback-public.mozilla.org/ (search for crashes or stacks)
 
*** http://talkback-public.mozilla.org/reports/camino/ (reports)
 
 
 
===Assorted Tools===
 
* http://pastebin.mozilla.org
 
 
 
* [http://colloquy.info/extras/details.php?file=47 Linkzilla] plug-in for Colloquy, which translates <code>bug 377248</code> or <code>bug 377248 comment 28</code> into live links (written by [[User:SteveJacobs|encro]]).
 
  
 
== Tracking Documents ==
 
== Tracking Documents ==
Line 130: Line 101:
 
* [[Development:Planning:Add-Ons System Requirements]]
 
* [[Development:Planning:Add-Ons System Requirements]]
 
* [[Development:Planning:IDNs]]
 
* [[Development:Planning:IDNs]]
 +
* [[Development:Planning:Ad-Blocking Notes]]
 
* [[Development:Planning:Camino 1.6]]
 
* [[Development:Planning:Camino 1.6]]
 
* [[Development:Planning:Camino 2.0]]
 
* [[Development:Planning:Camino 2.0]]

Latest revision as of 21:06, 11 January 2012

Contains development docs relating to bugs, triage, patching, etc.

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.

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:Mozilla 1.9.2 Branch is the current revision of the documentation on building Camino. This documentation 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:Mac OS X 10.7 contains up-to-date supplemental information about building Camino 2.1 with Gecko 1.9.2 on Mac OS X 10.7.

Development:Building:Mozilla 1.9.0 Branch is the documentation for building Camino from CVS.

Although Camino 2.0.x security releases still come from CVS HEAD (Gecko) and the CAMINO_2_0_BRANCH, no Camino 2.1 development work occurs in CVS; Camino 2.1 development is done using the Mercurial-based Mozilla 1.9.2 Branch and the corresponding Camino Hg repository.

Development:Building:Build Errors is an old 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:Porting or Using Firefox Extensions with Camino contains information on areas of compatibility and incompatibility between Firefox extensions and 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.

Development:Supporting Additional Web-based Feed Readers contains information on how to adapt Camino’s AppleScript applications for Google, My Yahoo! and Bloglines to support other web-based feed readers.

Coding, Reviewing, and Committing

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 reviewers.

Development:Committing contains information about checking in code for Camino 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:Tools provides links to and descriptions of assorted webtools that are useful when tracking down bugs and regressions, finding and changing code, checking in code, monitoring crashes, and other development-related activities.

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:Opening URLs and Files details the various ways external URL and file opening requests are handled.

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:Helpful Mercurial Commands lists some helpful Hg commands you may have need for when developing.

Development:Using Custom Profiles provides information about using Camino’s custom profile location support to aid development.

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

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.

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.

 


Note: This page is locked for editing.