@@ -5,52 +5,74 @@ import org.gradle.api.Task
5
5
import org.gradle.kotlin.dsl.extra
6
6
import org.gradle.kotlin.dsl.invoke
7
7
import org.gradle.kotlin.dsl.provideDelegate
8
- import java.nio.file.Path
9
- import java.nio.file.Paths
8
+ import java.io.File
10
9
11
- open class KernelBuildExtension (
12
- private val project : Project
10
+ class KernelBuildExtension (
11
+ val project : Project
13
12
) {
14
- var packageName = " kotlin-jupyter-kernel"
13
+ var kotlinLanguageLevel by project.prop<String >()
14
+ var stableKotlinLanguageLevel by project.prop<String >()
15
+ var jvmTarget by project.prop<String >()
15
16
16
- val versionFileName = " VERSION"
17
- val rootPath: Path = project.rootDir.toPath()
17
+ var githubRepoUser by project.prop<String >()
18
+ var githubRepoName by project.prop<String >()
19
+ var projectRepoUrl by project.prop<String >()
20
+ var docsRepo by project.prop<String >()
21
+ var librariesRepoUrl by project.prop<String >()
22
+ var librariesRepoUserAndName by project.prop<String >()
18
23
19
- val isLocalBuild = project.getFlag( " build.isLocal " )
24
+ var skipReadmeCheck by project.prop< Boolean >( )
20
25
21
- val artifactsDir: Path = run {
22
- val artifactsPathStr = project.rootProject.findProperty(" artifactsPath" ) as ? String ? : " artifacts"
23
- val artifactsDir = rootPath.resolve(artifactsPathStr)
26
+ val buildCounter by project.prop(" build.counter" , " 100500" )
27
+ val buildNumber by project.prop(" build.number" , " " )
28
+
29
+ val devCounter by project.prop<String ?>(" build.devCounter" )
30
+
31
+ var libName by project.prop<String >(" jupyter.lib.name" )
32
+ var libParamName by project.prop<String >(" jupyter.lib.param.name" )
33
+ var libParamValue by project.prop<String >(" jupyter.lib.param.value" )
34
+
35
+ var prGithubUser by project.prop<String >(" jupyter.github.user" )
36
+ var prGithubToken by project.prop<String >(" jupyter.github.token" )
37
+
38
+ var baseVersion by project.prop<String >()
39
+ var isLocalBuild by project.prop<Boolean >(" build.isLocal" )
40
+
41
+ var jvmTargetForSnippets by project.prop<String ?>()
42
+
43
+ var packageName: String = project.rootProject.name
44
+
45
+ var versionFileName = " VERSION"
46
+
47
+ val artifactsDir: File = run {
48
+ val artifactsPath by project.prop(default = " artifacts" )
49
+ val artifactsDir = project.rootDir.resolve(artifactsPath)
24
50
25
51
if (isLocalBuild) {
26
52
project.delete(artifactsDir)
27
53
}
28
54
return @run artifactsDir
29
55
}
30
56
31
- val localPublicationsRepo: Path = artifactsDir.resolve(" maven" )
32
-
33
- val baseVersion = project.prop<String >(" baseVersion" )
34
-
35
- val pythonVersion: String = project.detectVersion(baseVersion, artifactsDir, versionFileName)
57
+ val pythonVersion: String = project.detectVersion(this )
36
58
37
59
val mavenVersion = pythonVersion.toMavenVersion()
38
60
39
- val readmePath: Path = rootPath .resolve(" docs" ).resolve(" README.md" )
61
+ val readmePath: File = project.rootDir .resolve(" docs" ).resolve(" README.md" )
40
62
41
- private val installPath = project.prop <String ?>(" installPath" )
63
+ private val installPath = project.typedProperty <String ?>(" installPath" )
42
64
43
65
val librariesPath = " libraries"
44
- val librariesPropertiesPath: Path = rootPath .resolve(librariesPath).resolve(" .properties" )
66
+ val librariesPropertiesPath: File = project.rootDir .resolve(librariesPath).resolve(" .properties" )
45
67
46
- val installPathLocal: Path = if (installPath != null ) Paths .get (installPath)
47
- else Paths .get (System .getProperty(" user.home" ).toString(), " .ipython" , " kernels" , " kotlin" )
68
+ val installPathLocal: File = if (installPath != null ) project.file (installPath)
69
+ else project.file (System .getProperty(" user.home" ).toString()).resolve( " .ipython/ kernels/ kotlin" )
48
70
49
71
val resourcesDir = " resources"
50
- val distribBuildPath: Path = rootPath .resolve(" build" ).resolve(" distrib-build" )
51
- val logosPath = getSubDir(rootPath, resourcesDir, " logos" )
52
- val nbExtensionPath = getSubDir(rootPath, resourcesDir, " notebook-extension" )
53
- val distributionPath: Path by project.extra(rootPath .resolve(" distrib" ))
72
+ val distribBuildPath: File = project.rootDir .resolve(" build" ).resolve(" distrib-build" )
73
+ val logosPath = project.rootDir.resolve( resourcesDir).resolve( " logos" )
74
+ val nbExtensionPath = project.rootDir.resolve( resourcesDir).resolve( " notebook-extension" )
75
+ val distributionPath: File by project.extra(project.rootDir .resolve(" distrib" ))
54
76
val jarsPath = " jars"
55
77
val configDir = " config"
56
78
@@ -75,22 +97,15 @@ open class KernelBuildExtension(
75
97
val runKernelDir = " run_kotlin_kernel"
76
98
val setupPy = " setup.py"
77
99
78
- val copyRunKernelPy: Task
79
- get() = project.tasks.getByName(" copyRunKernelPy" )
80
- val prepareDistributionDir: Task
81
- get() = project.tasks.getByName(" prepareDistributionDir" )
82
- val cleanInstallDirDistrib: Task
83
- get() = project.tasks.getByName(" cleanInstallDirDistrib" )
84
-
85
100
val isOnProtectedBranch: Boolean
86
101
get() = project.extra[" isOnProtectedBranch" ] as Boolean
87
102
88
- val distribUtilsPath: Path = rootPath .resolve(" distrib-util" )
89
- val distribUtilRequirementsPath: Path = distribUtilsPath.resolve(" requirements-common.txt" )
90
- val distribUtilRequirementsHintsRemPath: Path =
103
+ private val distribUtilsPath: File = project.rootDir .resolve(" distrib-util" )
104
+ val distribUtilRequirementsPath: File = distribUtilsPath.resolve(" requirements-common.txt" )
105
+ val distribUtilRequirementsHintsRemPath: File =
91
106
distribUtilsPath.resolve(" requirements-hints-remover.txt" )
92
107
val removeTypeHints = true
93
- val typeHintsRemover: Path = distribUtilsPath.resolve(" remove_type_hints.py" )
108
+ val typeHintsRemover: File = distribUtilsPath.resolve(" remove_type_hints.py" )
94
109
95
110
val condaTaskSpecs by lazy {
96
111
val condaUserStable = project.stringPropOrEmpty(" condaUserStable" )
@@ -143,6 +158,6 @@ open class KernelBuildExtension(
143
158
}
144
159
145
160
companion object {
146
- const val NAME = " kernelBuild "
161
+ const val NAME = " options "
147
162
}
148
163
}
0 commit comments