aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2020-03-11 16:18:17 +0100
committerRobert Jaros <rjaros@finn.pl>2020-03-11 16:18:17 +0100
commit9e243a469ae6544e8cf523ad09b959f541c3f565 (patch)
treebe9c7447e221af49180c9e98434df7f988b940b8 /build.gradle
parentec6084c42c13a621e17b17bd40d90b5c7879f0ec (diff)
downloadkvision-9e243a469ae6544e8cf523ad09b959f541c3f565.tar.gz
kvision-9e243a469ae6544e8cf523ad09b959f541c3f565.tar.bz2
kvision-9e243a469ae6544e8cf523ad09b959f541c3f565.zip
Upgrade to Kotlin 1.3.70 + other dependencies (Coroutinse, Serialization, Spring Boot)
Major refactoring of build architecture.
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle262
1 files changed, 0 insertions, 262 deletions
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index dda5105b..00000000
--- a/build.gradle
+++ /dev/null
@@ -1,262 +0,0 @@
-buildscript {
- ext.production = (findProperty('prod') ?: 'false') == 'true'
-
- repositories {
- jcenter()
- maven { url = "https://dl.bintray.com/kotlin/kotlin-eap" }
- maven { url = "https://plugins.gradle.org/m2/" }
- maven { url = "https://bintray.com/kotlin/kotlin-eap/dokka" }
- maven { url = "https://kotlin.bintray.com/kotlinx" }
- }
-
- dependencies {
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}"
- classpath "org.jetbrains.kotlin:kotlin-serialization:${kotlinVersion}"
- classpath "org.jetbrains.kotlin:kotlin-frontend-plugin:${frontendPluginVersion}"
- classpath "org.jetbrains.dokka:dokka-gradle-plugin:${dokkaVersion}"
- classpath "io.spring.gradle:dependency-management-plugin:${dependencyManagementPluginVersion}"
- }
-}
-
-plugins {
- id "com.jfrog.bintray" version "1.7.3"
- id "io.gitlab.arturbosch.detekt" version "1.0.0-RC14"
-}
-
-configure(allprojects - project(':kvision-modules') - project(':kvision-tools')) {
- repositories {
- jcenter()
- mavenCentral()
- maven { url = "https://dl.bintray.com/kotlin/kotlin-eap" }
- maven { url = 'https://kotlin.bintray.com/kotlinx' }
- maven { url = 'https://dl.bintray.com/gbaldeck/kotlin' }
- maven { url = 'https://dl.bintray.com/rjaros/kotlin' }
- maven { url = 'https://dl.bintray.com/kotlin/kotlin-js-wrappers' }
- mavenLocal()
- }
-}
-
-configure(allprojects - project(':kvision-modules') - project(':kvision-tools') - project(":kvision-modules:kvision-base")) {
- apply plugin: 'io.gitlab.arturbosch.detekt'
- apply plugin: 'com.jfrog.bintray'
- apply plugin: 'maven'
- apply plugin: 'maven-publish'
- apply from: rootProject.file('pom.gradle')
- apply from: rootProject.file('bintray.gradle')
-
- afterEvaluate {
- task sourceJar(type: Jar, dependsOn: classes) {
- classifier 'sources'
- from sourceSets.main.kotlin
- duplicatesStrategy = "exclude"
- }
- }
-
- task emptyJar(type: Jar) {
- classifier 'javadoc'
- }
-
- tasks.build.dependsOn(['sourceJar', 'emptyJar'])
-
- detekt {
- config = files(rootProject.projectDir.path + "/detekt.yml")
- filters = ".*test.*,.*/resources/.*,.*/tmp/.*"
- }
-
- publishing {
- publications {
- mavenProject(MavenPublication) {
- from components.java
- groupId project.group
- artifactId project.name
- version project.version
-
- artifact sourceJar {
- classifier 'sources'
- }
-
- artifact emptyJar {
- classifier 'javadoc'
- }
-
- withPom(pom)
- }
- }
- }
-
- model {
- tasks.generatePomFileForMavenProjectPublication {
- destination = file("$buildDir/libs/${project.name}-${version}.pom")
- }
- }
-}
-
-if (!project.gradle.startParameter.taskNames.contains("dokka")) {
- apply plugin: 'kotlin-platform-js'
- apply plugin: 'org.jetbrains.kotlin.frontend'
-} else {
- apply plugin: 'kotlin'
-}
-apply plugin: 'org.jetbrains.dokka'
-apply plugin: 'kotlinx-serialization'
-
-dependencies {
- if (!project.gradle.startParameter.taskNames.contains("dokka")) {
- expectedBy project('kvision-modules:kvision-common-types')
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion"
- compile "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serializationVersion"
- if (!project.gradle.startParameter.taskNames.contains("generatePomFileForMavenProjectPublication")) {
- compile "org.jetbrains.kotlin:kotlin-test-js:$kotlinVersion"
- }
- testCompile "org.jetbrains.kotlin:kotlin-test-js:$kotlinVersion"
- } else {
- compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
- compile "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serializationVersion"
- testCompile "org.jetbrains.kotlin:kotlin-test:$kotlinVersion"
- }
- compile "com.github.snabbdom:snabbdom-kotlin:$snabbdomKotlinVersion"
- compile "pl.treksoft:navigo-kotlin:$navigoKotlinVersion"
- compile "pl.treksoft:jquery-kotlin:$jqueryKotlinVersion"
-}
-
-if (!project.gradle.startParameter.taskNames.contains("dokka")) {
- kotlinFrontend {
- npm {
- dependency("css-loader", "3.3.2")
- dependency("style-loader", "1.0.1")
- dependency("less", "3.10.3")
- dependency("less-loader", "5.0.0")
- dependency("imports-loader", "0.8.0")
- dependency("uglifyjs-webpack-plugin", "2.2.0")
- dependency("file-loader", "5.0.2")
- dependency("url-loader", "3.0.0")
- dependency("jquery", "3.4.1")
- dependency("fecha", "3.0.3")
- dependency("snabbdom", "0.7.4")
- dependency("snabbdom-virtualize", "0.7.0")
- dependency("jquery-resizable-dom", "0.35.0")
- dependency("navigo", "7.1.2")
- devDependency("karma", "4.4.1")
- devDependency("karma-chrome-launcher", "3.1.0")
- devDependency("karma-webpack", "4.0.2")
- devDependency("qunit", "2.9.3")
- }
-
- webpackBundle {
- bundleName = "main"
- contentPath = file('src/main/web')
- mode = production ? "production" : "development"
- }
- karma {
- plugins = ["karma-chrome-launcher"]
- browsers = ["ChromeHeadless"]
- }
- define "PRODUCTION", production
-
- }
-}
-
-dokka {
- includes = ['Module.md']
- sourceDirs = files('kvision-modules/kvision-bootstrap/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-css/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-select/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-datetime/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-spinner/src/main/kotlin',
- 'kvision-modules/kvision-richtext/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-upload/src/main/kotlin',
- 'kvision-modules/kvision-handlebars/src/main/kotlin',
- 'kvision-modules/kvision-i18n/src/main/kotlin',
- 'kvision-modules/kvision-chart/src/main/kotlin',
- 'kvision-modules/kvision-datacontainer/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-dialog/src/main/kotlin',
- 'kvision-modules/kvision-fontawesome/src/main/kotlin',
- 'kvision-modules/kvision-redux/src/main/kotlin',
- 'kvision-modules/kvision-redux-kotlin/src/main/kotlin',
- 'kvision-modules/kvision-maps/src/main/kotlin',
- 'kvision-modules/kvision-moment/src/main/kotlin',
- 'kvision-modules/kvision-tabulator/src/main/kotlin',
- 'kvision-modules/kvision-pace/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-typeahead/src/main/kotlin',
- 'kvision-modules/kvision-event-flow/src/main/kotlin',
- 'kvision-modules/kvision-remote/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin',
- 'kvision-modules/kvision-tabulator-remote/src/main/kotlin',
- 'kvision-modules/kvision-bootstrap-typeahead-remote/src/main/kotlin',
- 'kvision-modules/kvision-common/src/main/kotlin',
- 'kvision-modules/kvision-common-types/src/main/kotlin',
- 'kvision-modules/kvision-common-annotations/src/main/kotlin',
- 'kvision-modules/kvision-server-javalin/src/main/kotlin',
- 'kvision-modules/kvision-server-jooby/src/main/kotlin',
- 'kvision-modules/kvision-server-ktor/src/main/kotlin',
- 'kvision-modules/kvision-server-spring-boot/src/main/kotlin',
- 'kvision-modules/kvision-cordova/src/main/kotlin',
- 'kvision-modules/kvision-electron/src/main/kotlin',
- 'kvision-modules/kvision-testutils/src/main/kotlin')
- classpath = [new File("dokka/kvision-dokka-helper.jar")]
- outputFormat = 'html'
- outputDirectory = "$buildDir/kdoc"
- reportUndocumented = false
-}
-
-task testJar(type: Jar, dependsOn: testClasses) {
- baseName = "${project.archivesBaseName}-test"
- from sourceSets.test.output
-}
-
-configurations {
- tests
-}
-
-artifacts {
- tests testJar
-}
-
-task cleanLibs(type: Delete) {
- delete 'build/js', 'build/libs'
-}
-
-if (project.gradle.startParameter.taskNames.contains("jar")) {
- compileKotlin2Js.dependsOn 'cleanLibs'
-}
-
-jar {
- duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-}
-
-if (!project.gradle.startParameter.taskNames.contains("dokka")) {
-
- compileKotlin2Js {
- kotlinOptions.metaInfo = true
- kotlinOptions.outputFile = "$project.buildDir.path/js/${project.name}.js"
- kotlinOptions.sourceMap = !production
- kotlinOptions.moduleKind = 'umd'
- }
-
- compileTestKotlin2Js {
- kotlinOptions.metaInfo = true
- kotlinOptions.outputFile = "$project.buildDir.path/js-tests/${project.name}-tests.js"
- kotlinOptions.sourceMap = !production
- kotlinOptions.moduleKind = 'umd'
- }
-
-}
-
-task copyResources(type: Copy) {
- from "src/main/resources"
- into file(buildDir.path + "/js")
-}
-
-task copyResourcesForTests(type: Copy) {
- from "src/main/resources"
- into file(buildDir.path + "/js-tests/")
-}
-
-if (!project.gradle.startParameter.taskNames.contains("dokka")) {
- afterEvaluate {
- tasks.getByName("webpack-bundle") { dependsOn(copyResources) }
- tasks.getByName("webpack-run") { dependsOn(copyResources) }
- tasks.getByName("test") { dependsOn(copyResources, copyResourcesForTests) }
- tasks.getByName("karma-start") { dependsOn(copyResources, copyResourcesForTests) }
- }
-}