mozilla
Your Search Results

    Installation

    Prerequisites

    To develop add-ons using the current Add-on SDK, you'll need:

    • Python 2.5, 2.6 or 2.7. Note that versions 3.x of Python are not supported on any platform. Make sure that Python is in your path.
    • Firefox.
    • The SDK itself: you can obtain the latest stable version of the SDK as a tarball or a zip file.

    Work is under way on a native JavaScript SDK (lookin' at you, Nightlies).

    Installation

    Installation on OS X, FreeBSD, Linux

    Extract the file contents wherever you choose, and navigate to the root directory of the SDK with a shell/command prompt. For example:

    tar -xf addon-sdk.tar.gz
    cd addon-sdk
    

    Then, if you're a Bash user, run:

    source bin/activate
    

     If you're a non-Bash user, you should run:

    bash bin/activate
    

    Your command prompt should now have a new prefix containing the name of the SDK's root directory:

    (addon-sdk)~/mozilla/addon-sdk >
    

    The activate command sets some environment variables that are needed for the SDK. It sets the variables for the current command prompt only. If you open a new command prompt, the SDK will not be active in the new prompt until you type activate again. If you want permanent activation, see Making activate permanent below.

    Installation on OS X using Homebrew

    If you're a Mac user, you can instead choose to use Homebrew to install the SDK, using the following command:

    brew install mozilla-addon-sdk

    Once this has completed successfully, you can use the cfx program at your command line at any time: you don't need to run bin/activate.

    Installation on Windows

    Extract the file contents wherever you choose, and navigate to the root directory of the SDK with a shell/command prompt. For example:

    7z.exe x addon-sdk.zip
    cd addon-sdk
    

    Then run:

    bin\activate
    

    Your command prompt should now have a new prefix containing the full path to the SDK's root directory:

    (C:\Users\mozilla\sdk\addon-sdk) C:\Users\Work\sdk\addon-sdk>
    

    The activate command sets some environment variables that are needed for the SDK. It sets the variables for the current command prompt only. If you open a new command prompt, the SDK will not be active in the new prompt until you type activate again. If you want permanent activation, see Making activate permanent below.

    Sanity check

    Run this at your shell prompt:

    cfx

    It should produce output whose first line looks something like this, followed by many lines of usage information:

    Usage: cfx [options] [command]

    This is the cfx command-line program. It's your primary interface to the Add-on SDK. You use it to launch Firefox and test your add-on, package your add-on for distribution, view documentation, and run unit tests.

    If you don't see this, try the Troubleshooting page.

    Next Steps

    Next, take a look at the Getting Started With cfx tutorial, which explains how to create add-ons using the cfx tool.

    Advanced topics

    Using the SDK from Git

    The SDK is developed in GitHub. Rather than use the zipped releases, you can check it out from GitHub repository: with this you can use the latest development version rather than an official release.

    If you use the latest development version, you must use it with the Nightly version of Firefox, and you won't be able to submit any add-ons you develop to addons.mozilla.org (AMO), because AMO requires that you use an official release.

    Building add-ons for AMO from Git

    If you do want to build add-ons for submission to AMO using the Git checkout, then you must:

    • use the latest git release tag of the addon-sdk sources
    • run the git archive command to expand some git attribute placeholders in a git clone working directory
    git checkout 1.17
    
    git archive 1.17 python-lib/cuddlefish/_version.py | tar -xvf -

    Making activate permanent

    The activate command sets some environment variables that are needed for the SDK. It sets the variables for the current command prompt only. If you open a new command prompt, the SDK will not be active in the new prompt until you type activate again.

    This means that you can have multiple copies of the SDK in different locations on disk and switch between them, or even have them both activated in different command prompts at the same time.

    By setting these variables permanently in your environment so every new command prompt reads them, you can make activation permanent. Then you don't need to type activate every time you open up a new command prompt.

    Because the exact set of variables may change with new releases of the SDK, it's best to refer to the activation scripts to determine which variables need to be set. Activation uses different scripts and sets different variables for bash environments (Linux and OS X) and for Windows environments.

    Windows

    On Windows, bin\activate uses activate.bat, and you can make activation permanent using the command line setx tool or the Control Panel.

    Steps for settings permanent:

    Step 0. Open Control Panel > System > Advanced > Environment Variables.
    Step 1. Add the Python directory and your SDK\bin directory to the Path System Variable.
    Path=...;C:\PYTHON26\;C:\Users\Omid\Documents\FirefoxAddons\addon-sdk-1.15\bin
    Step 2. Add a User variable called CUDDLEFISH_ROOT and set its value to "C:\Users\Omid\Documents\FirefoxAddons\addon-sdk-1.15"
    Step 3. Add a User variable called PYTHONPATH and set its value to "C:\Users\Omid\Documents\FirefoxAddons\addon-sdk-1.15\python-lib"
    Step 4. Add a User variable called VIRTUAL_ENV and set its value to "C:\Users\Omid\Documents\FirefoxAddons\addon-sdk-1.15"

    Linux / OS X

    On Linux and OS X, source bin/activate uses the activate bash script, and you can make activation permanent using your ~/.bashrc (on Linux) or ~/.bashprofile (on OS X).

    As an alternative to this, you can create a symbolic link to the cfx program in your ~/bin directory:

    ln -s PATH_TO_SDK/bin/cfx ~/bin/cfx
    

    If you used Homebrew to install the SDK, the environment variables are already set permanently for you.

    Document Tags and Contributors

    Last updated by: PixnBits,
    Hide Sidebar