The following artifacts are created as a result of releasing Fabric Chaincode Java:
- docker images
- Java libraries
Note: A docker image with a matching V.R version is required before releasing a new version of Fabric.
It's useful to create an issue to keep track of each release, for example Release v2.1.0.
The following tasks are required before releasing:
- Update version numbers in
build.gradle
files to the required version - Update test, sample, and docs files to match the new version
- Update the
COMPATIBILITY.md
See the [FABCJ-289] release: 2.2.0 LTS pull request for an example, although be careful to search for all versions in the codebase as they're easy to miss and things change!
Creating a GitHub release on the releases page will trigger the build to publish the new release.
When drafting the release, create a new tag for the new version (with a v
prefix), e.g. v2.1.4
See previous releases for examples of the title and description.
Log on to the nexus repository manager to manually publish the JARs which were pushed by the release build.
Find the results of the release build under Build Promotion > Staging Repositories and perform the following steps:
-
Close
You should see a series of close activities (see note)
-
Release using the automatically drop option
You should see a series of release activities (see note)
Note: you may need to refresh to update the activities view.
When the release has completed and the Staging Repositories list is empty, the Java chaincode libraries should appear in the maven repository. They can take some time to appear in the UI but they should exist in the repository sooner.
- Update version numbers in
build.gradle
files to the next version - Update test, sample, and docs files to match the new version
See the Bump version to 2.2.1 pull request for an example. It should include almost all the files changed to prepare for the release, except for the release notes and changelog which do not need updating.
The nightly Azure Pipeline Builds will also publish the 'dev' drivers to Artifactory. These can be accessed via the repository at
maven {
url "https://hyperledger.jfrog.io/hyperledger/fabric-maven"
}
These 'dev' drivers are built from the main branch only, and have a version format including the date for example 2.3.1.dev.20210303
. They can be accessed in a build file like this
dependencies {
compile group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '2.3.1.dev.+'
}