aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: fc9e4a1fc91f402ff3f73856a34870d9a084312d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
buildscript {
    ext.kotlin_version = '1.1.4'

    repositories {
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-frontend-plugin:0.0.20"
    }
}

group = 'pl.treksoft'
version = '0.0.1-SNAPSHOT'

apply plugin: 'kotlin2js'
apply plugin: 'org.jetbrains.kotlin.frontend'

repositories {
    jcenter()
    maven { url = 'https://dl.bintray.com/gbaldeck/kotlin' }
}

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 "com.github.snabbdom:snabbdom-kotlin:0.1.0"
}

kotlinFrontend {
    npm {
        dependency "style-loader"
        dependency ("snabbdom", "0.7.0")
        devDependency("karma")
    }

    webpackBundle {
        bundleName = "main"
        contentPath = file('src/main/web')
    }

    define "PRODUCTION", false

//    rollupBundle {
//        bundleName = "rolledUp"
//    }

//    allBundles {
//        /* set properties for all bundles */
//    }

//    bundle("someBundler") {
//        ....
//    }
}

compileKotlin2Js {
    kotlinOptions.metaInfo = true
    kotlinOptions.outputFile = "$project.buildDir.path/js/${project.name}.js"
    kotlinOptions.sourceMap = true
    kotlinOptions.moduleKind = 'commonjs'
    kotlinOptions.main = "call"
}

compileTestKotlin2Js {
    kotlinOptions.metaInfo = true
    kotlinOptions.outputFile = "$project.buildDir.path/js-tests/${project.name}-tests.js"
    kotlinOptions.sourceMap = true
    kotlinOptions.moduleKind = 'commonjs'
//    kotlinOptions.moduleName = project.name + "-test"
    kotlinOptions.main = "call"
}