Currently GCLI lives in various files in 'webconsole', but this is an articfact of history because it is now used entirely by the developer toolbar in 'shared', and not by anything in 'webconsole'.
I propose a new devtools/gcli directory.
At the same time we should:
- Use devtools/gcli/generated for files from the GCLI project
I think this directory would contain 3 files (probably) for GCLI modules
The point of the separation is to make it clearer which files have an
- Split console.js out so it doesn't have to be duplicated
- Split the module loader out so it doesn't have to be duplicated
(both of these probably should live in 'shared')
- Split gcli.jsm into:
- devtools/gcli/gcli.jsm ('public' interface for devtools)
- devtools/gcli/generated/common-modules.jsm (imported modules, see above)
- Move command-loading from DeveloperToolbar to gcli.jsm
- Work to get as many firefox resources out of gcli and into central
Created attachment 622427 [details] [diff] [review]
Rob - there's a ton of stuff here, I'm happy to talk it through with you - I think that would probably save lots of time.
Some additional context for this move:
- I'd like to take any breaking changes for the GCLI API now rather than later
If moving things around could break commands then we want to do this now.
- The NetPanel import depends on the files we split out here.
Can we call the directory 'commandline' so that people have a chance of finding it without knowing our esoteric name for the command line?
(In reply to Dave Camp (:dcamp) from comment #3)
> Can we call the directory 'commandline' so that people have a chance of
> finding it without knowing our esoteric name for the command line?
Created attachment 624166 [details] [diff] [review]
Fixes known issues
Comment on attachment 624166 [details] [diff] [review]
per discussion in IRC.
Created attachment 624786 [details] [diff] [review]
Fixes Rob's comments from IRC:
- License header was incorrectly standard Firefox header, changed back to reflect
- Gcli.jsm vs GCLI.jsm: I left it as it originally was gcli.jsm
I think the lowercase.jsm for imported modules we discussed originally makes
lots of sense. Lets stick with that.