People often ask, "What does it take to get involved
with the development of the STP?" There are many ways to get involved.
On the lightweight end of scale, there is involvement by using the STP
and providing feedback and sharing your experiences on the Eclipse and
STP mailing lists and newsgroups. Beyond that, you can report problems
that you discover, so that they may be addressed in future releases. A
deeper level of involvement would be to actually solve some of the problems
that you or others have uncovered by modifying/writing the necessary code
and creating patches that can applied by the project committers. The final,
and most beneficial way to get involved is to take responsibility for a
significant piece of development work, whether it's enhancing a particular
area of the tool or creating new functionality.
The purpose of this document is to help people and organizations
understand what it means to "commit" to STP Development at this
highest level. Basically, it involves a commitment to describe, develop,
test and document your contributions.
|
Communicating Your Desires/Intentions
Please mail stp-user@xxxxxxxxxxx
with your intentions. A full process will be defined later.
Becoming a committer
Every developer's contribution is welcomed. And in time,
developers can become committers. A committer is a developer who has write
access to the source code repository for the associated subproject (or
component), and has voting rights allowing to affect the future of the
subproject (or component); other developers define patches and submit them,
indirectly, through committers. A developer gains such committer rights
through frequent and valuable contributions to a subproject, or component
of a subproject (in the case of large subprojects). We should point out
that creating and submitting quality patches is the best way to obtain
committer privileges for future work.
|
This section applies to code being committed to trunk
(HEAD/mainline) or a maintenance release branch. It does not apply to temporary
development branches. Temporary branches can serve as an integration area
for larger features during development and can also help collaboration
between multiple developers. When such a temporary branch is merged to
trunk the process described below will apply.
Code quality
We adhere to the Eclipse Quality statement as is outlined
here: http://www.eclipse.org/projects/dev_process/eclipse-quality.php
In addition, we strongly suggest that developers adhere
to the following guidelines:
- Javadoc: in addition to the general Eclipse Javadoc
rules: http://wiki.eclipse.org/index.php/Javadoc,
it is strongly advised that all classes have all public methods
Javadocced and a Javadoc section at the class level. Additionally every
package should have a package.html Javadoc file.
- Automated tests: all code should have an automated
test suite that automatically runs as part of the overall test process.
- Test quality: Code Coverage is a mechanism to measure
the quality of the tests. 100% of the public APIs should be exercised in
the test runs. As an overall principle, the automated tests should exercise
as much of all the code as possible, with a guideline of at least 70% overall
coverage. The testing framework will automatically produce a coverage report
as part of the test run.
Code submission process
Before code is committed in to CVS, it needs to go through
the following process:
|