My test environment is simple
- Create an XPI file with all files unzipped (no jar file inside)
- Install the XPI on a separated (and clean) profile, this is applicable to any Gecko application: Firefox, Thunderbird, Komodo, SeaMonkey 2.x
- Run unit tests or use the extension
- If some test fails I edit code (xul, js, css) directly on installed files
- Move edited files on main code build tree
- Repeat the process starting from 1.
Any developer uses its own approach, someone prefers to edit the chrome.manifest to point to files on specific directories, someone uses other enterprise-big-team oriented ways.
No matters the approach you use under Gecko 2.0 (ie Firefox 4.0) the XPI file will not unpacked by default, this can complicate your development process but the solution is easy.
em:unpack
Add to your install.rdf the following line and everything comes back (more details here)
<em:unpack>true</em:unpack>
My dev environment has two XPI creation tasks, debug and dist so it’s easy to insert <em:unpack/> only when necessary (debug mode in my case)
RTFM
Please visit often Firefox 4 for developers (better to follow the feed) because FF4 is a little/big awesome revolution and extensions can be affected in many ways.