- The continuous integration job does not fail.
- The JIRA issues included in the release are closed.
- Check the The source code quality of the plugin. The must be acceptable: the SQALE index must be A, and the SQALE remediation factor must not increase between two releases.
- A dedicated page is created for the plugin in the wiki.
Call a Vote
Before a release can occur, a vote typically takes must take place.
The snapshot version to be tested must be publicly available. If the plugin is hosted on:
vote is initiated by sending an email to firstname.lastname@example.org and email@example.com:
- the subject is prefixed with [VOTE]
- the body contains:
- a link to the snapshot artifact (you can find it on http://repository-sonarplugins.forge.cloudbees.com/snapshot/org/codehaus/sonar-plugins
mvn clean deploy
- an explanation of the plugin, status, and any other info you feel is relevant.
The standard is to wait 72 hours for responses. This gives other developers and users time to test the plugin before placing their vote. Votes are represented as numbers between -1 and +1, with -1 meaning 'no' and +1 meaning 'yes.'Only SonarQubeplugin and provide feedback. Each plugin committer gets one vote: -1 meaning "no" or +1 meaning "yes." Only SonarQube plugin committers can vote. The first release requires three +1's and no -1. Then vote is adopted 's. For subsequent releases, the vote can be passed by lazy consensus for next releases. It passes if it doesn't have any -1: it passes if there are no -1's.
- Close the vote on the dev mailing-list: respond to your earlier [VOTE] post, announcing that the vote is closed and who the voters were, or that the vote passes by lazy concensus
- Check the prerequisites
Set your Codehaus username/password in Maven settings.xml:
Code Block title settings.xml lang xml
<settings> <servers> <server> <id>codehaus.org</id> <username>CODEHAUS_LOGIN</username> <password>CODEHAUS_PASSWORD</password> </server> </servers> </settings>
- Install Codehaus SSL certificates into JDK
Deploy the plugin to the Maven central repository by executing the following command with default values:
mvn release:prepare release:perform
- Release the version in JIRA
- Update the Change Log section on the wiki plugin page by adding a JIRA Issues macro. Use the following properties:
- JIRA Field Columns to Display: type;key;summary;priority
- Cache: on
- Anonymous Retrieval: checked
- Width: 900
- Height: <leave it empty>
- Title: Release X.X
- Render Mode: static
- Send an email to firstname.lastname@example.org to ask that the technical release be completed (this updates the wiki page header, closes the JIRA version and makes the new version available in the Update Center).
- If it is the first release of the plugin, add it to the Plugin Library page
- Update the Version compatibility matrix page
- If a sonar-example is available, ask to update have the the plugin version updated in the validation.txt file
- Announce the release on the mailing-lists: email@example.com, firstname.lastname@example.org and email@example.com (you must subscribe to these lists in xircles )
- Send an email to firstname.lastname@example.org to ask for adding the release to the Update Center and to update the header on the wiki plugin page. This redundant step will be improved later. email@example.com with the message of the announcement so that SonarSource can publish it on the plugins feed.