[GRASS-dev] QGIS GRASS plugin - modules upgrade

Hi,

the GRASS 7 plugin is enabled in QGIS master, but there are many
options which changed in GRASS 7 and has to be fixed in .qgm files.
Because some people already promised to help with the upgrade of
modules' configuration I want to ask them and everybody who is
interested, to start the upgrade of modules. I have recently
implemented new functions in the plugin which will simplify your work.

How to upgrade the modules and contribute the changes to QGIS:

1) Install recent development version of QGIS (2.11, nightly build)

2) Fork QGIS (https://github.com/qgis/QGIS) on GitHub, create a new
account first if you don't have GitHub account yet

3) Create a new branch in your fork, for example 'grass' [1], never
work in 'master' branch, master branch just keep in sync with original
QGIS master

4) Install git client on you computer (GitHub has its client for
Windows), clone your fork on your computer and switch to the branch
you created.

5) Start QGIS with GRASS 7 plugin, right click on a GRASS item in the
browser, open GRASS options and in Modules tab select custom
configuration and select the location of modules configuration in the
QGIS source code clone, for example, if you cloned the code to
c:/users/user1/qgis, select
c:/users/user1/qgis/src/plugins/grass/modules. Check the debug mode
option and confirm with OK.

6) Open a GRASS mapset by right click on the mapset in the browser and
select 'Open mapset' from context menu. You should now see in the
GRASS tools box under the three of modules the new debug bar with
three buttons: 'Reload tree', 'Run debug' and 'Close debug'. Click on
'Run debug', it will take a while because it runs each module to get
list of its options, as a result, you should see list of all errors in
the tree structure. There are currently 293 errors in GRASS 7 plugin.

7) Open a configuration file of the module you want to fix (in your
QGIS source code clone) in your favourite text (xml) editor and fix
the errors according to [2] and run debug again to verify if it is
really fixed. If possible (you have GRASS 6) start QGIS with GRASS 6
plugin and run also the debug to be sure that you have not broken
GRASS 6 options.

8) Once you upgrade bunch of modules, commit the changes to your
'grass' branch and push it to GitHub. Open that commit on GitHub and
create pull request [1] against the original QGIS master, let me know
and I'll merge it to master.

I hope that I haven't discouraged you, it may seem to be difficult but
it is quite easy in the end. You can also use the same system to
maintain your own set of modules for your or your organisation's
needs. Don't worry to ask if something is not clear or you find
difficulties.

Please let me know if you are still available to help as you promised
and if so, please agree on non overlapping branches in the modules
tree with others who will be working on the upgrade.

Radim

[1] https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/

[2] http://hub.qgis.org/projects/quantum-gis/wiki/Adding_New_Tools_to_the_GRASS_Toolbox

[3] https://help.github.com/articles/creating-a-pull-request/