1
1
package kotlinx.team.infra
2
2
3
- import groovy.lang.*
4
3
import org.gradle.api.*
5
4
import org.gradle.api.logging.*
6
5
import org.gradle.api.model.ObjectFactory
7
6
import org.gradle.api.tasks.*
8
7
import java.io.*
9
8
10
- fun cleanup (file : File ) {
9
+ internal fun cleanup (file : File ) {
11
10
if (file.exists()) {
12
11
val listing = file.listFiles()
13
12
if (listing != null ) {
@@ -19,46 +18,27 @@ fun cleanup(file: File) {
19
18
}
20
19
}
21
20
22
- inline fun <reified T : Task > Project.task (
21
+ internal inline fun <reified T : Task > Project.task (
23
22
name : String ,
24
- depends : String? = null,
25
23
noinline configuration : T .() -> Unit
26
- ): TaskProvider <T > {
27
- @Suppress(" UnstableApiUsage" )
28
- val task = tasks.register(name, T ::class .java, Action (configuration))
29
- if (depends != null ) {
30
- tasks.getByName(depends).dependsOn(task)
31
- }
32
- return task
33
- }
34
-
35
- class KotlinClosure1 <T : Any ?, V : Any >(
36
- val function : T .() -> V ? ,
37
- owner : Any? = null ,
38
- thisObject : Any? = null
39
- ) : Closure<T>(owner, thisObject) {
40
-
41
- @Suppress(" unused" ) // to be called dynamically by Groovy
42
- fun doCall (it : T ): V ? = it.function()
43
- }
44
-
45
- fun <T > Any.closureOf (action : T .() -> Unit ) : Closure <T > =
46
- KotlinClosure1 <T , Unit >(action, this , this )
24
+ ): TaskProvider <T > =
25
+ tasks.register(name, T ::class .java, Action (configuration))
47
26
48
- fun <T > Project.tryGetClass (className : String ): Class <T >? {
27
+ internal fun <T > Project.tryGetClass (className : String ): Class <T >? {
49
28
val classLoader = buildscript.classLoader
50
29
return try {
30
+ @Suppress(" UNCHECKED_CAST" )
51
31
Class .forName(className, false , classLoader) as Class <T >
52
32
} catch (e: ClassNotFoundException ) {
53
33
null
54
34
}
55
35
}
56
36
57
- fun Logger.infra (message : String ) {
37
+ internal fun Logger.infra (message : String ) {
58
38
info(" INFRA: $message " )
59
39
}
60
40
61
- fun Project.propertyOrEnv (name : String ): String? =
41
+ internal fun Project.propertyOrEnv (name : String ): String? =
62
42
findProperty(name) as ? String ? : System .getenv(name)
63
43
64
44
internal inline fun <reified T : Any > ObjectFactory.newInstance (): T = newInstance(T ::class .java)
0 commit comments