Skip to end of metadata
Go to start of metadata

Nexus repository

To hold all tranSMART Core API artefacts, a Nexus repository has been set up at https://repo.transmartfoundation.org. You can login to this repository using your transmartfoundation.org developer account.

Publish a new version of the API to the repository

If you have modified the core API, you need to publish the new version. This is done automatically by Bamboo for each commit (provided compilation is succesful; naturally the API doesn't have tests).

However, for the sake of documentation here is the procedure. For the core API, we currently use the Snapshots repository as opposed to Releases, since the API is pretty fluid and this time we don't have to update the version number in all the components that depend on the API every time we make a change. Of course when things get a little more stable, we should switch to Releases and update the version number all the time whenever we make a change.

To publish a new version to the repository, you need to have Maven 3 installed. Also, you need to enter your credentials in ~/.m2/settings.xml

settings.xml
<settings>
  <servers>
    <server>
      <id>repo.transmartfoundation.org-snapshots</id>
      <username>keesvanbochove</username>
      <password>***</password>
    </server>
  </servers>
</settings>

To hash your password, you can use mvn -ep password. See the Maven documentation.

Publish a new version of a Grails plugin to the repository

This looks a lot like the procedure to publish the API. When you want to publish a new version of the plugin to the repository, you need to update the version number in the plugin descriptor (Groovy file in the root of the project, e.g. RdcRmodulesGrailsPlugin.groovy) and tag your last commit (with Git tag) with the version number. Then simply do grails publish-plugin (provided the TranSMART Foundation repo is your default, see Grails documentation).

Of course, also here Grails needs to know your repository credentials (which are the same as for JIRA, Stash etc.) You can define these in ~/.grails/settings.groovy:

Example settings.groovy
// default release options
grails.release.scm.enabled=false
grails.project.repos.default = "tfrelease"

// transmartfoundation nexus repository releases
grails.project.repos.tfrelease.url = "https://repo.transmartfoundation.org/content/repositories/releases/"
grails.project.repos.tfrelease.type = "maven"
grails.project.repos.tfrelease.username = "keesvanbochove"
grails.project.repos.tfrelease.password = "***"
  • No labels