import versioning.GitVersioner import versioning.RevoiceVersionInfo import org.joda.time.DateTime apply plugin: 'maven-publish' apply from: 'shared.gradle' group = 'revoice' apply plugin: 'idea' idea { project { languageLevel = 'JDK_1_7' } } def gitInfo = GitVersioner.versionForDir(project.rootDir) RevoiceVersionInfo versionInfo if (gitInfo && 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 RevoiceVersionInfo( majorVersion: m.group(1) as int, minorVersion: m.group(2) as int, maintenanceVersion: m.group(4) ? (m.group(4) as int) : null, localChanges: gitInfo.localChanges, commitDate: gitInfo.commitDate, commitSHA: gitInfo.commitSHA, commitURL: gitInfo.commitURL ) } else { versionInfo = new RevoiceVersionInfo( majorVersion: project.majorVersion as int, minorVersion: project.minorVersion as int, maintenanceVersion: project.maintenanceVersion as int, suffix: '', localChanges: gitInfo ? gitInfo.localChanges : true, commitDate: gitInfo ? gitInfo.commitDate : new DateTime(), commitSHA: gitInfo ? gitInfo.commitSHA : "", commitURL: gitInfo ? gitInfo.commitURL : "", commitCount: gitInfo ? (gitInfo.commitCount as int) : null ) } project.ext.revoiceVersionInfo = versionInfo project.version = versionInfo.asMavenVersion() apply from: 'publish.gradle' task wrapper(type: Wrapper) { gradleVersion = '2.4' }