From 2c7ca3f8808935fc0c56458dca54f7bf417141f7 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Mon, 29 Jan 2018 21:03:34 +0100 Subject: Showcase example --- examples/showcase/build.gradle | 92 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 examples/showcase/build.gradle (limited to 'examples/showcase/build.gradle') diff --git a/examples/showcase/build.gradle b/examples/showcase/build.gradle new file mode 100644 index 00000000..8ffec081 --- /dev/null +++ b/examples/showcase/build.gradle @@ -0,0 +1,92 @@ +buildscript { + ext.kotlin_version = '1.2.21' + ext.production = (findProperty('prod') ?: 'false') == 'true' + ext.npmdeps = new URL("file:///home/rjaros/git/kvision/npm.dependencies").getText() + + repositories { + jcenter() + maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' } + maven { url "https://plugins.gradle.org/m2/" } + } + + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-frontend-plugin:0.0.26" + classpath "gradle.plugin.io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.0.0.RC6-2" + } +} + +apply plugin: 'kotlin2js' +apply plugin: 'org.jetbrains.kotlin.frontend' +apply plugin: "io.gitlab.arturbosch.detekt" + +repositories { + jcenter() + maven { url = 'https://dl.bintray.com/gbaldeck/kotlin' } + maven { url = 'https://dl.bintray.com/rjaros/kotlin' } + maven { + url "file:///home/rjaros/kotlin/mvn/" + } +} + +dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" + compile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version" // for now only compile configuration is supported + compile "pl.treksoft:kvision:0.0.1" +} + +kotlinFrontend { + npm { + npmdeps.eachLine { line -> + def (name, version) = line.tokenize(" ") + dependency(name, version) + } + devDependency("karma") + } + + webpackBundle { + bundleName = "main" + contentPath = file('src/main/web') + } + + define "PRODUCTION", production + +} + +detekt { + version = "1.0.0.RC6-2" + profile("main") { + input = "$projectDir/src/main/kotlin" + config = "$projectDir/detekt.yml" + filters = ".*test.*,.*/resources/.*,.*/tmp/.*" + } +} + +compileKotlin2Js { + kotlinOptions.metaInfo = true + kotlinOptions.outputFile = "$project.buildDir.path/js/${project.name}.js" + kotlinOptions.sourceMap = !production + kotlinOptions.moduleKind = 'commonjs' +} + +compileTestKotlin2Js { + kotlinOptions.metaInfo = true + kotlinOptions.outputFile = "$project.buildDir.path/js-tests/${project.name}-tests.js" + kotlinOptions.sourceMap = !production + kotlinOptions.moduleKind = 'commonjs' +} + +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/") +} + +afterEvaluate { + tasks.getByName("webpack-bundle") { dependsOn(copyResources) } + tasks.getByName("webpack-run") { dependsOn(copyResources, copyResourcesForTests) } +} -- cgit