comparison init70-git.gradle @ 331:7bc7c6c79d7c

check for current release and hotfix branches when looking for latest snapshot
author Marc Davis <davis@ssdt-ohio.org>
date Mon, 06 Mar 2023 13:37:28 -0500
parents 70ea30cbe883
children 64a8d53c6d98
comparison
equal deleted inserted replaced
330:70ea30cbe883 331:7bc7c6c79d7c
790 println "git pull $repositoryUrl".execute().text 790 println "git pull $repositoryUrl".execute().text
791 } 791 }
792 def versions = "git tag".execute().text.split("\n") 792 def versions = "git tag".execute().text.split("\n")
793 .findAll { it != null || it != "" } 793 .findAll { it != null || it != "" }
794 .collect { it.replace("v", "") } 794 .collect { it.replace("v", "") }
795 .collect {
796 Version v = null
797 try {
798 v = new Version(*it.split('\\.')*.toInteger())
799 return v
800 } catch (ignored) {
801 //non semver tag found, ignoring
802 }
803 }
804 .sort { v1, v2 -> v2 <=> v1 }
805
806 def branches = "git branch --remote".execute().text.split("\n")
807 .findAll { it.contains('release') || it.contains('hotfix') }
808 .collect { it.replaceAll('\\s+', ' ').split(' ')[1].split('/')[2] - 'v' }
795 .collect { new Version(*it.split('\\.')*.toInteger()) } 809 .collect { new Version(*it.split('\\.')*.toInteger()) }
796 .sort { v1, v2 -> v2 <=> v1 } 810
797 return versions ? versions.first().nextSnapshot() : new Version().nextSnapshot() 811 def results = (branches + versions).sort { v1, v2 -> v2 <=> v1 }
812 if (results.isEmpty()) {
813 return new Version().nextSnapshot()
814 } else {
815 return results.first().nextSnapshot()
816 }
798 } catch (ex) { 817 } catch (ex) {
799 println ex 818 println ex
800 return new Version().nextSnapshot() 819 return new Version().nextSnapshot()
801 } 820 }
802 } 821 }