This repository has been archived by the owner on Dec 29, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
/
build.gradle
75 lines (68 loc) · 2.24 KB
/
build.gradle
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import com.rakuten.tech.tool.CheckGradleFilesForSnapshotDependencies
buildscript {
apply from: "config/index.gradle"
repositories {
jcenter()
maven { url 'https://maven.google.com' }
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "com.android.tools.build:gradle:$CONFIG.versions.android.plugin"
classpath 'net.saliman:gradle-cobertura-plugin:2.5.4'
classpath 'digital.wup:android-maven-publish:3.6.2'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
classpath 'pl.allegro.tech.build:axion-release-plugin:1.8.1'
classpath 'me.tatarka:gradle-retrolambda:3.7.1'
}
}
// do something if a task exists after evaluate
// receives the task as delegate and parameter
Project.metaClass.eventuallyHasTask = { String taskName, Closure<Task> cls = null ->
delegate.afterEvaluate {
def task = it.tasks.find { it.name == taskName }
if(task != null && cls != null) {
cls.delegate = task
cls.resolveStrategy = DELEGATE_FIRST
cls(task)
}
}
}
allprojects { subproject ->
apply plugin: 'com.github.ben-manes.versions'
dependencyUpdates.resolutionStrategy = {
componentSelection { rules ->
rules.all { ComponentSelection selection ->
boolean rejected = ['alpha', 'beta', 'rc', 'cr', 'm', '-', '_'].any { selection.candidate.version.contains(it) }
if (rejected) selection.reject('Release candidate')
}
}
}
subproject.eventuallyHasTask('assemble') { dependsOn dependencyUpdates }
apply plugin: 'pl.allegro.tech.build.axion-release'
scmVersion {
useHighestVersion = true
tag {
prefix = 'v'
versionSeparator = ''
versionIncrementer 'incrementMinor'
}
}
subproject.version = scmVersion.version
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
}
task ensurePreRelease {
doLast {
if(!version.contains('-')) throw new GradleException("Version $version is not a pre release version, failing build")
else println "version $version is pre release version, proceeding with build."
}
}
task preReleaseCheck(type: CheckGradleFilesForSnapshotDependencies) {
exclude = [
~/.*\/Example\/.*\.gradle/,
~/.*\/config\/.*\.gradle/,
~/.*\/buildSrc\/.*\.gradle/
]
}