mirror of
https://github.com/rehlds/reapi.git
synced 2024-12-27 07:05:28 +03:00
54 lines
1.2 KiB
Groovy
54 lines
1.2 KiB
Groovy
import versioning.GitVersioner
|
|
import versioning.ReapiVersionInfo
|
|
|
|
apply from: 'shared.gradle'
|
|
group = 'reapi'
|
|
|
|
apply plugin: 'idea'
|
|
|
|
idea {
|
|
project {
|
|
languageLevel = 'JDK_1_7'
|
|
}
|
|
}
|
|
|
|
def gitInfo = GitVersioner.versionForDir(project.rootDir)
|
|
if (!gitInfo) {
|
|
throw new RuntimeException('Running outside git repository')
|
|
}
|
|
|
|
ReapiVersionInfo versionInfo
|
|
if (gitInfo.tag && gitInfo.tag[0] == 'v') {
|
|
|
|
def m = gitInfo.tag =~ /^v(\d+)\.(\d+)(\.(\d+))?$/
|
|
if (!m.find()) {
|
|
throw new RuntimeException("Invalid git version tag name ${gitInfo.tag}")
|
|
}
|
|
|
|
versionInfo = new ReapiVersionInfo(
|
|
majorVersion: m.group(1) as int,
|
|
minorVersion: m.group(2) as int,
|
|
maintenanceVersion: m.group(4) ? (m.group(4) as int) : null,
|
|
countCommit: gitInfo.countCommit,
|
|
lastCommitDate: gitInfo.lastCommitDate
|
|
)
|
|
} else {
|
|
|
|
versionInfo = new ReapiVersionInfo(
|
|
majorVersion: project.majorVersion as int,
|
|
minorVersion: project.minorVersion as int,
|
|
specialVersion: project.specialVersion,
|
|
countCommit: gitInfo.countCommit,
|
|
lastCommitDate: gitInfo.lastCommitDate
|
|
)
|
|
}
|
|
|
|
project.ext.reapiVersionInfo = versionInfo
|
|
project.version = versionInfo.asVersion()
|
|
|
|
apply from: 'publish.gradle'
|
|
|
|
task wrapper(type: Wrapper) {
|
|
gradleVersion = '2.4'
|
|
}
|