aboutsummaryrefslogtreecommitdiff
path: root/Config.md
diff options
context:
space:
mode:
Diffstat (limited to 'Config.md')
-rw-r--r--Config.md75
1 files changed, 75 insertions, 0 deletions
diff --git a/Config.md b/Config.md
new file mode 100644
index 00000000..3bb2198c
--- /dev/null
+++ b/Config.md
@@ -0,0 +1,75 @@
+### Project configuration
+
+KVision applications are built with [Gradle](https://gradle.org/).
+The necessary artifacts are published on [Bintray](https://bintray.com/) so you have to add some repositories in your build.gradle:
+
+ repositories {
+ jcenter()
+ maven { url = 'https://dl.bintray.com/gbaldeck/kotlin' }
+ maven { url = 'https://dl.bintray.com/rjaros/kotlin' }
+ }
+
+Next add dependencies on Kotlin and KVision:
+
+ dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
+ compile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version"
+ compile "pl.treksoft:kvision:$kvision_version"
+ }
+
+KVision applications are using [Kotlin frontend plugin](https://github.com/Kotlin/kotlin-frontend-plugin)
+to download and integrate a number of NPM dependencies. To make upgrades easier, all of them are listed in
+the single **npm.dependencies** file, located in the root directory of the project.
+Currently this file contains:
+
+ css-loader *
+ style-loader *
+ less *
+ less-loader *
+ imports-loader *
+ uglifyjs-webpack-plugin *
+ file-loader *
+ url-loader *
+ jquery 3.3.1
+ bootstrap 3.3.7
+ bootstrap-webpack 0.0.6
+ font-awesome 4.7.0
+ font-awesome-webpack 0.0.5-beta.2
+ awesome-bootstrap-checkbox 0.3.7
+ bootstrap-select 1.12.4
+ ajax-bootstrap-select 1.4.3
+ trix 0.11.1
+ fecha 2.3.2
+ bootstrap-datetime-picker 2.4.4
+ bootstrap-touchspin 3.1.1
+ snabbdom 0.6.9
+ snabbdom-virtualize 0.7.0
+ navigo 7.0.0
+ jquery-resizable-dom 0.26.0
+
+In case of an upgrade you should synchronize above content with the same [file](https://raw.githubusercontent.com/rjaros/kvision/master/npm.dependencies)
+located in the KVision source tree on GitHub.
+
+NPM dependencies are used in your build.gradle with the following configuration:
+
+ buildscript {
+ ...
+ ext.npmdeps = new File("npm.dependencies").getText()
+ ...
+ }
+ ...
+ kotlinFrontend {
+ npm {
+ npmdeps.eachLine { line ->
+ def (name, version) = line.tokenize(" ")
+ dependency(name, version)
+ }
+ devDependency("karma")
+ }
+ webpackBundle {
+ bundleName = "main"
+ contentPath = file('src/main/web')
+ }
+ }
+
+See [KVision examples](https://github.com/rjaros/kvision-examples) for more details. \ No newline at end of file