import dev.adamko.kafkatorio.gradle.excludeGeneratedGradleDsl import java.time.LocalDate plugins { idea base `project-report` `build-dashboard` // kotlin("multiplatform") apply false // try to stop error 'Projects must be configuring' // kotlin("js") apply false // try to stop error 'Projects must be configuring' } group = "dev.adamko.kafkatorio" version = "0.4.0" val licenseFile: RegularFile by extra(layout.projectDirectory.file("LICENSE")) val projectTokens: MapProperty by extra { objects.mapProperty().apply { put("project.version", provider { "${project.version}" }) put("rootProject.name", provider { rootProject.name }) put("date.year", provider { "${LocalDate.now().year}" }) put("author.email", "adam@adamko.dev") } } idea { module { isDownloadSources = true isDownloadJavadoc = true excludeGeneratedGradleDsl(layout) excludeDirs = excludeDirs + layout.files( ".idea", "gradle/kotlin-js-store", "gradle/wrapper", ) } } tasks.wrapper { gradleVersion = "7.4.2" distributionType = Wrapper.DistributionType.ALL } val startInfra by tasks.registering { group = project.name dependsOn( ":modules:infra-kafka-pipe:processRun", ":modules:infra-kafka-cluster:processRun", // ":modules:infra-kafka-connect:processRun", ) } val runKafkatorio by tasks.registering { group = project.name dependsOn( ":modules:infra-factorio-client:processRestart", ":modules:infra-factorio-server:processRestart", ":modules:infra-kafka-pipe:dockerUp", ) } val runEventsServer by tasks.registering { group = project.name dependsOn(":modules:events-server:run") } val runWebMap by tasks.registering { group = project.name dependsOn(":modules:web-map:browserDevelopmentRun") }