- 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 place.
The snapshot version to be tested must be publicly available. If the plugin is hosted on:
- Github, then the artifact is automatically deployed by Cloudbees Jenkins
- to http://repository-sonarplugins.forge.cloudbees.com/snapshot/org/codehaus/sonar-plugins.
- Codehaus (svn/bamboo), then the artifact must be manually deployed
- to http://snapshots.repository.codehaus.org/org/codehaus/sonar-plugins/. Configure your Maven settings as described in the following section then execute the
mvn clean deploy
Call a Vote
Before a release can occur, a vote must take place.
The vote is initiated by sending an email to email@example.com with a link to the snapshot artifact. The email subject is prefixed with [VOTE]. Explain the plugin, status, and give any other info you feel is relevant. The standard is to wait 72 hours for responses. This gives other developers time to test the plugin before placing their vote. Votes are represented as numbers between -1 and +1, with -1 meaning 'no' and Each plugin committer gets one vote: -1 meaning "no" or +1 meaning '"yes.'"
Only Sonar 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 Send an email to firstname.lastname@example.org to ask for the release of 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
- If it is the first release of the plugin, add it to the the Plugin Library page
- Update the Version compatibility matrix pageAnnounce
- 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 )If a sonar-example is available, ask to have the the plugin version updated in the validation.txt file
- Send an email to firstname.lastname@example.org with the message of the announcement so that SonarSource can publish it on the plugins feed.
- Send an email to email@example.com to ask for adding that the release be added to the Update Center and to update that the header on the wiki plugin page . This redundant step will be improved laterbe updated.