forked from schibsted/account-sdk-android
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shared.gradle
50 lines (43 loc) · 1.54 KB
/
shared.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
// Git helpers
static def getGitVersionCode(git) {
if (!System.getenv('CI')) {
return 1
}
return git.log(includes: ['HEAD']).size()
}
static def getGitVersionName(git) {
def tags = git.tag.list().sort {it.commit.time}
if (tags.size() > 0) {
return tags.sort {it.commit.time}.last().fullName.replace("refs/tags/", "").replaceAll("^v", "")
} else {
return "0.0.0"
}
}
// Dependency helpers
static def addDependency(dependenciesNode, String group, String name, String version) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', group)
dependencyNode.appendNode('artifactId', name)
dependencyNode.appendNode('version', version)
}
static def fixDependencies(node, project) {
def confs = project.configurations
(confs.api.allDependencies + confs.implementation.allDependencies).each {
if (it.version != null && it.version != 'unspecified') { // Don't add projects
addDependency(node, it.group, it.name, it.version)
}
}
}
static def addArtifactMetadata(node, String name, String description, String url, pomConfig) {
node.appendNode('name', name)
node.appendNode('description', description)
node.appendNode('url', url)
node.children().last() + pomConfig
}
ext {
getGitVersionCode = this.&getGitVersionCode
getGitVersionName = this.&getGitVersionName
addDependency = this.&addDependency
fixDependencies = this.&fixDependencies
addArtifactMetadata = this.&addArtifactMetadata
}