From 9e243a469ae6544e8cf523ad09b959f541c3f565 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Wed, 11 Mar 2020 16:18:17 +0100 Subject: Upgrade to Kotlin 1.3.70 + other dependencies (Coroutinse, Serialization, Spring Boot) Major refactoring of build architecture. --- bintray.gradle | 24 - build.gradle | 262 --------- build.gradle.kts | 141 +++++ buildSrc/build.gradle.kts | 13 + buildSrc/src/main/kotlin/Shared.kt | 121 +++++ detekt.yml | 538 ------------------- dokka/kvision-dokka-helper.jar | Bin 12580 -> 0 bytes gradle.properties | 25 +- gradle/wrapper/gradle-wrapper.jar | Bin 56177 -> 58702 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 51 +- gradlew.bat | 18 +- kvision-modules/kvision-base/build.gradle | 7 - kvision-modules/kvision-bootstrap-css/build.gradle | 9 - .../kvision-bootstrap-css/build.gradle.kts | 46 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 1 - .../kvision-bootstrap-css/webpack.config.d/file.js | 9 + .../webpack.config.d/jquery.js | 14 +- .../kvision-bootstrap-datetime/build.gradle | 9 - .../kvision-bootstrap-datetime/build.gradle.kts | 46 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../kvision-bootstrap-dialog/build.gradle | 6 - .../kvision-bootstrap-dialog/build.gradle.kts | 44 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../kvision-bootstrap-select-remote/build.gradle | 6 - .../build.gradle.kts | 74 +++ .../package.json.d/project.info | 3 - .../kvision/form/select/SelectRemoteInput.kt | 4 +- .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../kvision-bootstrap-select/build.gradle | 10 - .../kvision-bootstrap-select/build.gradle.kts | 68 +++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../webpack.config.d/jquery.js | 14 +- .../kvision-bootstrap-spinner/build.gradle | 9 - .../kvision-bootstrap-spinner/build.gradle.kts | 46 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../webpack.config.d/jquery.js | 14 +- .../build.gradle | 6 - .../build.gradle.kts | 42 ++ .../package.json.d/project.info | 3 - .../kvision/form/text/TypeaheadRemoteInput.kt | 6 +- .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../kvision-bootstrap-typeahead/build.gradle | 9 - .../kvision-bootstrap-typeahead/build.gradle.kts | 46 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + .../webpack.config.d/jquery.js | 14 +- .../kvision-bootstrap-upload/build.gradle | 13 - .../kvision-bootstrap-upload/build.gradle.kts | 71 +++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 +- .../webpack.config.d/jquery.js | 14 +- kvision-modules/kvision-bootstrap/build.gradle | 12 - kvision-modules/kvision-bootstrap/build.gradle.kts | 49 ++ .../kvision-bootstrap/package.json.d/project.info | 3 - .../kotlin/pl/treksoft/kvision/panel/TabPanel.kt | 1 + .../webpack.config.d/bootstrap.js | 1 - .../kvision-bootstrap/webpack.config.d/file.js | 9 + .../kvision-bootstrap/webpack.config.d/jquery.js | 14 +- kvision-modules/kvision-chart/build.gradle | 9 - kvision-modules/kvision-chart/build.gradle.kts | 46 ++ .../kvision-chart/package.json.d/project.info | 3 - .../kvision-chart/webpack.config.d/bootstrap.js | 3 + .../kvision-chart/webpack.config.d/file.js | 9 + .../kvision-common-annotations/build.gradle | 7 - .../kvision-common-annotations/build.gradle.kts | 49 ++ .../pl/treksoft/kvision/annotations/Annotations.kt | 25 + .../pl/treksoft/kvision/annotations/Annotations.kt | 25 - kvision-modules/kvision-common-remote/build.gradle | 10 - .../kvision-common-remote/build.gradle.kts | 57 ++ .../kotlin/pl/treksoft/kvision/remote/JsonRpc.kt | 38 ++ .../pl/treksoft/kvision/remote/KVServiceMgr.kt | 28 + .../pl/treksoft/kvision/remote/RemoteTypes.kt | 56 ++ .../kotlin/pl/treksoft/kvision/remote/CallAgent.kt | 159 ++++++ .../pl/treksoft/kvision/remote/KVRemoteAgent.kt | 577 ++++++++++++++++++++ .../pl/treksoft/kvision/remote/RemoteAgent.kt | 199 +++++++ .../kotlin/pl/treksoft/kvision/remote/Security.kt | 115 ++++ .../kotlin/pl/treksoft/kvision/remote/Socket.kt | 186 +++++++ .../kotlin/pl/treksoft/kvision/remote/Utils.kt | 74 +++ .../kotlin/pl/treksoft/kvision/types/Date.kt | 91 ++++ .../pl/treksoft/kvision/remote/Annotations.kt | 30 -- .../kotlin/pl/treksoft/kvision/remote/JsonRpc.kt | 38 -- .../pl/treksoft/kvision/remote/KVServiceManager.kt | 129 ----- .../pl/treksoft/kvision/remote/RemoteTypes.kt | 48 -- kvision-modules/kvision-common-types/build.gradle | 7 - .../kvision-common-types/build.gradle.kts | 52 ++ .../kotlin/pl/treksoft/kvision/types/Date.kt | 32 ++ .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 24 + .../kotlin/pl/treksoft/kvision/types/KFile.kt | 34 ++ .../kotlin/pl/treksoft/kvision/types/Date.kt | 36 ++ .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 24 + .../kotlin/pl/treksoft/kvision/types/Date.kt | 200 +++++++ .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 47 ++ .../main/kotlin/pl/treksoft/kvision/types/Date.kt | 32 -- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 24 - .../main/kotlin/pl/treksoft/kvision/types/KFile.kt | 34 -- kvision-modules/kvision-cordova/build.gradle | 5 - kvision-modules/kvision-cordova/build.gradle.kts | 43 ++ .../kvision-cordova/webpack.config.d/bootstrap.js | 3 + .../kvision-cordova/webpack.config.d/file.js | 9 + kvision-modules/kvision-datacontainer/build.gradle | 1 - .../kvision-datacontainer/build.gradle.kts | 39 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../kvision-datacontainer/webpack.config.d/file.js | 9 + kvision-modules/kvision-electron/build.gradle | 33 -- kvision-modules/kvision-electron/build.gradle.kts | 43 ++ .../kvision-electron/webpack.config.d/bootstrap.js | 3 + .../kvision-electron/webpack.config.d/css.js | 2 + .../kvision-electron/webpack.config.d/file.js | 9 + kvision-modules/kvision-event-flow/build.gradle | 5 - .../kvision-event-flow/build.gradle.kts | 43 ++ .../kvision-event-flow/package.json.d/project.info | 3 - .../kotlin/pl/treksoft/kvision/event/EventFlow.kt | 8 +- .../webpack.config.d/bootstrap.js | 3 + .../kvision-event-flow/webpack.config.d/file.js | 9 + kvision-modules/kvision-fontawesome/build.gradle | 9 - .../kvision-fontawesome/build.gradle.kts | 46 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 1 - .../kvision-fontawesome/webpack.config.d/file.js | 9 + .../kvision-fontawesome/webpack.config.d/jquery.js | 14 +- kvision-modules/kvision-handlebars/build.gradle | 10 - .../kvision-handlebars/build.gradle.kts | 47 ++ .../kvision-handlebars/package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../kvision-handlebars/webpack.config.d/css.js | 2 + .../kvision-handlebars/webpack.config.d/file.js | 9 + kvision-modules/kvision-i18n/build.gradle | 9 - kvision-modules/kvision-i18n/build.gradle.kts | 46 ++ .../kvision-i18n/package.json.d/project.info | 3 - .../kvision-i18n/webpack.config.d/bootstrap.js | 3 + .../kvision-i18n/webpack.config.d/file.js | 9 + kvision-modules/kvision-maps/build.gradle | 9 - kvision-modules/kvision-maps/build.gradle.kts | 49 ++ .../kvision-maps/package.json.d/project.info | 3 - .../kvision-maps/webpack.config.d/bootstrap.js | 3 + .../kvision-maps/webpack.config.d/file.js | 9 +- kvision-modules/kvision-moment/build.gradle | 9 - kvision-modules/kvision-moment/build.gradle.kts | 46 ++ .../kvision-moment/package.json.d/project.info | 3 - .../kvision-moment/webpack.config.d/bootstrap.js | 3 + .../kvision-moment/webpack.config.d/css.js | 2 + .../kvision-moment/webpack.config.d/file.js | 9 + kvision-modules/kvision-pace/build.gradle | 9 - kvision-modules/kvision-pace/build.gradle.kts | 46 ++ .../kvision-pace/package.json.d/project.info | 3 - .../kvision-pace/webpack.config.d/bootstrap.js | 3 + .../kvision-pace/webpack.config.d/file.js | 9 + kvision-modules/kvision-redux-kotlin/build.gradle | 6 - .../kvision-redux-kotlin/build.gradle.kts | 45 ++ .../package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../kvision-redux-kotlin/webpack.config.d/file.js | 9 + kvision-modules/kvision-redux/build.gradle | 16 - kvision-modules/kvision-redux/build.gradle.kts | 52 ++ .../kvision-redux/package.json.d/project.info | 3 - .../kotlin/pl/treksoft/kvision/redux/ReduxStore.kt | 7 +- .../kvision-redux/webpack.config.d/bootstrap.js | 3 + .../kvision-redux/webpack.config.d/file.js | 9 + kvision-modules/kvision-remote/build.gradle | 38 -- .../kotlin/pl/treksoft/kvision/remote/CallAgent.kt | 159 ------ .../pl/treksoft/kvision/remote/KVRemoteAgent.kt | 562 -------------------- .../pl/treksoft/kvision/remote/KVServiceManager.kt | 160 ------ .../pl/treksoft/kvision/remote/RemoteAgent.kt | 207 -------- .../kotlin/pl/treksoft/kvision/remote/Security.kt | 115 ---- .../kotlin/pl/treksoft/kvision/remote/Socket.kt | 186 ------- .../kotlin/pl/treksoft/kvision/remote/Utils.kt | 74 --- .../main/kotlin/pl/treksoft/kvision/types/Date.kt | 97 ---- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 24 - kvision-modules/kvision-richtext/build.gradle | 9 - kvision-modules/kvision-richtext/build.gradle.kts | 67 +++ .../kvision-richtext/package.json.d/project.info | 3 - .../kvision-richtext/webpack.config.d/bootstrap.js | 3 + .../kvision-richtext/webpack.config.d/file.js | 9 + .../kvision-richtext/webpack.config.d/jquery.js | 14 +- .../kvision-server-javalin/build.gradle | 30 -- .../kvision-server-javalin/build.gradle.kts | 69 +++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 122 +++++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 160 ++++++ .../kotlin/pl/treksoft/kvision/remote/KVModules.kt | 54 ++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 565 ++++++++++++++++++++ .../treksoft/kvision/remote/SessionInterfaces.kt | 43 ++ .../kotlin/pl/treksoft/kvision/remote/KVModules.kt | 54 -- .../pl/treksoft/kvision/remote/KVServiceManager.kt | 565 -------------------- .../treksoft/kvision/remote/SessionInterfaces.kt | 43 -- .../main/kotlin/pl/treksoft/kvision/types/Date.kt | 200 ------- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 47 -- kvision-modules/kvision-server-jooby/build.gradle | 37 -- .../kvision-server-jooby/build.gradle.kts | 68 +++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 122 +++++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 160 ++++++ .../kotlin/pl/treksoft/kvision/remote/KVModules.kt | 49 ++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 526 ++++++++++++++++++ .../treksoft/kvision/remote/SessionInterfaces.kt | 33 ++ .../kotlin/pl/treksoft/kvision/remote/KVModules.kt | 49 -- .../pl/treksoft/kvision/remote/KVServiceManager.kt | 526 ------------------ .../treksoft/kvision/remote/SessionInterfaces.kt | 33 -- .../main/kotlin/pl/treksoft/kvision/types/Date.kt | 200 ------- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 47 -- kvision-modules/kvision-server-ktor/build.gradle | 29 - .../kvision-server-ktor/build.gradle.kts | 70 +++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 122 +++++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 160 ++++++ .../kotlin/pl/treksoft/kvision/remote/KVModules.kt | 136 +++++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 557 ++++++++++++++++++++ .../kotlin/pl/treksoft/kvision/remote/KVModules.kt | 136 ----- .../pl/treksoft/kvision/remote/KVServiceManager.kt | 557 -------------------- .../main/kotlin/pl/treksoft/kvision/types/Date.kt | 200 ------- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 47 -- .../kvision-server-spring-boot/build.gradle | 40 -- .../kvision-server-spring-boot/build.gradle.kts | 72 +++ .../pl/treksoft/kvision/remote/Annotations.kt | 30 ++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 122 +++++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 160 ++++++ .../pl/treksoft/kvision/remote/Annotations.kt | 29 + .../kvision/remote/KVRouterConfiguration.kt | 81 +++ .../pl/treksoft/kvision/remote/KVServiceManager.kt | 586 +++++++++++++++++++++ .../treksoft/kvision/remote/KVWebSocketConfig.kt | 110 ++++ .../kotlin/pl/treksoft/kvision/remote/Security.kt | 67 +++ .../treksoft/kvision/remote/SessionInterfaces.kt | 43 ++ .../jvmMain/resources/META-INF/spring.factories | 1 + .../pl/treksoft/kvision/remote/Annotations.kt | 29 - .../kvision/remote/KVRouterConfiguration.kt | 81 --- .../pl/treksoft/kvision/remote/KVServiceManager.kt | 586 --------------------- .../treksoft/kvision/remote/KVWebSocketConfig.kt | 108 ---- .../kotlin/pl/treksoft/kvision/remote/Security.kt | 67 --- .../treksoft/kvision/remote/SessionInterfaces.kt | 43 -- .../main/kotlin/pl/treksoft/kvision/types/Date.kt | 200 ------- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 47 -- .../src/main/resources/META-INF/spring.factories | 1 - .../kvision-tabulator-remote/build.gradle | 6 - .../kvision-tabulator-remote/build.gradle.kts | 42 ++ .../package.json.d/project.info | 3 - .../treksoft/kvision/tabulator/TabulatorRemote.kt | 5 +- .../webpack.config.d/bootstrap.js | 3 + .../webpack.config.d/file.js | 9 + kvision-modules/kvision-tabulator/build.gradle | 9 - kvision-modules/kvision-tabulator/build.gradle.kts | 46 ++ .../kvision-tabulator/package.json.d/project.info | 3 - .../webpack.config.d/bootstrap.js | 3 + .../kvision-tabulator/webpack.config.d/file.js | 9 + kvision-modules/kvision-testutils/build.gradle | 61 --- kvision-modules/kvision-testutils/build.gradle.kts | 48 ++ .../webpack.config.d/bootstrap.js | 3 + .../kvision-testutils/webpack.config.d/css.js | 2 + .../kvision-testutils/webpack.config.d/file.js | 9 + kvision-modules/shared.gradle | 77 --- kvision-tools/kvision-compiler-plugin/build.gradle | 16 - .../kvision-compiler-plugin/build.gradle.kts | 33 ++ .../pl/treksoft/kvision/annotations/Annotations.kt | 25 + .../kvision/plugin/CommonComponentRegistrar.kt | 2 - ...rains.kotlin.compiler.plugin.ComponentRegistrar | 1 + kvision-tools/kvision-gradle-plugin/build.gradle | 20 - .../kvision-gradle-plugin/build.gradle.kts | 44 ++ .../kvision/gradle/KVisionGradleSubplugin.kt | 2 - ...ains.kotlin.gradle.plugin.KotlinGradleSubplugin | 1 + pom.gradle | 33 -- settings.gradle | 40 -- settings.gradle.kts | 58 ++ src/main/kotlin/pl/treksoft/kvision/KVManager.kt | 6 +- src/main/kotlin/pl/treksoft/kvision/core/Widget.kt | 2 +- src/main/kotlin/pl/treksoft/kvision/form/Form.kt | 58 +- .../kotlin/pl/treksoft/kvision/form/FormPanel.kt | 12 +- .../kotlin/pl/treksoft/kvision/html/Template.kt | 2 +- .../kotlin/pl/treksoft/kvision/rest/RestClient.kt | 20 +- src/main/kotlin/pl/treksoft/kvision/types/Date.kt | 19 +- .../kotlin/pl/treksoft/kvision/types/Decimal.kt | 24 - src/main/kotlin/pl/treksoft/kvision/utils/JSON.kt | 4 +- .../test/pl/treksoft/kvision/form/FormSpec.kt | 1 - .../test/pl/treksoft/kvision/html/ImageSpec.kt | 2 +- src/test/resources/css/style.css | 445 ++++++++++++++++ src/test/resources/img/placeholder.png | 0 webpack.config.d/bootstrap.js | 1 - webpack.config.d/file.js | 9 +- webpack.config.d/jed.js | 10 +- webpack.config.d/jquery.js | 14 +- webpack.config.d/moment.js | 16 +- webpack.config.d/webpack.js | 1 + 292 files changed, 9178 insertions(+), 7621 deletions(-) delete mode 100644 bintray.gradle delete mode 100644 build.gradle create mode 100644 build.gradle.kts create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/kotlin/Shared.kt delete mode 100644 detekt.yml delete mode 100644 dokka/kvision-dokka-helper.jar delete mode 100644 kvision-modules/kvision-base/build.gradle delete mode 100644 kvision-modules/kvision-bootstrap-css/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-css/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-css/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-css/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-datetime/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-datetime/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-datetime/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-datetime/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-datetime/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-dialog/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-dialog/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-dialog/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-dialog/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-dialog/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-select-remote/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-select-remote/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-select-remote/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-select/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-select/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-select/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-select/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-select/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-spinner/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-spinner/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-spinner/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-spinner/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-spinner/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-typeahead-remote/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-typeahead-remote/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-typeahead-remote/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-typeahead-remote/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-typeahead-remote/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-typeahead/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-typeahead/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-typeahead/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-typeahead/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-bootstrap-typeahead/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-bootstrap-upload/build.gradle create mode 100644 kvision-modules/kvision-bootstrap-upload/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap-upload/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap-upload/webpack.config.d/bootstrap.js delete mode 100644 kvision-modules/kvision-bootstrap/build.gradle create mode 100644 kvision-modules/kvision-bootstrap/build.gradle.kts delete mode 100644 kvision-modules/kvision-bootstrap/package.json.d/project.info create mode 100644 kvision-modules/kvision-bootstrap/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-chart/build.gradle create mode 100644 kvision-modules/kvision-chart/build.gradle.kts delete mode 100644 kvision-modules/kvision-chart/package.json.d/project.info create mode 100644 kvision-modules/kvision-chart/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-chart/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-common-annotations/build.gradle create mode 100644 kvision-modules/kvision-common-annotations/build.gradle.kts create mode 100644 kvision-modules/kvision-common-annotations/src/commonMain/kotlin/pl/treksoft/kvision/annotations/Annotations.kt delete mode 100644 kvision-modules/kvision-common-annotations/src/main/kotlin/pl/treksoft/kvision/annotations/Annotations.kt delete mode 100644 kvision-modules/kvision-common-remote/build.gradle create mode 100644 kvision-modules/kvision-common-remote/build.gradle.kts create mode 100644 kvision-modules/kvision-common-remote/src/commonMain/kotlin/pl/treksoft/kvision/remote/JsonRpc.kt create mode 100644 kvision-modules/kvision-common-remote/src/commonMain/kotlin/pl/treksoft/kvision/remote/KVServiceMgr.kt create mode 100644 kvision-modules/kvision-common-remote/src/commonMain/kotlin/pl/treksoft/kvision/remote/RemoteTypes.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/remote/CallAgent.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/remote/KVRemoteAgent.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/remote/RemoteAgent.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/remote/Security.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/remote/Socket.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/remote/Utils.kt create mode 100644 kvision-modules/kvision-common-remote/src/jsMain/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/Annotations.kt delete mode 100644 kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/JsonRpc.kt delete mode 100644 kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/RemoteTypes.kt delete mode 100644 kvision-modules/kvision-common-types/build.gradle create mode 100644 kvision-modules/kvision-common-types/build.gradle.kts create mode 100644 kvision-modules/kvision-common-types/src/commonMain/kotlin/pl/treksoft/kvision/types/Date.kt create mode 100644 kvision-modules/kvision-common-types/src/commonMain/kotlin/pl/treksoft/kvision/types/Decimal.kt create mode 100644 kvision-modules/kvision-common-types/src/commonMain/kotlin/pl/treksoft/kvision/types/KFile.kt create mode 100644 kvision-modules/kvision-common-types/src/jsMain/kotlin/pl/treksoft/kvision/types/Date.kt create mode 100644 kvision-modules/kvision-common-types/src/jsMain/kotlin/pl/treksoft/kvision/types/Decimal.kt create mode 100644 kvision-modules/kvision-common-types/src/jvmMain/kotlin/pl/treksoft/kvision/types/Date.kt create mode 100644 kvision-modules/kvision-common-types/src/jvmMain/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-common-types/src/main/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-common-types/src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-common-types/src/main/kotlin/pl/treksoft/kvision/types/KFile.kt delete mode 100644 kvision-modules/kvision-cordova/build.gradle create mode 100644 kvision-modules/kvision-cordova/build.gradle.kts create mode 100644 kvision-modules/kvision-cordova/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-cordova/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-datacontainer/build.gradle create mode 100644 kvision-modules/kvision-datacontainer/build.gradle.kts delete mode 100644 kvision-modules/kvision-datacontainer/package.json.d/project.info create mode 100644 kvision-modules/kvision-datacontainer/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-datacontainer/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-electron/build.gradle create mode 100644 kvision-modules/kvision-electron/build.gradle.kts create mode 100644 kvision-modules/kvision-electron/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-electron/webpack.config.d/css.js create mode 100644 kvision-modules/kvision-electron/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-event-flow/build.gradle create mode 100644 kvision-modules/kvision-event-flow/build.gradle.kts delete mode 100644 kvision-modules/kvision-event-flow/package.json.d/project.info create mode 100644 kvision-modules/kvision-event-flow/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-event-flow/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-fontawesome/build.gradle create mode 100644 kvision-modules/kvision-fontawesome/build.gradle.kts delete mode 100644 kvision-modules/kvision-fontawesome/package.json.d/project.info create mode 100644 kvision-modules/kvision-fontawesome/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-handlebars/build.gradle create mode 100644 kvision-modules/kvision-handlebars/build.gradle.kts delete mode 100644 kvision-modules/kvision-handlebars/package.json.d/project.info create mode 100644 kvision-modules/kvision-handlebars/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-handlebars/webpack.config.d/css.js create mode 100644 kvision-modules/kvision-handlebars/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-i18n/build.gradle create mode 100644 kvision-modules/kvision-i18n/build.gradle.kts delete mode 100644 kvision-modules/kvision-i18n/package.json.d/project.info create mode 100644 kvision-modules/kvision-i18n/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-i18n/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-maps/build.gradle create mode 100644 kvision-modules/kvision-maps/build.gradle.kts delete mode 100644 kvision-modules/kvision-maps/package.json.d/project.info create mode 100644 kvision-modules/kvision-maps/webpack.config.d/bootstrap.js delete mode 100644 kvision-modules/kvision-moment/build.gradle create mode 100644 kvision-modules/kvision-moment/build.gradle.kts delete mode 100644 kvision-modules/kvision-moment/package.json.d/project.info create mode 100644 kvision-modules/kvision-moment/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-moment/webpack.config.d/css.js create mode 100644 kvision-modules/kvision-moment/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-pace/build.gradle create mode 100644 kvision-modules/kvision-pace/build.gradle.kts delete mode 100644 kvision-modules/kvision-pace/package.json.d/project.info create mode 100644 kvision-modules/kvision-pace/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-pace/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-redux-kotlin/build.gradle create mode 100644 kvision-modules/kvision-redux-kotlin/build.gradle.kts delete mode 100644 kvision-modules/kvision-redux-kotlin/package.json.d/project.info create mode 100644 kvision-modules/kvision-redux-kotlin/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-redux-kotlin/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-redux/build.gradle create mode 100644 kvision-modules/kvision-redux/build.gradle.kts delete mode 100644 kvision-modules/kvision-redux/package.json.d/project.info create mode 100644 kvision-modules/kvision-redux/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-redux/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-remote/build.gradle delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/CallAgent.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVRemoteAgent.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/RemoteAgent.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/Security.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/Socket.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/Utils.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-richtext/build.gradle create mode 100644 kvision-modules/kvision-richtext/build.gradle.kts delete mode 100644 kvision-modules/kvision-richtext/package.json.d/project.info create mode 100644 kvision-modules/kvision-richtext/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-richtext/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-server-javalin/build.gradle create mode 100644 kvision-modules/kvision-server-javalin/build.gradle.kts create mode 100644 kvision-modules/kvision-server-javalin/src/commonMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-javalin/src/jsMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-javalin/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVModules.kt create mode 100644 kvision-modules/kvision-server-javalin/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-javalin/src/jvmMain/kotlin/pl/treksoft/kvision/remote/SessionInterfaces.kt delete mode 100644 kvision-modules/kvision-server-javalin/src/main/kotlin/pl/treksoft/kvision/remote/KVModules.kt delete mode 100644 kvision-modules/kvision-server-javalin/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-server-javalin/src/main/kotlin/pl/treksoft/kvision/remote/SessionInterfaces.kt delete mode 100644 kvision-modules/kvision-server-javalin/src/main/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-server-javalin/src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-server-jooby/build.gradle create mode 100644 kvision-modules/kvision-server-jooby/build.gradle.kts create mode 100644 kvision-modules/kvision-server-jooby/src/commonMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-jooby/src/jsMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-jooby/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVModules.kt create mode 100644 kvision-modules/kvision-server-jooby/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-jooby/src/jvmMain/kotlin/pl/treksoft/kvision/remote/SessionInterfaces.kt delete mode 100644 kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/KVModules.kt delete mode 100644 kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/SessionInterfaces.kt delete mode 100644 kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-server-ktor/build.gradle create mode 100644 kvision-modules/kvision-server-ktor/build.gradle.kts create mode 100644 kvision-modules/kvision-server-ktor/src/commonMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-ktor/src/jsMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-ktor/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVModules.kt create mode 100644 kvision-modules/kvision-server-ktor/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/remote/KVModules.kt delete mode 100644 kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/build.gradle create mode 100644 kvision-modules/kvision-server-spring-boot/build.gradle.kts create mode 100644 kvision-modules/kvision-server-spring-boot/src/commonMain/kotlin/pl/treksoft/kvision/remote/Annotations.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/commonMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jsMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/kotlin/pl/treksoft/kvision/remote/Annotations.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVRouterConfiguration.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/kotlin/pl/treksoft/kvision/remote/KVWebSocketConfig.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/kotlin/pl/treksoft/kvision/remote/Security.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/kotlin/pl/treksoft/kvision/remote/SessionInterfaces.kt create mode 100644 kvision-modules/kvision-server-spring-boot/src/jvmMain/resources/META-INF/spring.factories delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/Annotations.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVRouterConfiguration.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVWebSocketConfig.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/Security.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/SessionInterfaces.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/types/Date.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt delete mode 100644 kvision-modules/kvision-server-spring-boot/src/main/resources/META-INF/spring.factories delete mode 100644 kvision-modules/kvision-tabulator-remote/build.gradle create mode 100644 kvision-modules/kvision-tabulator-remote/build.gradle.kts delete mode 100644 kvision-modules/kvision-tabulator-remote/package.json.d/project.info create mode 100644 kvision-modules/kvision-tabulator-remote/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-tabulator-remote/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-tabulator/build.gradle create mode 100644 kvision-modules/kvision-tabulator/build.gradle.kts delete mode 100644 kvision-modules/kvision-tabulator/package.json.d/project.info create mode 100644 kvision-modules/kvision-tabulator/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-tabulator/webpack.config.d/file.js delete mode 100644 kvision-modules/kvision-testutils/build.gradle create mode 100644 kvision-modules/kvision-testutils/build.gradle.kts create mode 100644 kvision-modules/kvision-testutils/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-testutils/webpack.config.d/css.js create mode 100644 kvision-modules/kvision-testutils/webpack.config.d/file.js delete mode 100644 kvision-modules/shared.gradle delete mode 100644 kvision-tools/kvision-compiler-plugin/build.gradle create mode 100644 kvision-tools/kvision-compiler-plugin/build.gradle.kts create mode 100644 kvision-tools/kvision-compiler-plugin/src/main/kotlin/pl/treksoft/kvision/annotations/Annotations.kt create mode 100644 kvision-tools/kvision-compiler-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar delete mode 100644 kvision-tools/kvision-gradle-plugin/build.gradle create mode 100644 kvision-tools/kvision-gradle-plugin/build.gradle.kts create mode 100644 kvision-tools/kvision-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin delete mode 100644 pom.gradle delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts delete mode 100644 src/main/kotlin/pl/treksoft/kvision/types/Decimal.kt create mode 100644 src/test/resources/css/style.css create mode 100644 src/test/resources/img/placeholder.png create mode 100644 webpack.config.d/webpack.js diff --git a/bintray.gradle b/bintray.gradle deleted file mode 100644 index f55e4aa5..00000000 --- a/bintray.gradle +++ /dev/null @@ -1,24 +0,0 @@ -bintray { - user = findProperty('buser') - key = findProperty('bkey') - pkg { - repo = 'kotlin' - name = "${project.name}" - licenses = ['MIT'] - vcsUrl = "https://github.com/rjaros/kvision.git" - version { - name = "${project.version}" - desc = 'Object oriented web framework for Kotlin/JS' - released = new Date() - vcsTag = project.version - } - } - filesSpec { - from "${project.buildDir}/libs/" - into "pl/treksoft/${project.name}/${project.version}" - } -} - -bintrayUpload { - dependsOn "generatePomFileForMavenProjectPublication" -} 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) } - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..e0480fec --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,141 @@ +buildscript { + extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true") +} + +plugins { + val kotlinVersion: String by System.getProperties() + id("kotlinx-serialization") version kotlinVersion + kotlin("js") + id("maven-publish") + val dokkaVersion: String by System.getProperties() + id("org.jetbrains.dokka") version dokkaVersion +} + +repositories() + +// Versions +val kotlinVersion: String by System.getProperties() +val serializationVersion: String by project +val coroutinesVersion: String by project +val snabbdomKotlinVersion: String by project +val navigoKotlinVersion: String by project +val jqueryKotlinVersion: String by project + +// Custom Properties +val webDir = file("src/main/web") + +kotlin { + kotlinJsTargets() +} + +dependencies { + implementation(kotlin("stdlib-js")) + api(project(":kvision-modules:kvision-common-types")) + api("org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serializationVersion") + api("com.github.snabbdom:snabbdom-kotlin:$snabbdomKotlinVersion") + api("pl.treksoft:navigo-kotlin:$navigoKotlinVersion") + api("pl.treksoft:jquery-kotlin:$jqueryKotlinVersion") + implementation(npm("css-loader", "3.3.2")) + implementation(npm("style-loader", "1.0.1")) + implementation(npm("less", "3.10.3")) + implementation(npm("less-loader", "5.0.0")) + implementation(npm("imports-loader", "0.8.0")) + implementation(npm("uglifyjs-webpack-plugin", "2.2.0")) + implementation(npm("file-loader", "5.0.2")) + implementation(npm("url-loader", "3.0.0")) + implementation(npm("jquery", "3.4.1")) + implementation(npm("fecha", "3.0.3")) + implementation(npm("snabbdom", "0.7.4")) + implementation(npm("snabbdom-virtualize", "0.7.0")) + implementation(npm("jquery-resizable-dom", "0.35.0")) + implementation(npm("navigo", "7.1.2")) + testImplementation(kotlin("test-js")) +} + +val sourcesJar by tasks.registering(Jar::class) { + archiveClassifier.set("sources") + from(kotlin.sourceSets.main.get().kotlin) +} + +publishing { + publications { + create("kotlin") { + from(components["kotlin"]) + artifact(tasks["sourcesJar"]) + pom { + defaultPom() + } + } + } +} + +setupPublication() + +fun copyResources() { + copy { + from("$buildDir/processedResources/Js/main") + into("${rootProject.buildDir}/js/packages/kvision/kotlin") + } + copy { + from("$buildDir/processedResources/Js/main") + into("${rootProject.buildDir}/js/packages/kvision/kotlin-dce") + } +} + +tasks { + getByName("JsJar", Jar::class) { + from("${project.buildDir}/js/packages/kvision/package.json") + } + getByName("compileTestKotlinJs") { + doLast { + copyResources() + } + } + getByName("processDceKotlinJs") { + doLast { + copyResources() + } + } + val dokka by getting(org.jetbrains.dokka.gradle.DokkaTask::class) { + outputFormat = "html" + outputDirectory = "$buildDir/kdoc" + subProjects = listOf( + "kvision-bootstrap", + "kvision-bootstrap-css", + "kvision-bootstrap-datetime", + "kvision-bootstrap-dialog", + "kvision-bootstrap-select", + "kvision-bootstrap-select-remote", + "kvision-bootstrap-spinner", + "kvision-bootstrap-typeahead", + "kvision-bootstrap-typeahead-remote", + "kvision-bootstrap-upload", + "kvision-common-annotations", + "kvision-common-remote", + "kvision-common-types", + "kvision-chart", + "kvision-cordova", + "kvision-datacontainer", + "kvision-electron", + "kvision-event-flow", + "kvision-fontawesome", + "kvision-handlebars", + "kvision-i18n", + "kvision-maps", + "kvision-moment", + "kvision-pace", + "kvision-redux", + "kvision-redux-kotlin", + "kvision-richtext", + "kvision-tabulator", + "kvision-tabulator-remote", + "kvision-server-javalin" + ) + multiplatform { + val js by creating { + includes = listOf("Module.md") + reportUndocumented = false + } + } + } +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 00000000..5d2c5a5d --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + `kotlin-dsl` +} + +repositories { + jcenter() + mavenLocal() +} + +dependencies { + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.70") + implementation(gradleApi()) +} diff --git a/buildSrc/src/main/kotlin/Shared.kt b/buildSrc/src/main/kotlin/Shared.kt new file mode 100644 index 00000000..b72e7663 --- /dev/null +++ b/buildSrc/src/main/kotlin/Shared.kt @@ -0,0 +1,121 @@ +import org.gradle.api.Project +import org.gradle.api.publish.PublishingExtension +import org.gradle.api.publish.maven.MavenPom +import org.gradle.api.publish.maven.MavenPublication +import org.gradle.kotlin.dsl.extra +import org.gradle.kotlin.dsl.getByType +import org.gradle.kotlin.dsl.repositories +import org.gradle.kotlin.dsl.withType +import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension +import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget + +fun Project.repositories() { + repositories { + mavenCentral() + jcenter() + maven { url = uri("https://dl.bintray.com/kotlin/kotlin-eap") } + maven { url = uri("https://kotlin.bintray.com/kotlinx") } + maven { url = uri("https://dl.bintray.com/kotlin/kotlin-js-wrappers") } + maven { + url = uri("https://dl.bintray.com/gbaldeck/kotlin") + metadataSources { + mavenPom() + artifact() + } + } + maven { url = uri("https://dl.bintray.com/rjaros/kotlin") } + mavenLocal() + } +} + +fun KotlinJsProjectExtension.kotlinJsTargets() { + target { + val isProductionBuild = project.extra.get("production") as Boolean + kotlinJsTargets(isProductionBuild) + } +} + +fun KotlinMultiplatformExtension.kotlinJsTargets() { + js { + val isProductionBuild = project.extra.get("production") as Boolean + kotlinJsTargets(isProductionBuild) + } +} + +private fun KotlinJsTarget.kotlinJsTargets(isProductionBuild: Boolean) { + compilations.all { + kotlinOptions { + moduleKind = "umd" + sourceMap = !isProductionBuild + if (!isProductionBuild) { + sourceMapEmbedSources = "always" + } + } + } + browser { + testTask { + useKarma { + useChromeHeadless() + } + } + } +} + +fun KotlinMultiplatformExtension.kotlinJvmTargets() { + jvm { + compilations.all { + kotlinOptions { + jvmTarget = "1.8" + freeCompilerArgs = listOf("-Xjsr305=strict") + } + } + } +} + +fun MavenPom.defaultPom() { + name.set("KVision") + description.set("Object oriented web framework for Kotlin/JS") + url.set("https://github.com/rjaros/kvision") + licenses { + license { + name.set("MIT") + url.set("https://opensource.org/licenses/MIT") + } + } + developers { + developer { + id.set("rjaros") + name.set("Robert Jaros") + organization.set("Treksoft") + organizationUrl.set("http://www.treksoft.pl") + } + } + scm { + url.set("https://github.com/rjaros/kvision.git") + connection.set("scm:git:git://github.com/rjaros/kvision.git") + developerConnection.set("scm:git:git://github.com/rjaros/kvision.git") + } +} + +fun Project.setupPublication() { + plugins.apply("maven-publish") + + extensions.getByType().run { + publications.withType().all { + pom { + defaultPom() + } + } + + repositories { + maven { + url = uri("https://api.bintray.com/maven/rjaros/kotlin/${project.name}/;publish=0;override=1") + credentials { + username = findProperty("buser")?.toString() + password = findProperty("bkey")?.toString() + } + } + } + } +} diff --git a/detekt.yml b/detekt.yml deleted file mode 100644 index 14960490..00000000 --- a/detekt.yml +++ /dev/null @@ -1,538 +0,0 @@ -build: - maxIssues: 10 - weights: - # complexity: 2 - # LongParameterList: 1 - # style: 1 - # comments: 1 - -processors: - active: true - exclude: - # - 'FunctionCountProcessor' - # - 'PropertyCountProcessor' - # - 'ClassCountProcessor' - # - 'PackageCountProcessor' - # - 'KtFileCountProcessor' - -console-reports: - active: true - exclude: - # - 'ProjectStatisticsReport' - # - 'ComplexityReport' - # - 'NotificationReport' - # - 'FindingsReport' - # - 'BuildFailureReport' - -comments: - active: true - excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" - CommentOverPrivateFunction: - active: false - CommentOverPrivateProperty: - active: false - EndOfSentenceFormat: - active: false - endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!:]$) - UndocumentedPublicClass: - active: false - searchInNestedClass: true - searchInInnerClass: true - searchInInnerObject: true - searchInInnerInterface: true - UndocumentedPublicFunction: - active: false - -complexity: - active: true - ComplexCondition: - active: true - threshold: 4 - ComplexInterface: - active: false - threshold: 10 - includeStaticDeclarations: false - ComplexMethod: - active: true - threshold: 10 - ignoreSingleWhenExpression: false - ignoreSimpleWhenEntries: false - LabeledExpression: - active: false - ignoredLabels: "" - LargeClass: - active: true - threshold: 600 - LongMethod: - active: false - threshold: 60 - LongParameterList: - active: false - threshold: 6 - ignoreDefaultParameters: false - MethodOverloading: - active: false - threshold: 6 - NestedBlockDepth: - active: true - threshold: 4 - StringLiteralDuplication: - active: false - excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" - threshold: 3 - ignoreAnnotation: true - excludeStringsWithLessThan5Characters: true - ignoreStringsRegex: '$^' - TooManyFunctions: - active: true - excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" - thresholdInFiles: 11 - thresholdInClasses: 11 - thresholdInInterfaces: 11 - thresholdInObjects: 11 - thresholdInEnums: 11 - ignoreDeprecated: false - ignorePrivate: false - ignoreOverridden: false - -empty-blocks: - active: true - EmptyCatchBlock: - active: true - allowedExceptionNameRegex: "^(_|(ignore|expected).*)" - EmptyClassBlock: - active: true - EmptyDefaultConstructor: - active: true - EmptyDoWhileBlock: - active: true - EmptyElseBlock: - active: true - EmptyFinallyBlock: - active: true - EmptyForBlock: - active: true - EmptyFunctionBlock: - active: true - ignoreOverriddenFunctions: false - EmptyIfBlock: - active: true - EmptyInitBlock: - active: true - EmptyKtFile: - active: true - EmptySecondaryConstructor: - active: true - EmptyWhenBlock: - active: true - EmptyWhileBlock: - active: true - -exceptions: - active: true - ExceptionRaisedInUnexpectedLocation: - active: false - methodNames: 'toString,hashCode,equals,finalize' - InstanceOfCheckForException: - active: false - excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" - NotImplementedDeclaration: - active: false - PrintStackTrace: - active: false - RethrowCaughtException: - active: false - ReturnFromFinally: - active: false - SwallowedException: - active: false - ignoredExceptionTypes: 'InterruptedException,NumberFormatException,ParseException,MalformedURLException' - ThrowingExceptionFromFinally: - active: false - ThrowingExceptionInMain: - active: false - ThrowingExceptionsWithoutMessageOrCause: - active: false - exceptions: 'IllegalArgumentException,IllegalStateException,IOException' - ThrowingNewInstanceOfSameException: - active: false - TooGenericExceptionCaught: - active: true - excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" - exceptionNames: - - ArrayIndexOutOfBoundsException - - Error - - Exception - - IllegalMonitorStateException - - NullPointerException - - IndexOutOfBoundsException - - RuntimeExce