mozilla

Compare Revisions

Building an extension

Change Revisions

Revision 33424:

Revision 33424 by Tryryr on

Revision 33425:

Revision 33425 by Tryryr on

Title:
Building an extension
Building an extension
Slug:
Building_an_Extension
Building_an_Extension
Tags:
NeedsTechnicalReview, Extensions, Add-ons, NeedsEditorialReview, NeedsUpdate
NeedsTechnicalReview, Extensions, Add-ons, NeedsEditorialReview, NeedsUpdate
Content:

Revision 33424
Revision 33425
t10    <h4 name="Setting_up_the_Development_Environment">t
11      Setting up the Development Environment
12    </h4>
13    <p>
14      Extensions are packaged and distributed in ZIP files, or <a
> href="en/Bundles">Bundles</a>, with the <tt>xpi</tt> (<i>pronoun 
>ced “zippy”</i>) file extension. The layout of content within the 
> XPI file is like so: 
15    </p>10    <p>
16    <pre class="eval">11      Knowledge Base].
17extension.xpi:
18              /<a href="en/Install.rdf">install.rdf</a>          
>          
19              <a href="#XPCOM_Components">/components/*</a>  
20              <a href="#Application_Command_Line">/components/cmd
>line.js</a>                    
21              <a href="#Defaults_Files">/defaults/</a>
22              <a href="#Defaults_Files">/defaults/preferences/*.j
>s</a>      
23              /plugins/*                        
24              /<a href="en/Chrome.manifest">chrome.manifest</a>  
>               
25              /<a href="en/Chrome_window_icons">chrome/icons/defa
>ult/*</a>        
26              /chrome/
27              /chrome/content/
28     
29</pre>
30    <p>
31      Because of this, it is easiest if we lay out our source fil
>es in a similar fashion, unless you want to write some sort of Ma 
>kefile or shell script to package and zip all of your files. Even 
> if you are prepared to do that, testing is much simpler if you l 
>ay out your files like this because of a feature of the Add-on Sy 
>stem provided by Firefox 1.5 and later. 
32    </p>
33    <p>
34      So let's get started. Create a folder for your extension so
>mewhere on your hard disk, e.g. <tt>C:\extensions\myExtension\</t 
>t> or <tt>~/extensions/myExtension/</tt>. Inside this folder crea 
>te another folder called <tt>chrome</tt>, inside the <tt>chrome</ 
>tt> folder create a folder called <tt>content</tt>. (On Unix-like 
> systems you can usually create both directories just by running  
><tt>mkdir -p chrome/content</tt> from within the extension's root 
> directory.) 
35    </p>
36    <p>
37      Inside the <b>root</b> of your extension folder, alongside 
>the <tt>chrome</tt> folder, create two new empty text files, one  
>called <tt>chrome.manifest</tt> and the other called <tt>install. 
>rdf</tt>. 
38    </p>
39    <p>
40      More tips on setting up the development environment can be 
>found on <a class="external" href="http://kb.mozillazine.org/Sett 
>ing_up_extension_development_environment">Mozillazine Knowledge B 
>ase</a>. 

Back to History