-
-
Notifications
You must be signed in to change notification settings - Fork 332
/
publishing.kt
66 lines (60 loc) · 1.99 KB
/
publishing.kt
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
package buildsrc.config
import org.gradle.api.Action
import org.gradle.api.artifacts.repositories.PasswordCredentials
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.gradle.api.publish.maven.MavenPom
import org.gradle.api.publish.maven.MavenPublication
fun MavenPublication.createMockKPom(
configure: MavenPom.() -> Unit = {}
): Unit =
pom {
url.set("https://mockk.io")
scm {
connection.set("scm:git:git@github.com:mockk/mockk.git")
developerConnection.set("scm:git:git@github.com:mockk/mockk.git")
url.set("https://github.com/mockk/mockk/")
}
developers {
developer {
id.set("oleksiyp")
name.set("Oleksii Pylypenko")
email.set("oleksiy.pylypenko@gmail.com")
}
developer {
id.set("Raibaz")
name.set("Mattia Tommasone")
email.set("raibaz@gmail.com")
}
developer {
// springmockk author
id.set("jnizet")
name.set("Jean-Baptiste Nizet")
email.set("jb@ninja-squad.com")
}
}
licenses {
license {
name.set("Apache License, Version 2.0")
url.set("https://www.apache.org/licenses/LICENSE-2.0")
}
}
configure()
}
/**
* Fetches credentials from `gradle.properties`, environment variables, or command line args.
*
* See https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:handling_credentials
*/
// https://github.com/gradle/gradle/issues/20925
fun ProviderFactory.credentialsAction(
repositoryName: String
): Provider<Action<PasswordCredentials>> = zip(
gradleProperty("${repositoryName}Username"),
gradleProperty("${repositoryName}Password"),
) { user, pass ->
Action<PasswordCredentials> {
username = user
password = pass
}
}