This thread is to present our plans to upgrade the tools provided by this site and OCCT itself to facilitate collaborative development of OCCT and improve the existing process.
The important notice to be given is that the process we are establishing is the one to be used by all contributors, both external and internal to OPEN CASCADE.
The general workflow based on processing each change as an issue in MantisBT issue tracking system, described in my previous post, remains as a basis. Further we will gradually improve the tools and associated process:
- Provide public access to the source code repository.
This is our next main goal. Currently we consider setting up a Git repository managed by Gitorious server, with which we expect to get account management integrated within the dev web site, convenient management of branches and merge requests, and a code review tool. Integration with the tracker is naturally planned as well.
Definitely there is a huge amount of work to be done. Apart from setting up the tools, we still have to revise the structure of our existing SVN repository and convert it to Git.
As soon as the Git repository is there, we will replace the current method to submit the code (by patches) by the one using branches (normally one branch per issue) and merge requests. The details are still to be elaborated, thus all suggestions and ideas are very welcome.
If everything goes as expected, we are planning to have it ready in March 2012.
- Include an automated tests suite into OCCT code base, and provide tools to execute it.
This is our second major goal. At the moment we have upgraded our internal toolset to a new platform based on Perl implementation of TAP (Test Everything Protocol), and are working on conversion of the database of test scripts to that platform. As we have about 18,000 test cases, this work will take a good while of time. We plan to include the new test tools with the first subset of test cases in the next release of OCCT, and complete it gradually during 2012.
It should be made clear that a considerable subset of tests (especially those in the Data Exchange module) involve confidential data models coming from our customers and thus these tests may not be made public. They will remain a part of our internal certification process continued to ensure overall non-regression of OCCT.
As soon as the tests are available in the OCCT, we will require all the contributors to ensure that tests run well before making a merge request.
And yes, the new test system keeps using DRAW test harness with test scripts being in Tcl.
- Continue improvements of the developerвЂ™s portal following the experience that we obtain together, and new ideas that we are expecting to get from you.
I suggest that in this thread we can discuss general points, and create dedicated threads for discussion of particular tools.