File: wrapper.gradle

package info (click to toggle)
gradle 4.4.1-6
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 85,104 kB
  • sloc: java: 319,724; xml: 14,356; cpp: 4,200; ansic: 1,025; sh: 300; makefile: 60; asm: 17; jsp: 17; objc: 10
file content (59 lines) | stat: -rw-r--r-- 2,261 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
 * Copyright 2012 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

def wrapperUpdateTask = { name, label ->
    def wrapperTaskName = "${name}Wrapper"
    def configureWrapperTaskName = "configure${wrapperTaskName.capitalize()}"

    task "$configureWrapperTaskName" {
        doLast {
            configure(tasks."$wrapperTaskName") {
                def version = new groovy.json.JsonSlurper().parseText(new URL("https://services.gradle.org/versions/$label").text)
                if (version.empty) {
                    throw new GradleException("Cannot update wrapper to '${label}' version as there is currently no version of that label")
                }
                println "updating wrapper to $label version: $version.version (downloadUrl: $version.downloadUrl)"
                distributionUrl version.downloadUrl
            }
        }
    }

    task "${wrapperTaskName}"(type: Wrapper) {
        dependsOn configureWrapperTaskName
        group = "wrapper"
    }
}

tasks.withType(Wrapper) {
    def jvmOpts = "-Xmx128m -Dfile.encoding=UTF-8"
    inputs.property("jvmOpts", jvmOpts)
    doLast {
        def optsEnvVar = "DEFAULT_JVM_OPTS"
        scriptFile.write scriptFile.text.replace("$optsEnvVar=\"\"", "$optsEnvVar=\"$jvmOpts\"")
        batchScript.write batchScript.text.replace("set $optsEnvVar=", "set $optsEnvVar=$jvmOpts")
    }
    doLast {
        def buildSrcWrapperDir = new File(rootDir, 'buildSrc/gradle/wrapper')
        buildSrcWrapperDir.mkdirs()
        copy {
            from propertiesFile
            into buildSrcWrapperDir
        }
    }
}
wrapperUpdateTask "nightly", "nightly"
wrapperUpdateTask "rc", "release-candidate"
wrapperUpdateTask "current", "current"