243 lines
9.3 KiB
Groovy
243 lines
9.3 KiB
Groovy
/**
|
|
* 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
|
|
*
|
|
* http://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.
|
|
*/
|
|
apply plugin: 'org.apache.fineract.gradle'
|
|
apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle"
|
|
|
|
fineract {
|
|
config {
|
|
username = "${findProperty('fineract.config.username')}"
|
|
password = "${findProperty('fineract.config.password')}"
|
|
|
|
doc {
|
|
url = 'git@github.com:apache/fineract-site.git'
|
|
directory = "${System.getProperty("java.io.tmpdir")}/fineract-site"
|
|
branch = "asf-site"
|
|
}
|
|
git {
|
|
dir = "${projectDir.absolutePath}/.git"
|
|
sections = [
|
|
[
|
|
section: "user",
|
|
name: "name",
|
|
value: "${findProperty('fineract.config.name')}",
|
|
],
|
|
[
|
|
section: "user",
|
|
name: "email",
|
|
value: "${findProperty('fineract.config.email')}",
|
|
],
|
|
[
|
|
section: "user",
|
|
name: "signingkey",
|
|
value: "${findProperty('fineract.config.gnupg.keyName')}",
|
|
],
|
|
[
|
|
section: "commit",
|
|
name: "gpgsign",
|
|
value: "true",
|
|
],
|
|
]
|
|
}
|
|
template {
|
|
templateDir = "${projectDir}/buildSrc/src/main/resources"
|
|
}
|
|
gpg {
|
|
keyName = "${findProperty('fineract.config.gnupg.keyName')}"
|
|
publicKeyring = "${findProperty('fineract.config.gnupg.publicKeyring')}"
|
|
secretKeyring = "${findProperty('fineract.config.gnupg.secretKeyring')}"
|
|
password = "${findProperty('fineract.config.gnupg.password')}"
|
|
}
|
|
smtp {
|
|
host = 'smtp.gmail.com'
|
|
username = "${findProperty('fineract.config.smtp.username')}"
|
|
password = "${findProperty('fineract.config.smtp.password')}"
|
|
tls = true
|
|
ssl = true
|
|
}
|
|
subversion {
|
|
username = "${findProperty('fineract.config.username')}"
|
|
password = "${findProperty('fineract.config.password')}"
|
|
revision = 'HEAD'
|
|
}
|
|
jira {
|
|
url = 'https://issues.apache.org/jira/rest/api/2/'
|
|
username = "${findProperty('fineract.config.username')}"
|
|
password = "${findProperty('fineract.config.password')}"
|
|
}
|
|
confluence {
|
|
url = 'https://cwiki.apache.org/confluence/rest/api/'
|
|
username = "${findProperty('fineract.config.username')}"
|
|
password = "${findProperty('fineract.config.password')}"
|
|
}
|
|
}
|
|
|
|
steps = [
|
|
test: [
|
|
order: 0,
|
|
description: 'Test',
|
|
email: [
|
|
from: "${findProperty('fineract.config.email')}",
|
|
to: "${findProperty('fineract.config.email')}",
|
|
mime: 'text/plain',
|
|
subject: "[FINERACT] [TEST] 📣 🏁 🗳️ 🚀 📈 🔀 🌠 Propose new release ${version}",
|
|
messageTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl"
|
|
]
|
|
],
|
|
subversion: [
|
|
url: 'https://dist.apache.org/repos/dist/dev/fineract',
|
|
directory: "${System.getProperty("java.io.tmpdir")}"
|
|
],
|
|
jira: [
|
|
query: "project in (\'FINERACT\') and fixVersion = ${findProperty('fineract.release.version')} and status in (CLOSED, RESOLVED)"
|
|
],
|
|
template: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/jira/changelog.txt.ftl"
|
|
],
|
|
gpg: [
|
|
files: [
|
|
"${projectDir}/buildSrc/build/libs/buildSrc.jar"
|
|
]
|
|
]
|
|
],
|
|
step1: [
|
|
order: 1,
|
|
description: 'Send heads-up email to dev mailing list',
|
|
email: [
|
|
from: "${findProperty('fineract.config.email')}",
|
|
name: "${findProperty('fineract.config.name')}",
|
|
to: "${findProperty('fineract.config.email')}",
|
|
// to: 'dev@fineract.apache.org',
|
|
mime: 'text/plain',
|
|
subjectTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step01.headsup.subject.ftl"
|
|
],
|
|
messageTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl"
|
|
]
|
|
]
|
|
],
|
|
step2: [
|
|
order: 2,
|
|
description: 'Clean up JIRA',
|
|
],
|
|
step3: [
|
|
order: 3,
|
|
description: 'Create a release branch',
|
|
email: [
|
|
from: "${findProperty('fineract.config.email')}",
|
|
name: "${findProperty('fineract.config.name')}",
|
|
to: "${findProperty('fineract.config.email')}",
|
|
// to: 'dev@fineract.apache.org',
|
|
mime: 'text/plain',
|
|
subjectTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step03.branch.subject.ftl"
|
|
],
|
|
messageTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step03.branch.message.ftl"
|
|
]
|
|
]
|
|
],
|
|
step4: [
|
|
order: 4,
|
|
description: 'Freeze JIRA version',
|
|
],
|
|
step5: [
|
|
order: 5,
|
|
description: 'Create release tag',
|
|
git: [
|
|
messageTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/git/release.step05.tag.message.ftl"
|
|
]
|
|
]
|
|
],
|
|
step6: [
|
|
order: 6,
|
|
description: 'Create a distribution',
|
|
],
|
|
step7: [
|
|
order: 7,
|
|
description: 'Sign the distribution artifacts',
|
|
gpg: [
|
|
files: [
|
|
"${rootDir}/fineract-war/build/distributions/apache-fineract-src-${project.version}.tar.gz",
|
|
"${rootDir}/fineract-war/build/distributions/apache-fineract-bin-${project.version}.tar.gz"
|
|
]
|
|
]
|
|
],
|
|
step8: [
|
|
order: 8,
|
|
description: 'Upload distribution artifacts to staging environment',
|
|
subversion: [
|
|
url: 'https://dist.apache.org/repos/dist/dev/fineract',
|
|
directory: "${System.getProperty("java.io.tmpdir")}/fineract-dist-dev"
|
|
],
|
|
],
|
|
step9: [
|
|
order: 9,
|
|
description: 'Verify distribution in staging environment',
|
|
],
|
|
step10: [
|
|
order: 10,
|
|
description: 'Start voting on the dev mailing list',
|
|
],
|
|
step11: [
|
|
order: 11,
|
|
description: 'Conclude the vote and announce results',
|
|
],
|
|
step12: [
|
|
order: 12,
|
|
description: 'Upload distribution artifacts to release environment',
|
|
subversion: [
|
|
url: 'https://dist.apache.org/repos/dist/release/fineract',
|
|
directory: "${System.getProperty("java.io.tmpdir")}/fineract-dist-release"
|
|
],
|
|
],
|
|
step13: [
|
|
order: 13,
|
|
description: 'Close release branch and merge to \'develop\'',
|
|
],
|
|
step14: [
|
|
order: 14,
|
|
description: 'Update website (not yet automated)',
|
|
],
|
|
step15: [
|
|
order: 15,
|
|
description: 'Send email to announcement mailing list',
|
|
jira: [
|
|
projectId: "12319420",
|
|
query: "project in (\'FINERACT\') and fixVersion = ${findProperty('fineract.release.version')} and status in (CLOSED, RESOLVED, WONTFIX)"
|
|
],
|
|
email: [
|
|
from: "${findProperty('fineract.config.email')}",
|
|
name: "${findProperty('fineract.config.name')}",
|
|
to: "${findProperty('fineract.config.email')}",
|
|
// to: 'dev@fineract.apache.org',
|
|
mime: 'text/plain',
|
|
subjectTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step15.announce.subject.ftl"
|
|
],
|
|
messageTemplate: [
|
|
templateFile: "${projectDir}/buildSrc/src/main/resources/email/release.step15.announce.message.ftl"
|
|
]
|
|
]
|
|
]
|
|
]
|
|
}
|