annotate init70-git.gradle @ 361:7b6d30651db7 tip

Cygwin has an ENV that container 'CI'. Causing build issues. Just check for 'github' to determine if it is a local build
author davis@ssdt-ohio.org
date Thu, 16 Nov 2023 15:52:40 -0500
parents 64a8d53c6d98
children
rev   line source
311
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
1 import groovy.transform.Sortable
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
2 import groovy.transform.ToString
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
3 import groovy.transform.TupleConstructor
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
4 import org.gradle.util.GradleVersion
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
5
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
6 buildscript {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
7 repositories {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
8 maven { url 'https://docker.ssdt.io/artifactory/ssdt-repo' }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
9 maven { url 'https://docker.ssdt.io/artifactory/gradle-plugins' }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
10 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
11 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
12
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
13 // buildScan { termsOfServiceUrl = 'https://gradle.com/terms-of-service'; termsOfServiceAgree = 'yes' }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
14
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
15 final GradleVersion gradleCurrent = GradleVersion.current()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
16 final GradleVersion gradleV70 = GradleVersion.version('7.2')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
17
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
18 if (gradleCurrent < gradleV70) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
19 throw new RuntimeException("This init script requires Gradle version 7.2 or higher (bugs in earlier version of Gradle 7.0 and 7.1)")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
20 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
21
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
22 gradle.ext.ssdtDevelkitLocation = gradle.ext.has('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation : 'http://hg.ssdt-ohio.org/browse/public/develkit'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
23
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
24 ant.property(file: System.getProperty('user.home') + "/.ssdt/private.properties")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
25 gradle.ext.ivyUserDir = ant.properties['ivy.default.ivy.user.dir'] ?: System.getProperty('user.home') + "/.ivy2"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
26
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
27 gradle.ext.ssdtProjectId = System.getenv('bamboo_project_id') ?: rootProject.name
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
28
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
29 gradle.addListener(new ArtifactoryGradleSettings())
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
30
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
31 def hostname
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
32 try {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
33 hostname = "hostname".execute().text.toLowerCase().readLines().first()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
34 } catch (e) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
35 hostname = 'unknown'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
36 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
37
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
38 gradle.ext.bambooBuild = System.getenv().any {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
39 it.key.toLowerCase().contains('bamboo')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
40 } || hostname?.startsWith('ssdt-ba')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
41
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
42 if (!rootProject.hasProperty("bambooLocalBuild")) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
43 gradle.ext.bambooLocalBuild = false
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
44 } else {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
45 gradle.ext.bambooLocalBuild = rootProject.bambooLocalBuild.toBoolean()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
46 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
47
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
48 if (gradle.bambooLocalBuild) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
49 println "Bamboo local build active"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
50 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
51
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
52 gradle.ext.bambooPlan = (System.getenv('BAMBOO_PLAN') ?: 'UNKNOWN-UNKNOWN-JOB1').split('-')[0..1].join('-')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
53 logger.info "Bamboo plan: ${gradle.bambooPlan}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
54
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
55 gradle.ext.buildTimestamp = System.currentTimeMillis().toString().padLeft(14, '0')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
56
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
57 gradle.ext.hgRepositoryUrl = ""
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
58
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
59 try {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
60 gradle.ext.hgRepositoryUrl = ("hg path".execute().text.split('=') ?: ['', ''])[1].trim()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
61 } catch (e) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
62 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
63
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
64 def springModuleTranslator = [
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
65 'spring-transaction': 'spring-tx',
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
66 'spring-web-servlet': 'spring-webmvc',
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
67 ].withDefault { it }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
68
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
69 gradle.ext.normalizeSpring = { DependencyResolveDetails details ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
70 if (details.requested.group == 'org.springframework' && details.requested.name.startsWith('org.springframework.')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
71 def shortName = springModuleTranslator[details.requested.name.replace('org.springframework.', 'spring-').replace('.', '-')]
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
72 details.useTarget(group: 'org.springframework', name: shortName, version: details.requested.version)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
73 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
74 if (details.requested.group == 'org.springframework.security' && details.requested.name.startsWith('org.springframework.')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
75 def shortName = springModuleTranslator[details.requested.name.replace('org.springframework.', 'spring-').replace('.', '-')]
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
76 details.useTarget("${details.requested.group}:$shortName:${details.requested.version}")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
77 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
78 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
79
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
80 gradle.ext.runtimeInfo = new RuntimeInfo()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
81
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
82
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
83 if (System.env.DOCKER_HOST ) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
84 if (System.env.DOCKER_HOST.contains('tcp:')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
85 gradle.ext.dockerEngineUrl = "https:${System.env.DOCKER_HOST?.minus('tcp:')}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
86 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
87 gradle.ext.dockerEngineUrl = System.env.DOCKER_HOST
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
88 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
89
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
90 setBranchInfo()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
91
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
92 loadEnvironments()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
93
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
94 gradle.environment.put('hgRepositoryUrl', gradle.hgRepositoryUrl)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
95 gradle.environment.put('branchName', gradle.branch.name)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
96 gradle.environment.put('branchStream', gradle.branch.stream)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
97 gradle.environment.put('branchHash', gradle.branch.hash)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
98
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
99
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
100 def cacheTimeout = 60 * 60 * 8
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
101 if (gradle.environment['dependencyTimeout']) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
102 cacheTimeout = gradle.environment['dependencyTimeout'] as Integer
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
103 println "setting changing dependency timeout to $cacheTimeout seconds"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
104 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
105
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
106 gradle.ext.cacheTimeout = cacheTimeout
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
107
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
108 rootProject.ext.indyCapable = {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
109 boolean capable = true
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
110 try {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
111 Class.forName('java.lang.invoke.MethodHandle')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
112 } catch (e) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
113 capable = false
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
114 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
115 capable && !rootProject.hasProperty('skipIndy')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
116 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
117
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
118 rootProject.ext.useIndy = {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
119 boolean indy = false
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
120 // first, check if a system property activates indy support
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
121 indy |= System.hasProperty('indy') && Boolean.valueOf(System.getProperty('indy'))
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
122
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
123 // check ssdt environment for indy property.
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
124 indy |= (gradle.environment.indy) ? gradle.environment.indy.toBoolean() : false
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
125
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
126 // check if the main project has an extension property setting indy (-Pindy).
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
127 if (rootProject.hasProperty('indy')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
128 indy = (Boolean.valueOf(rootProject.indy))
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
129 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
130
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
131 // set the groovy runtime system property to ensure forked junit test will get the indy flag properly
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
132 if (indy && rootProject.indyCapable()) System.setProperty("groovy.target.indy", "true")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
133
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
134 indy && rootProject.indyCapable()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
135 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
136
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
137 println "Indy available: ${rootProject.indyCapable()} enabled: ${rootProject.useIndy()}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
138
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
139 if (gradle.bambooBuild) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
140
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
141 file('build-number.txt').text = "build.number=${gradle.branch.buildNumber ?: -1 }\n"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
142 logger.info "applying SSDT artifactory Gradle Settings (bamboo: $gradle.bambooBuild host: $hostname)"
328
def784e473ec wrap in unsecure uri
Marc Davis <davis@ssdt-ohio.org>
parents: 326
diff changeset
143 apply from: resources.text.fromInsecureUri("${gradle.ssdtDevelkitLocation}/artifactory70.gradle")
311
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
144 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
145
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
146 if (!rootProject.hasProperty('disableMetrics')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
147 apply from: resources.text.fromInsecureUri("${gradle.ssdtDevelkitLocation}/metrics70.gradle")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
148 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
149
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
150 rootProject.afterEvaluate { r ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
151 if (gradle.bambooBuild && r.hasProperty('requireJavaVersion')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
152 gradle.runtimeInfo.requireJava( r.getProperty('requireJavaVersion') )
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
153 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
154 if (!gradle.bambooBuild && !r.file('.idea/copyright/ODE.xml').exists() ) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
155 updateCopyrightProfile(r)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
156 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
157 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
158
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
159 def findComponent(project, name) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
160 project.component.find { it.@name == name }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
161 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
162
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
163 wrapper {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
164 distributionType = org.gradle.api.tasks.wrapper.Wrapper.DistributionType.ALL
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
165 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
166
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
167 allprojects {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
168
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
169 configurations.all {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
170 resolutionStrategy.cacheChangingModulesFor gradle.cacheTimeout, 'seconds'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
171 resolutionStrategy.cacheDynamicVersionsFor gradle.cacheTimeout, 'seconds'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
172 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
173 configurations.all {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
174 resolutionStrategy.eachDependency { DependencyResolveDetails details ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
175 if (details.requested.group == 'org.ssdt_ohio' && !details.requested.version ) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
176 details.useVersion( "latest.${gradle.branch.defaultDependencyStatus}" )
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
177 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
178 if (details.requested.version == 'default') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
179 details.useVersion("latest.${gradle.branch.defaultDependencyStatus}" )
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
180 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
181 if (project.hasProperty("overrideCommon")) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
182 if (details.requested.group == 'org.ssdt_ohio' && details.requested.name.contains('ssdt.common.')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
183 details.useVersion(project.overrideCommon)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
184 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
185 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
186 if (project.hasProperty("overrideVui")) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
187 if (details.requested.group == 'org.ssdt_ohio' && details.requested.name.startsWith('vui.')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
188 details.useVersion(project.overrideVui)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
189 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
190 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
191 if (project.hasProperty("overrideUsasCore")) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
192 if (details.requested.group == 'org.ssdt_ohio' && details.requested.name.startsWith('usas.') && !details.requested.name.startsWith('usas.vui')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
193 details.useVersion(project.overrideUsasCore)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
194 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
195 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
196 if (project.hasProperty("overrideUspsCore")) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
197 if (details.requested.group == 'org.ssdt_ohio' && details.requested.name.startsWith('usps.') && !details.requested.name.startsWith('usps.vui')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
198 details.useVersion(project.overrideUspsCore)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
199 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
200 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
201
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
202 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
203 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
204
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
205 task cleanLocal(description: "removes all artifacts from developer's local repository") {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
206
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
207 doLast {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
208 def local = project.repositories.find { it.name == 'local' }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
209 if (local) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
210 logger.info "removing local repo: $it"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
211 new File(System.properties['user.home'] + "/.ssdt/local-repo").deleteDir()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
212 def localDir = new File(gradle.ivyUserDir + "/local")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
213 localDir.deleteDir()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
214 logger.info "verifying removal of local repo"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
215 if (localDir.exists()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
216 throw new org.gradle.api.GradleException("Unable to clean ${localDir}. Files may be locked by another process.")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
217 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
218 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
219 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
220 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
221
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
222 cleanLocal.onlyIf {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
223 project.repositories.any { it.name == 'local' }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
224 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
225
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
226 project.ext.previousBuildenv = project.file('build/buildenv.txt').exists() ? project.file('build/buildenv.txt').text : 'none'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
227
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
228 tasks.addRule("Pattern: <environment>As[Test]Properties: Generates <environment>.properties as resource or Test resource") { String taskName ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
229 if ((taskName - 'Test').endsWith("AsProperties") && !taskName.startsWith('clean')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
230 // def t = taskName.contains('Test') ? processTestResources.destinationDir : processResources.destinationDir
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
231 def t = taskName.contains('Test') ? sourceSets.test.output.resourcesDir : sourceSets.main.output.resourcesDir
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
232 def e = (taskName - 'Test' - 'AsProperties').capitalize()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
233 task(taskName) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
234 ext.outputDir = t
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
235 ext.propertyFile = "${e.toLowerCase()}.properties"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
236 ext.buildenv = project.file('build/buildenv.txt')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
237 inputs.files project.file("../environment${e}.groovy"), project.file("../private${e}.groovy"), project.file('../private.properties')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
238 outputs.files new File(outputDir,propertyFile), buildenv
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
239 outputs.upToDateWhen {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
240 gradle.env == project.previousBuildenv && outputs.getFiles().every { it.exists() }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
241 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
242 doLast {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
243 t.mkdirs()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
244 outputDir.mkdirs()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
245 buildenv.text = gradle.env
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
246 def ps = gradle."environment${e}".toProperties()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
247 ps['ssdt.project'] = project.name
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
248 def pf = new File(outputDir,propertyFile)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
249 ext.outputPropertyFile = pf
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
250 ps.store(pf.newOutputStream(), "by $taskName of $this")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
251 def l = pf.readLines().sort()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
252 pf.text = l.join('\n').replaceAll("\\.PARENT","")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
253 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
254 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
255 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
256 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
257
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
258 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
259
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
260 subprojects {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
261
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
262 it.ext.environment = gradle.environment
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
263
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
264 dependencyLocking {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
265 if (gradle.branch.isRelease()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
266 lockAllConfigurations()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
267 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
268 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
269
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
270 task("releaseLock" ) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
271 description = "Create release dependencies Lock files"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
272 doFirst {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
273 assert gradle.startParameter.writeDependencyLocks : "must include --write-locks or --update-locks option when locking dependencies"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
274 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
275 doLast {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
276 if (!gradle.branch.isRelease()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
277 throw new BuildCancelledException("releaseLock is only valid on release or hotfix branch.")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
278 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
279 configurations.findAll {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
280 it.canBeResolved
330
70ea30cbe883 update locking strat for git specific gradle script.
Marc Davis <davis@ssdt-ohio.org>
parents: 328
diff changeset
281 }
70ea30cbe883 update locking strat for git specific gradle script.
Marc Davis <davis@ssdt-ohio.org>
parents: 328
diff changeset
282 .each {
311
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
283 it.resolve()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
284 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
285 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
286 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
287
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
288 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
289
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
290 rootProject.afterEvaluate {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
291
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
292 tasks.addRule("release{Major|Minor|Patch|n.n.n}: create release branch or update release Lock file") { String taskName ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
293
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
294 def matcher = (taskName =~ /^release(Major|Minor|Patch|\d{1,3}\.\d{1,3}\.\d{1,3})$/)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
295 if (matcher.matches()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
296
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
297 task('doReleaseBranch') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
298 ext.requested = matcher[0][1].toLowerCase()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
299 doLast {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
300 def releaseVersion = determineReleaseVersion(requested)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
301 def releaseStream = releaseVersion.isHotfix() ? 'hotfix' : 'release'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
302
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
303 println "-" * 60
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
304 println "Preparing to create branch\n"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
305 println "\tproject:\t${gradle.rootProject.name}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
306 println "\tcurrent:\t${gradle.branch} ($gradle.branch.version)"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
307 println()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
308 println "\ttype :\t${releaseStream.toUpperCase()}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
309 println "\tversion:\t${releaseVersion}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
310 println "\ttarget :\t${releaseStream}/v${releaseVersion}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
311 println()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
312 println("-" * 60)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
313 println "DRY RUN".center(60)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
314 println("-" * 60)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
315
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
316 println "hg flow ${releaseStream} start v${releaseVersion} --dirty --dry-run".execute().text
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
317
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
318 println "-" * 60
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
319
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
320 if (!confirmPrompt("Continue?")) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
321 throw new BuildCancelledException("release branching canceled by user request")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
322 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
323
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
324 println "hg flow ${releaseStream} start v${releaseVersion} --dirty".execute().text
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
325 println "hg update ${releaseStream}/v${releaseVersion}".execute().text
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
326
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
327 setBranchInfo()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
328
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
329 println "-" * 60
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
330 println " Be sure to execute 'releaseLock' task to update the release.lock file before proceeding."
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
331 println "-" * 60
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
332
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
333 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
334 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
335
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
336
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
337 def branchTasks = ['doReleaseBranch']
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
338
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
339 task(taskName) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
340 dependsOn branchTasks
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
341 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
342
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
343 branchTasks.tail().inject(branchTasks.head()) { a, b ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
344 tasks[b].mustRunAfter a
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
345 b
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
346 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
347
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
348 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
349 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
350
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
351 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
352
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
353 private static String readLine(String message, String defaultValue = null) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
354 String _message = "> $message" + (defaultValue ? " [$defaultValue] " : "")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
355 if (System.console()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
356 return System.console().readLine(_message) ?: defaultValue
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
357 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
358 println "$_message "
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
359
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
360 System.in.newReader().readLine() ?: defaultValue
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
361 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
362
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
363 private static boolean confirmPrompt(String message, boolean defaultValue = false) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
364 String defaultStr = defaultValue ? 'Y' : 'n'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
365 String consoleVal = readLine("${message} (Y|n)", defaultStr)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
366 if (consoleVal) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
367 return consoleVal.toLowerCase().startsWith('y')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
368 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
369
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
370 defaultValue
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
371 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
372
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
373 private Version determineReleaseVersion(String requested) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
374 if (requested == 'major') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
375 return gradle.branch.version.nextMajor()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
376 } else if (requested == 'minor') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
377 return gradle.branch.version.nextMinor()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
378 } else if (requested == 'patch') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
379 return gradle.branch.version.nextPatch()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
380 } else {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
381 return new Version(*requested.split(/\./)*.toInteger(), false)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
382 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
383 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
384
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
385 class ArtifactoryGradleSettings extends BuildAdapter implements BuildListener {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
386
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
387 def void projectsEvaluated(Gradle gradle) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
388 def ssdtArtifactory = 'https://docker.ssdt.io/artifactory'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
389 Project root = gradle.getRootProject()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
390
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
391
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
392 def branchVersioning = gradle.rootProject.version == 'unspecified'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
393
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
394 root.allprojects {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
395
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
396 def thisProject = delegate
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
397 thisProject.status = 'integration'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
398 if (gradle.branchStream) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
399 if (branchVersioning) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
400 thisProject.version = gradle.branch.version
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
401 thisProject.status = gradle.branch.defaultDependencyStatus
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
402 } else {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
403
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
404 thisProject.status = 'integration'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
405 def fixupVersion = thisProject.version - ".SNAPSHOT"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
406 if (gradle.branchStream == 'feature') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
407 fixupVersion = fixupVersion + ".SNAPSHOT"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
408 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
409 if (gradle.branchStream == 'develop') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
410 fixupVersion = fixupVersion + ".SNAPSHOT"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
411 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
412 if (gradle.branchStream in ['production', 'release', 'hotfix']) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
413 thisProject.status = 'release'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
414 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
415 thisProject.version = fixupVersion
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
416 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
417 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
418
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
419 repositories {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
420
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
421 if (!gradle.bambooBuild || gradle.bambooLocalBuild) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
422 ivy {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
423 name = 'local'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
424 artifactPattern gradle.ivyUserDir + '/local/[artifact]-[revision](-[classifier]).[ext]'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
425 ivyPattern gradle.ivyUserDir + "/local/[module]-ivy-[revision].xml"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
426 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
427 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
428
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
429 if (!gradle.bambooBuild) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
430 mavenLocal()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
431 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
432
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
433 if (gradle.branchStream == 'feature') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
434 ivy {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
435 name = 'ssdt-branches'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
436 url = "${ssdtArtifactory}/ssdt-branches/${gradle.branchHash}/"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
437 patternLayout() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
438 artifact "[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
439 ivy "[organization]/[module]/ivy-[revision].xml"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
440 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
441 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
442 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
443
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
444 ivy {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
445 name = 'ssdt-releases'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
446 url = "${ssdtArtifactory}/ssdt-releases"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
447 patternLayout() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
448 artifact "[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
449 artifact "[organization]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
450 ivy "[organization]/[module]/ivy-[revision].xml"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
451 m2compatible = true
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
452 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
453 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
454
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
455 ivy {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
456 name = 'ssdt-snapshots'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
457 url = "${ssdtArtifactory}/ssdt-snapshots"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
458 patternLayout() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
459 artifact "[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
460 artifact "[organization]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
461 ivy "[organization]/[module]/ivy-[revision].xml"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
462 m2compatible = true
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
463 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
464 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
465
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
466 maven {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
467 name = 'ssdt-repository'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
468 url = "${ssdtArtifactory}/repository"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
469 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
470
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
471 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
472
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
473 def remoteRepos = thisProject.repositories.findAll { it.hasProperty('url') && !(it.name.toLowerCase().contains('local') || it.url.toString().contains('ssdt')) }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
474 if (remoteRepos) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
475 logger.warn "WARNING: Remote repositories configured for $thisProject:\n" + remoteRepos.collect { "\t$it.name $it.url " }.join('\n') + "\n Moved to lowest priority..."
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
476 remoteRepos.each {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
477 thisProject.repositories.remove(it)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
478 thisProject.repositories.addLast(it)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
479 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
480 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
481 logger.info "$thisProject configured repositories:\n" + thisProject.repositories.collect {"\t$it.name ${it.hasProperty('url') ? it.url : '' }" }.join('\n')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
482
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
483 /*
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
484 * Add a new task for local repos that declare an Ivy publish configuration
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
485 * This is a workaround for how the older versions handled the publishLocal
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
486 * task and the updateArchive option that was removed in gradle 7.0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
487 */
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
488 if (thisProject.repositories.find { it.name == 'local' } && thisProject.getTasksByName('publishIvyPublicationToLocalRepository', false)) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
489 thisProject.tasks.create("publishLocal") {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
490 description = "Publishes this projects artifacts to developer's local repository"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
491 dependsOn = ["publishIvyPublicationToLocalRepository"]
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
492 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
493 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
494
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
495 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
496
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
497 root.subprojects { p ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
498 if (root.useIndy()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
499 println "enabling indy compilation on $p"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
500 [compileGroovy.groovyOptions, compileTestGroovy.groovyOptions]*.with {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
501 optimizationOptions = [indy: true]
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
502 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
503 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
504 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
505 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
506 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
507
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
508
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
509 task showEnvironments {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
510
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
511 doLast {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
512 println "Defined environments: $gradle.environments"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
513 gradle.environments.each { e ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
514 println "\n $e:"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
515 gradle.getProperty(e).flatten().sort { it.key }.each { k, v ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
516 println String.format(' %25s = %s', k, k.contains('password') ? "********" : v)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
517 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
518 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
519 if (logger.isInfoEnabled()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
520 println "System properties:"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
521 System.properties.each { println " $it" }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
522 println "env variables:"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
523 System.getenv().each { println " $it" }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
524 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
525 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
526 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
527
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
528 def loadEnvironments() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
529 def developerPrivate = new Properties()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
530 if (file('private.properties').exists()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
531 developerPrivate.load(file('private.properties').newReader())
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
532 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
533 def envOverrides = [:]
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
534
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
535 if (!hasProperty('env')) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
536 gradle.ext.env = developerPrivate.env ?: 'dev'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
537 } else {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
538 def values = getProperty('env').split(',')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
539 gradle.ext.env = values.first()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
540 values.tail().each {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
541 def (k, v) = it.split('=')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
542 envOverrides.put(k, v)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
543 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
544 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
545
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
546 println "Environment is: $gradle.env ($envOverrides)"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
547 def slurper = new ConfigSlurper(gradle.env)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
548 slurper.setBinding(['gradle': gradle])
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
549
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
550 def environment = slurper.parse(
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
551 '''deploy.mode="production"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
552 environments {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
553 test { deploy.mode="test" }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
554 dev { deploy.mode="development"}
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
555 }''')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
556 if (developerPrivate['deploy.mode']) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
557 environment.put('deploy.mode', developerPrivate['deploy.mode'])
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
558 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
559
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
560 environment.put('branchInfo',gradle.branch)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
561 environment.put('branchVersion',gradle.branch.version.toString())
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
562 def environments = []
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
563 gradle.ext.environment = environment
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
564 file('.').listFiles().findAll { it.name ==~ /^environment.*\.groovy$/ }.sort { it.name }.each { envFile ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
565 def envName = envFile.name - '.groovy'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
566 def privateFile = file("private" + envName - "environment" + ".groovy")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
567 logger.info("loading environment $envFile.name")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
568
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
569 def envCfg = slurper.parse(envFile.toURL())
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
570 envCfg.merge(slurper.parse(developerPrivate))
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
571 envCfg.put('ssdt.projectid', gradle.ssdtProjectId)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
572 envCfg.put('ssdt.environment', gradle.env)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
573 if (privateFile.exists()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
574 logger.info("loading private environment $privateFile")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
575 envCfg.merge(slurper.parse(privateFile.toURL()))
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
576 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
577
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
578 gradle.rootProject.getProperties().find { it.key.startsWith('environment') }.each {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
579 it.value.split(',').each { p ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
580 def (k, v) = p.split('=')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
581 logger.info("$envName: overriding " + k + "=" + v + " in $it")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
582 envCfg.put(k, v)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
583 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
584 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
585
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
586 envOverrides.each { k, v ->
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
587 logger.info("$envName: overriding " + k + "=" + v)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
588 envCfg.put(k, v)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
589 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
590 environment.merge(envCfg)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
591 if (envName != 'environment') {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
592 gradle.ext[envName] = envCfg
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
593 environments << envName
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
594 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
595 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
596 environment.merge(slurper.parse(developerPrivate))
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
597 def deployMode = environment.deploy.mode ?: 'development'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
598 environments.each { gradle.ext[it].put('ssdt.deployment.mode', deployMode) }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
599 environments << 'environment'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
600 gradle.ext.environments = environments
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
601
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
602 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
603
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
604 def updateCopyrightProfile(Project r) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
605 r.file('.idea/copyright').mkdirs()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
606 r.file('.idea/copyright/ODE.xml').text =
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
607 '''<component name="CopyrightManager">
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
608 <copyright>
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
609 <option name="notice" value="Copyright (c) &amp;#36;today.year. Ohio Department of Education. - All Rights Reserved.&#10;Unauthorized copying of this file, in any medium, is strictly prohibited.&#10;Written by the State Software Development Team (http://ssdt.oecn.k12.oh.us/)&#10;" />
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
610 <option name="myName" value="ODE" />
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
611 </copyright>
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
612 </component>'''
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
613
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
614 r.file('.idea/copyright/profiles_settings.xml').text =
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
615 '''<component name="CopyrightManager">
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
616 <settings default="ODE" />
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
617 </component>'''
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
618
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
619 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
620
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
621 @ToString(includeNames=true)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
622 class RuntimeInfo {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
623 // OS memory in megabytes, zero if unknown
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
624 int systemMemory = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
625 int systemFreeMemory = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
626 String javaVersion = System.getProperty('java.version')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
627
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
628 RuntimeInfo() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
629 try {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
630 new File('/proc/meminfo').readLines().findAll { it.startsWith 'Mem' }.collect { it.split(/\s+/) }.each {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
631 int value = (it[1] as Long) / 1024
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
632 if (it[0].startsWith('MemTotal')) { systemMemory = value }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
633 if (it[0].startsWith('MemFree')) { systemFreeMemory = value }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
634 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
635
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
636 } catch (e) { }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
637
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
638 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
639
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
640 void requireMemory(int megabytes) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
641 if (systemFreeMemory > 0 && systemFreeMemory < megabytes) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
642 println "WARNING: potentially insufficent OS memory for this build"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
643 // throw new GradleException("insufficent free OS memory for this build (available: ${systemFreeMemory}m, required: ${megabytes}m)")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
644 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
645 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
646 /**
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
647 * Returns maximum memory available upto the value specified.
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
648 */
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
649 int maxMemory(int megabytes) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
650 if (systemFreeMemory) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
651 [systemFreeMemory,megabytes].min()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
652 } else { megabytes }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
653
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
654 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
655
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
656 void requireJava(String version) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
657
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
658 if ( version && !javaVersion.startsWith(version)) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
659 throw new GradleException("Requires java version $version but running under $javaVersion")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
660 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
661 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
662
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
663 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
664
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
665
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
666 @TupleConstructor
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
667 @Sortable
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
668 class Version {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
669
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
670 Integer major = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
671 Integer minor = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
672 Integer patch = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
673 Boolean snapshot = true
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
674
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
675 Integer previousMinor = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
676 Integer previousPatch = 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
677
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
678 Version nextMajor() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
679 new Version(major + 1, 0, 0, false)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
680 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
681
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
682 Version nextMinor() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
683 if (snapshot) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
684 new Version(major, minor , 0,false)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
685 } else {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
686 new Version(major, minor + 1, 0,false)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
687 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
688 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
689
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
690 Version nextPatch() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
691 if (snapshot) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
692 new Version(major, previousMinor, previousPatch + 1,false)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
693 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
694 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
695
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
696 Version nextSnapshot() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
697 new Version(major, minor + 1, 0,true,minor,patch)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
698 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
699
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
700 boolean isHotfix() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
701 !snapshot && patch > 0
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
702 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
703
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
704 String toString() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
705 "${major}.${minor}.${patch}${snapshot ? '.SNAPSHOT' : ''}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
706 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
707
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
708 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
709
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
710 void setBranchInfo() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
711 gradle.ext.branch = new BranchInfo(System.getenv('bamboo_planRepository_branch'))
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
712 gradle.ext.branchName = gradle.branch.name
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
713 gradle.ext.branchStream = gradle.branch.stream
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
714 gradle.ext.branchHash = gradle.branch.hash
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
715 println "${gradle.hgRepositoryUrl} ${gradle.branch} ${gradle.branch.version}"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
716 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
717
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
718
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
719 @ToString(includes=['name','shortName','buildVersion','imageId','deployName'],includeNames= true)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
720 class BranchInfo {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
721 def name
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
722 def stream = "none"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
723 def buildNumber = ""
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
724 def changeset = ""
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
725 def version
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
726
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
727 BranchInfo(name) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
728 this.name = name
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
729 if (!name) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
730 this.name = determineName() ?: ''
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
731 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
732 this.name = this.name.replace('@', '-')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
733 determineStream()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
734 buildNumber = System.getenv('bamboo_buildNumber') ?: ""
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
735 changeset = System.getenv('bamboo_planRepository_revision') ?: ""
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
736 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
737
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
738 String getDefaultDependencyStatus() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
739 return isRelease() ? 'release' : 'integration'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
740 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
741
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
742 private boolean isRelease() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
743 return stream in ['release', 'hotfix']
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
744 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
745
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
746 def getShortName() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
747 def result = name.contains('/') ? name.split('/')[1] : name
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
748 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
749
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
750 String getBuildVersion() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
751 def v = isRelease() ? shortName - "v": ""
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
752 return v
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
753 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
754
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
755 def Version getVersion() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
756 if (!version) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
757 if (isRelease()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
758 version = new Version(*getBuildVersion().split('\\.')*.toInteger(), false)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
759 } else {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
760 version = findSnapshotVersion()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
761 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
762 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
763 return version
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
764 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
765
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
766 def getImageId() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
767 (buildVersion ?: shortName.take(25)) + (buildNumber ? "-${buildNumber}" : "-0")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
768 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
769
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
770 def getDeployName() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
771 (buildVersion ?: shortName.take(25)).toLowerCase().collectReplacements {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
772 ('a'..'z').contains(it) || ('0'..'9').contains(it) || it == "-" ? null : '-'
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
773 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
774 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
775
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
776 def getHash() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
777 generateMD5(name)
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
778 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
779 def generateMD5(String s) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
780 def digest = java.security.MessageDigest.getInstance("MD5")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
781 digest.update(s.bytes);
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
782 new BigInteger(1, digest.digest()).toString(16).padLeft(32, '0')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
783 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
784
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
785 private Version findSnapshotVersion() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
786 println "findSnapshotVersion()"
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
787 try {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
788 def repositoryUrl = System.getenv('bamboo_planRepository_repositoryUrl')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
789 if (repositoryUrl) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
790 println "git pull $repositoryUrl".execute().text
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
791 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
792 def versions = "git tag".execute().text.split("\n")
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
793 .findAll { it != null || it != "" }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
794 .collect { it.replace("v", "") }
331
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
795 .collect {
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
796 Version v = null
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
797 try {
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
798 v = new Version(*it.split('\\.')*.toInteger())
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
799 return v
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
800 } catch (ignored) {
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
801 //non semver tag found, ignoring
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
802 }
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
803 }
311
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
804 .sort { v1, v2 -> v2 <=> v1 }
331
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
805
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
806 def branches = "git branch --remote".execute().text.split("\n")
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
807 .findAll { it.contains('release') || it.contains('hotfix') }
334
64a8d53c6d98 change how the version is parsed from git commands
Marc Davis <davis@ssdt-ohio.org>
parents: 331
diff changeset
808 .collect { it.replaceAll('\\s+', ' ').split('/').last() - 'v' }
331
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
809 .collect { new Version(*it.split('\\.')*.toInteger()) }
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
810
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
811 def results = (branches + versions).sort { v1, v2 -> v2 <=> v1 }
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
812 if (results.isEmpty()) {
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
813 return new Version().nextSnapshot()
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
814 } else {
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
815 return results.first().nextSnapshot()
7bc7c6c79d7c check for current release and hotfix branches when looking for latest snapshot
Marc Davis <davis@ssdt-ohio.org>
parents: 330
diff changeset
816 }
311
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
817 } catch (ex) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
818 println ex
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
819 return new Version().nextSnapshot()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
820 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
821 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
822
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
823 def determineName() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
824 try {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
825 def branch = "git branch --show-current".execute().text.trim()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
826 return branch
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
827 } catch (ignored) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
828 return null
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
829 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
830 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
831
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
832 /**
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
833 * Try to determine the stream based on hgflow configs
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
834 * git-flow doesn't have a local config, so we may need to keep this
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
835 * file around just for the comparison.
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
836 *
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
837 * A new name for the file could help as well?
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
838 */
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
839 void determineStream() {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
840 def flowConfig = new File('.hgflow').exists() ? new File('.hgflow') : new File('../.hgflow')
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
841 if (flowConfig.exists()) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
842 def flows = new Properties()
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
843 flows.load(flowConfig.newReader())
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
844 flows.stringPropertyNames().each {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
845 if (!it.startsWith("[") && name.startsWith(flows.getProperty(it))) {
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
846 stream = it
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
847 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
848 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
849 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
850 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
851
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
852 }
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
853
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
854
69ef3d16fb19 add git specific versions of init20, init50, init70
Marc Davis <davis@ssdt-ohio.org>
parents:
diff changeset
855