This document serves to provide necessary steps and information to contribute to the Krausening codebase. Documentation on the purpose and functionality of relevant source files is also covered to serve as priming context, prior to making contributions.
Krausening uses both the maven-release-plugin
and the nexus-staging-maven-plugin
to facilitate the release and deployment of new Krausening builds. In order to perform a release, you must:
-
Obtain a JIRA account with Sonatype OSSRH and access to the
org.technologybrewery.askllc
project group -
Ensure that your Sonatype OSSRH JIRA account credentials are specified in your
settings.xml
:
<settings>
<servers>
<server>
<id>ossrh</id>
<username>ossrh-jira-id</username>
<password>{encrypted-ossrh-jira-pwd}</password>
</server>
</servers>
</settings>
- Krausening Python requires a PyPI account with access to the krausening project and integrates into the
maven-release-plugin
'sdeploy
phase to appropriately publish the package to PyPI. PyPI account credentials should be specified in yoursettings.xml
under the<id>pypi</id>
<server>
entry:
<settings>
<servers>
<server>
<id>pypi</id>
<username>pypi-username</username>
<password>{encrypted-pypi-password}</password>
</server>
</servers>
</settings>
- Install
gpg
and distribute your key pair - see here. OS X users may need to execute:
export GPG_TTY=`tty`;
- Execute
mvn release:clean release:prepare
, answer the prompts for the versions and tags, and performmvn release:perform