Releasing SDK

In order to release SDK you need to be a project lead or an administrator in JIRA. Please e-mail helpdesk@openmrs.org if you want to become a lead or an administrator of a project.

Before you release the SDK you need to go to project's Overview page SDK and look at unscheduled issues (issues without a fix version) to see if there are any, which have been worked on, but have no fix version. Set the fix version to the version you want to release. Next review any issues in the Code-review (post-commit) state. They must be closed before releasing. Next it is recommended to look at any issues in the Code-review (Initial) state to see if they can be merged and closed before releasing. You can skip this step if you do not have time for additional reviews, fixes and merges. Lastly you need to look at issues in the In progress state to make sure that no commits have been merged to the master branch. If it is the case then such issues must be completed. reviewed, and closed as well. (Issues that are assigned to the version, but have had no commits, should be bumped to the next fix version, in a later step.)

Finally you can go to project's Administration -> Versions e.g. SDK versions.

You need to add a new fix version. Put the version in the Name column at the top and hit Add to the right.

Next while hovering over the row with the version you want to release click the config icon to the right and choose Release.

The dialog box may report that there are some unresolved issues for this version. You can preview them and decide if they should be addressed before releasing. Otherwise you can select Move issues to version and pick the version you just added from the dropdown. Fill out the release date and click Release.

Next step is to release the SDK to Maven Central. If you do it for the first time you need to follow the following steps:

  1. Create a user at https://issues.sonatype.org and request privileges to publish under openmrs at https://issues.sonatype.org/browse/OSSRH-5532
  2. Install and configure gpg2 as described here http://central.sonatype.org/pages/working-with-pgp-signatures.html, do not forget to delete sub keys and distribute the public key
  3. Add the following server entry and properties to settings.xml in the .m2 directory:

    <settings>
      <servers>
        <server>
          <id>ossrh</id>
          <username>your-jira-id</username>
          <password>your-jira-pwd</password>
        </server>
      </servers>
    </settings>
     
    <properties>
      <gpg.executable>gpg2</gpg.executable>
      <gpg.passphrase>the_pass_phrase</gpg.passphrase>
    </properties>
Complete instructions can be found at http://central.sonatype.org/pages/apache-maven.html
If you have ever done the above steps before, you should be able to checkout the latest master of https://github.com/openmrs/openmrs-contrib-sdk-maven-plugin and call:
mvn release:prepare
mvn release:perform