-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
59 lines (49 loc) · 1.44 KB
/
build.gradle
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
group 'org.example'
version '1.0'
buildscript {
ext.kotlin_version = '1.2.61'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin2js'
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
}
compileKotlin2Js {
kotlinOptions.metaInfo = false
}
processResources {
filter { String line -> line.replace("@MODULE_VERSION@", version as String) }
}
task generateMetadata(type: Copy) {
from "src/main/kotlin/resources/metadata.json"
into modulesDir
filter { line -> line.replaceAll("@MODULE_VERSION@", version as String) }
}
task assembleWeb(type: Sync) {
configurations.compile.each { file ->
from(zipTree(file.absolutePath), {
includeEmptyDirs = false
include { fileTreeElement ->
def path = fileTreeElement.path
path.endsWith(".js") &&
(path.startsWith("META-INF/resources/") || !path.startsWith("META-INF/")) &&
!path.endsWith(".meta.js") &&
!path.startsWith("kotlin.js")
}
})
}
from compileKotlin2Js.destinationDir
into modulesDir
dependsOn classes
dependsOn 'generateMetadata'
tasks.findByName('generateMetadata').mustRunAfter classes
}
assemble.dependsOn assembleWeb