DevTools/Hacking: Difference between revisions

Moved incremental build to just after first build, more logical this way
(Promoted First Run to top level heading like First Build)
(Moved incremental build to just after first build, more logical this way)
Line 35: Line 35:
[[Image:DevToolsDeveloperSettings.png|center|600px|Settings for developer tools - "Enable Chrome Debugging" and "Enable Remote Debugging"]]
[[Image:DevToolsDeveloperSettings.png|center|600px|Settings for developer tools - "Enable Chrome Debugging" and "Enable Remote Debugging"]]


= Developer Tools Directories Overview =
= Incremental Builds =
 
* '''<tt>devtools/shared</tt>''': Code shared by both the DevTools client (front-end UI) and server. If we are using any third party libraries, or importing external repositories into our tree, those libraries generally live here (eg, <tt>devtools/shared/acorn</tt>), assuming they are used by both client and server.
** '''<tt>devtools/shared/client</tt>''': Code for the DevTools [[Remote Debugging Protocol]] client.  (You may wonder why this is not in <tt>devtools/client</tt> below: it's mainly because tests in server also need access to the RDP client.)
** '''<tt>devtools/shared/locales</tt>''': Strings used in either the DevTools server only, or shared with both the client and server
* '''<tt>devtools/server</tt>''': Code for the DevTools [[Remote Debugging Protocol]] server and transport layer.
** '''<tt>devtools/server/actors</tt>''': [[Remote_Debugging_Protocol#Actors RDP Actors]]. Note that if you're modifying the RDP, you may need to worry about [[DevTools/Backwards_Compatibility|backwards compatibilty with older protocol implementations]].
* '''<tt>devtools/client</tt>''': Front end user interfaces for our tools.  Should be pretty obvious what is what based on the directory names and each panel we have in our toolbox.  This directory is only shipped with desktop Firefox, as opposed to other directories above, which are shipped with all Gecko products (Firefox OS, Firefox for Android, etc.)
** '''<tt>devtools/client/locales</tt>''': Strings used in the DevTools client (front-end UI)
** '''<tt>devtools/client/themes</tt>''': CSS and images used in the DevTools client (front-end UI)
 
= Development Workflow =
 
== Incremental Builds ==


Once you've already built Firefox once, and you just want to incrementally update your build with your latest DevTools changes, you can run:
Once you've already built Firefox once, and you just want to incrementally update your build with your latest DevTools changes, you can run:
Line 68: Line 55:
   $ ./mach clobber
   $ ./mach clobber
   $ ./mach build
   $ ./mach build
= Developer Tools Directories Overview =
* '''<tt>devtools/shared</tt>''': Code shared by both the DevTools client (front-end UI) and server. If we are using any third party libraries, or importing external repositories into our tree, those libraries generally live here (eg, <tt>devtools/shared/acorn</tt>), assuming they are used by both client and server.
** '''<tt>devtools/shared/client</tt>''': Code for the DevTools [[Remote Debugging Protocol]] client.  (You may wonder why this is not in <tt>devtools/client</tt> below: it's mainly because tests in server also need access to the RDP client.)
** '''<tt>devtools/shared/locales</tt>''': Strings used in either the DevTools server only, or shared with both the client and server
* '''<tt>devtools/server</tt>''': Code for the DevTools [[Remote Debugging Protocol]] server and transport layer.
** '''<tt>devtools/server/actors</tt>''': [[Remote_Debugging_Protocol#Actors RDP Actors]]. Note that if you're modifying the RDP, you may need to worry about [[DevTools/Backwards_Compatibility|backwards compatibilty with older protocol implementations]].
* '''<tt>devtools/client</tt>''': Front end user interfaces for our tools.  Should be pretty obvious what is what based on the directory names and each panel we have in our toolbox.  This directory is only shipped with desktop Firefox, as opposed to other directories above, which are shipped with all Gecko products (Firefox OS, Firefox for Android, etc.)
** '''<tt>devtools/client/locales</tt>''': Strings used in the DevTools client (front-end UI)
** '''<tt>devtools/client/themes</tt>''': CSS and images used in the DevTools client (front-end UI)
= Development Workflow =


== Enabling DevTools Logging ==
== Enabling DevTools Logging ==
130

edits