diff options
author | Robert Jaros <rjaros@finn.pl> | 2020-03-11 16:18:17 +0100 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2020-03-11 16:18:17 +0100 |
commit | 9e243a469ae6544e8cf523ad09b959f541c3f565 (patch) | |
tree | be9c7447e221af49180c9e98434df7f988b940b8 /build.gradle | |
parent | ec6084c42c13a621e17b17bd40d90b5c7879f0ec (diff) | |
download | kvision-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.gradle | 262 |
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) } - } -} |