97 lines
3.2 KiB
Groovy
97 lines
3.2 KiB
Groovy
plugins {
|
|
id "org.jetbrains.kotlin.jvm"
|
|
id "org.jetbrains.kotlin.plugin.serialization"
|
|
id "application"
|
|
}
|
|
|
|
version = null
|
|
|
|
application {
|
|
mainClass = 'dev.inmo.postssystem.server.EntranceKt'
|
|
}
|
|
|
|
dependencies {
|
|
api project(":postssystem.features.common.server")
|
|
api project(":postssystem.features.status.server")
|
|
api project(":postssystem.features.files.server")
|
|
api project(":postssystem.features.users.server")
|
|
api project(":postssystem.features.auth.server")
|
|
api project(":postssystem.features.roles.server")
|
|
api project(":postssystem.features.roles.manager.server")
|
|
api project(":postssystem.features.content.server")
|
|
api project(":postssystem.features.content.text.server")
|
|
api project(":postssystem.features.content.binary.server")
|
|
api project(":postssystem.features.publication.server")
|
|
|
|
api project(":postssystem.services.posts.server")
|
|
|
|
api project(":postssystem.publicators.simple.server")
|
|
|
|
api project(":postssystem.targets.telegram.loader.server")
|
|
api project(":postssystem.targets.telegram.publication.server")
|
|
|
|
api libs.ktor.server.netty
|
|
api libs.ktor.websockets
|
|
api libs.exposed.jdbs
|
|
api libs.postgresql
|
|
}
|
|
|
|
|
|
task copyClient(type: Copy) {
|
|
dependsOn ":postssystem.client:jsBrowserDistribution"
|
|
File clientSources = project(":postssystem.client").file("build/distributions")
|
|
SourceDirectorySet resources = sourceSets.main.resources
|
|
File webFolderPath = new File(resources.getSrcDirs()[0].toString(), "web")
|
|
exclude("*.map")
|
|
from clientSources.absolutePath
|
|
into webFolderPath.absolutePath
|
|
}
|
|
|
|
|
|
tasks.getByName("compileKotlin")
|
|
.dependsOn(project(":postssystem.client").jsBrowserDistribution)
|
|
.dependsOn(copyClient)
|
|
tasks.getByName("compileKotlin").configure {
|
|
mustRunAfter project(":postssystem.client").jsBrowserDistribution
|
|
mustRunAfter copyClient
|
|
}
|
|
|
|
tasks.getByName("run")
|
|
.dependsOn(project(":postssystem.client").jsBrowserDistribution)
|
|
.dependsOn(copyClient)
|
|
tasks.getByName("run").configure {
|
|
mustRunAfter project(":postssystem.client").jsBrowserDistribution
|
|
mustRunAfter copyClient
|
|
}
|
|
|
|
task copyUIKitCSS(type: Copy) {
|
|
dependsOn ":postssystem.client.uikit:build"
|
|
File dist = project(":postssystem.client.uikit").file("dist")
|
|
SourceDirectorySet resources = sourceSets.main.resources
|
|
File webFolderPath = new File(resources.getSrcDirs()[0].toString(), "web")
|
|
File cssFilesFolder = new File(dist, "css")
|
|
from cssFilesFolder.absolutePath
|
|
include "uikit.min.css"
|
|
into new File(webFolderPath, "css").absolutePath
|
|
}
|
|
|
|
task copyUIKitJS(type: Copy) {
|
|
dependsOn ":postssystem.client.uikit:build"
|
|
File dist = project(":postssystem.client.uikit").file("dist")
|
|
SourceDirectorySet resources = sourceSets.main.resources
|
|
File webFolderPath = new File(resources.getSrcDirs()[0].toString(), "web")
|
|
File jsFilesFolder = new File(dist, "js")
|
|
from jsFilesFolder.absolutePath
|
|
include "uikit.min.js"
|
|
include "uikit-icons.min.js"
|
|
into new File(webFolderPath, "js").absolutePath
|
|
}
|
|
|
|
tasks.getByName("processResources")
|
|
.dependsOn(copyUIKitJS)
|
|
.dependsOn(copyUIKitCSS)
|
|
tasks.getByName("processResources").configure {
|
|
mustRunAfter copyUIKitJS
|
|
mustRunAfter copyUIKitCSS
|
|
}
|