forked from apache/fineract
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
FINERACT-1470: Fineract release plugin
- Loading branch information
Showing
160 changed files
with
4,954 additions
and
638 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 https://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) <[email protected]>" [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>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
/** | ||
* Licensed to the Apache Software Foundation (ASF) under one | ||
* or more contributor license agreements. See the NOTICE file | ||
* distributed with this work for additional information | ||
* regarding copyright ownership. The ASF licenses this file | ||
* to you under the Apache License, Version 2.0 (the | ||
* "License"); you may not use this file except in compliance | ||
* with the License. You may obtain a copy of the License at | ||
* | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, | ||
* software distributed under the License is distributed on an | ||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
* KIND, either express or implied. See the License for the | ||
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
plugins { | ||
id 'io.spring.dependency-management' version '1.0.11.RELEASE' | ||
id 'groovy' | ||
id 'java-gradle-plugin' | ||
id 'groovy-gradle-plugin' | ||
} | ||
|
||
apply from: "${projectDir}/src/main/groovy/org.apache.fineract.dependencies.gradle" | ||
|
||
description = 'Fineract Gradle Plugin' | ||
|
||
repositories { | ||
gradlePluginPortal() | ||
mavenCentral() | ||
} | ||
|
||
dependencies { | ||
implementation 'com.sun.mail:jakarta.mail' | ||
implementation 'org.freemarker:freemarker' | ||
implementation 'org.tmatesoft.svnkit:svnkit' | ||
implementation 'org.bouncycastle:bcprov-jdk15on' | ||
implementation 'org.bouncycastle:bcpg-jdk15on' | ||
implementation 'org.eclipse.jgit:org.eclipse.jgit' | ||
implementation 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache' | ||
implementation 'com.vdurmont:semver4j' | ||
implementation 'org.beryx:text-io' | ||
implementation 'commons-io:commons-io' | ||
implementation 'com.squareup.okhttp3:okhttp' | ||
implementation 'com.squareup.okhttp3:logging-interceptor' | ||
implementation 'com.squareup.retrofit2:retrofit' | ||
implementation 'com.squareup.retrofit2:converter-jackson' | ||
implementation 'com.fasterxml.jackson.core:jackson-databind' | ||
} |
Oops, something went wrong.