Skip to content

Commit 85507f5

Browse files
committed
Continue refactoring: use TOML file for plugin versions too and change build file structure - make it more flat
1 parent 977cacb commit 85507f5

33 files changed

+376
-295
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# Folders with build files
1515
out/
1616
/build/
17-
/*jupyter*/build/
17+
/build-tools/*/build/
1818
/*jupyter*/*/build/
1919
/api-examples/*/build/
2020
/teamcity-artifacts/
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
plugins {
2+
id("build.plugins.versions")
3+
`kotlin-dsl`
4+
}
5+
6+
repositories {
7+
mavenCentral()
8+
gradlePluginPortal()
9+
}
10+
11+
dependencies {
12+
// implementation(projects.commonDependencies)
13+
implementation(libs.jupyter.commonDependencies)
14+
api(libs.bundles.allGradlePlugins)
15+
}
16+
17+
sourceSets {
18+
main {
19+
java.setSrcDirs(listOf("src"))
20+
}
21+
}
22+
23+
gradlePlugin {
24+
plugins {
25+
create("dependencies") {
26+
id = "build.plugins.main"
27+
implementationClass = "build.KernelBuildPlugin"
28+
}
29+
}
30+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
@file:Suppress("UnstableApiUsage")
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
create("libs") {
6+
from(files("../../gradle/libs.versions.toml"))
7+
}
8+
}
9+
}
10+
11+
includeBuild("../plugin-versions-plugin")
12+
13+
subproject("common-dependencies", "../../jupyter-lib/")
14+
15+
fun subproject(name: String, parentPath: String) {
16+
include(name)
17+
project(":$name").projectDir = file("$parentPath$name").absoluteFile
18+
}
Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,25 @@
1-
package org.jetbrains.kotlinx.jupyter.plugin
1+
package build
22

33
import org.gradle.api.Plugin
44
import org.gradle.api.Project
5-
import org.jetbrains.kotlinx.jupyter.build.ProjectWithOptionsImpl
6-
import org.jetbrains.kotlinx.jupyter.build.createCleanTasks
7-
import org.jetbrains.kotlinx.jupyter.build.createInstallTasks
8-
import org.jetbrains.kotlinx.jupyter.build.prepareAggregateUploadTasks
9-
import org.jetbrains.kotlinx.jupyter.build.prepareCondaTasks
10-
import org.jetbrains.kotlinx.jupyter.build.prepareDistributionTasks
11-
import org.jetbrains.kotlinx.jupyter.build.prepareKotlinVersionUpdateTasks
12-
import org.jetbrains.kotlinx.jupyter.build.prepareLocalTasks
13-
import org.jetbrains.kotlinx.jupyter.build.preparePropertiesTask
14-
import org.jetbrains.kotlinx.jupyter.build.preparePyPiTasks
15-
import org.jetbrains.kotlinx.jupyter.build.prepareReadmeTasks
16-
17-
class KotlinJupyterGradlePlugin : Plugin<Project> {
5+
6+
class KernelBuildPlugin : Plugin<Project> {
187
override fun apply(project: Project) {
198

209
with(project.plugins) {
2110
apply("org.jetbrains.kotlin.jvm")
2211
apply("com.github.johnrengelman.shadow")
2312
apply("org.jetbrains.kotlin.plugin.serialization")
2413
apply("org.jlleitschuh.gradle.ktlint")
25-
apply("org.jetbrains.kotlinx.jupyter.dependencies")
2614
apply("ru.ileasile.kotlin.publisher")
2715
apply("ru.ileasile.kotlin.doc")
2816
apply("org.hildan.github.changelog")
2917
}
3018

19+
project.allprojects {
20+
addAllBuildRepositories()
21+
}
22+
3123
with(ProjectWithOptionsImpl(project, project.options())) {
3224
/****** Helper tasks ******/
3325
prepareReadmeTasks()
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@file:Suppress("UnstableApiUsage")
2+
3+
package build
4+
5+
import org.gradle.api.artifacts.MinimalExternalModuleDependency
6+
import org.gradle.api.provider.Provider
7+
import org.gradle.kotlin.dsl.DependencyHandlerScope
8+
9+
fun DependencyHandlerScope.implementation(dependency: Provider<MinimalExternalModuleDependency>) = addProvider("implementation", dependency)
10+
fun DependencyHandlerScope.compileOnly(dependency: Provider<MinimalExternalModuleDependency>) = addProvider("compileOnly", dependency)
11+
fun DependencyHandlerScope.runtimeOnly(dependency: Provider<MinimalExternalModuleDependency>) = addProvider("runtimeOnly", dependency)
12+
fun DependencyHandlerScope.testImplementation(dependency: Provider<MinimalExternalModuleDependency>) = addProvider("testImplementation", dependency)
13+
fun DependencyHandlerScope.testRuntimeOnly(dependency: Provider<MinimalExternalModuleDependency>) = addProvider("testRuntimeOnly", dependency)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jetbrains.kotlinx.jupyter.build
1+
package build
22

33
import org.gradle.api.tasks.Copy
44
import org.gradle.api.tasks.Exec
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jetbrains.kotlinx.jupyter.build
1+
package build
22

33
import org.gradle.api.Project
44
import org.gradle.api.Task
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jetbrains.kotlinx.jupyter.build
1+
package build
22

33
import org.gradle.api.Project
44
import org.gradle.api.Task
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jetbrains.kotlinx.jupyter.build
1+
package build
22

33
import org.gradle.api.tasks.Copy
44
import org.gradle.kotlin.dsl.register
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
package org.jetbrains.kotlinx.jupyter.plugin
1+
package build
22

33
import org.gradle.api.Project
44
import org.gradle.api.Task
55
import org.gradle.kotlin.dsl.extra
66
import org.gradle.kotlin.dsl.invoke
77
import org.gradle.kotlin.dsl.provideDelegate
8-
import org.jetbrains.kotlinx.jupyter.build.AllOptions
9-
import org.jetbrains.kotlinx.jupyter.build.CondaCredentials
10-
import org.jetbrains.kotlinx.jupyter.build.CondaTaskSpec
11-
import org.jetbrains.kotlinx.jupyter.build.DistributionPackageSettings
12-
import org.jetbrains.kotlinx.jupyter.build.PyPiTaskSpec
13-
import org.jetbrains.kotlinx.jupyter.build.UploadTaskSpecs
14-
import org.jetbrains.kotlinx.jupyter.build.detectVersion
15-
import org.jetbrains.kotlinx.jupyter.build.getFlag
16-
import org.jetbrains.kotlinx.jupyter.build.getOrInitProperty
17-
import org.jetbrains.kotlinx.jupyter.build.getSubDir
18-
import org.jetbrains.kotlinx.jupyter.build.stringPropOrEmpty
19-
import org.jetbrains.kotlinx.jupyter.build.toMavenVersion
8+
import build.AllOptions
9+
import build.CondaCredentials
10+
import build.CondaTaskSpec
11+
import build.DistributionPackageSettings
12+
import build.PyPiTaskSpec
13+
import build.UploadTaskSpecs
14+
import build.detectVersion
15+
import build.getFlag
16+
import build.getOrInitProperty
17+
import build.getSubDir
18+
import build.stringPropOrEmpty
19+
import build.toMavenVersion
2020
import java.nio.file.Path
2121
import java.nio.file.Paths
2222

0 commit comments

Comments
 (0)