FINERACT-1470: Fineract release plugin
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
b185937962
commit
40eb547a5c
@@ -457,59 +457,6 @@ Upgrades sometimes require package name changes. Changed code should ideally ha
|
||||
Our `ClasspathHellDuplicatesCheckRuleTest` detects classes that appear in more than 1 JAR. If a version bump in [`build.gradle`](https://github.com/search?q=repo%3Aapache%2Ffineract+filename%3Abuild.gradle&type=Code&ref=advsearch&l=&l=) causes changes in transitives dependencies, then you may have to add related `exclude` to our [`dependencies.gradle`](https://github.com/apache/fineract/search?q=dependencies.gradle). Running `./gradlew dependencies` helps to understand what is required.
|
||||
|
||||
|
||||
Releasing
|
||||
---------
|
||||
|
||||
[How to Release Apache Fineract](https://cwiki.apache.org/confluence/x/DRwIB) documents the process how we make the source code that is available here in this Git repository into a binary release tar.gz available on http://fineract.apache.org.
|
||||
|
||||
Before you use Gradle to create a release you need to make sure that you provide the proper GPG parameters. You have to options:
|
||||
|
||||
1. Provide the parameters via ~/.gradle/gradle.properties in your home folder:
|
||||
```
|
||||
signing.gnupg.keyName=7890ABCD
|
||||
signing.gnupg.passphrase=secret
|
||||
```
|
||||
|
||||
IMPORTANT: Do not set your GPG secrets in one of the project gradle.properties and double check that you are not accidentally committing them to Git.
|
||||
|
||||
The release command would look then look like this:
|
||||
```
|
||||
./gradlew -Pfineract.release clean build
|
||||
```
|
||||
|
||||
2. Another way to provide these parameters are via project parameters on the command line. A release command would then look like this:
|
||||
```
|
||||
./gradlew -Pfineract.release -Psigning.gnupg.keyName=7890ABCD -Psigning.gnupg.passphrase=secret clean build
|
||||
```
|
||||
|
||||
NOTE: Let's assume your GPG key ID would be "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD" then you have to use the last 8 characters (i. e. "7890ABCD") for the signing plugin property "signing.gnupg.keyName".
|
||||
|
||||
Above tasks will create the following files in folder build/distributions:
|
||||
|
||||
- binary distribution file: apache-fineract-1.6.0-binary.tar.gz
|
||||
- ASCII armored signature for binary distribution: apache-fineract-1.6.0-binary.tar.gz.asc
|
||||
- SHA512 checksum for binary distribution: apache-fineract-1.6.0-binary.tar.gz.sha512
|
||||
- source distribution file: apache-fineract-1.6.0-src.tar.gz
|
||||
- ASCII armored signature for source distribution: apache-fineract-1.6.0-src.tar.gz.asc
|
||||
- SHA512 checksum for source distribution: apache-fineract-1.6.0-src.tar.gz.sha512
|
||||
|
||||
The signatures are automatically verified by the build script. It will throw an exception if the verification fails.
|
||||
|
||||
Additionally, you can verify the validity of the release distribution files e. g. with:
|
||||
```
|
||||
gpg --verify build/distributions/apache-fineract-1.6.0-binary.tar.gz.asc
|
||||
```
|
||||
|
||||
The output should look somewhat like this:
|
||||
```
|
||||
gpg: assuming signed data in 'build/distributions/apache-fineract-1.6.0-binary.tgz'
|
||||
gpg: Signature made Mi 26 Aug 2020 17:17:45 CEST
|
||||
gpg: using RSA key ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD
|
||||
gpg: Good signature from "Aleksandar Vidakovic (Apache Fineract Release Manager) <aleks@apache.org>" [ultimate]
|
||||
```
|
||||
|
||||
NOTE: All commands shown above are assuming that the current working directory is the project root folder.
|
||||
|
||||
More Information
|
||||
============
|
||||
More details of the project can be found at <https://cwiki.apache.org/confluence/display/FINERACT>.
|
||||
|
||||
Reference in New Issue
Block a user