-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle.kts
83 lines (67 loc) · 2.37 KB
/
build.gradle.kts
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
75
76
77
78
79
80
81
82
83
import com.github.artfable.gradle.GradleLibsassPluginExtension
import com.github.artfable.gradle.GradleLibsassPluginGroup
import com.github.artfable.gradle.js.importfix.GradleJsImportFixExtension
import com.github.artfable.gradle.npm.repository.GradleNpmRepositoryExtension
import groovy.lang.Closure
group = "org.artfable"
version = "1.0-SNAPSHOT"
buildscript {
val npm_version = "0.0.4"
val jsImport_version = "0.0.1"
val sass_version = "0.0.1"
repositories {
mavenLocal()
jcenter()
mavenCentral()
}
dependencies {
classpath("com.github.artfable.gradle:gradle-npm-repository-plugin:$npm_version")
classpath("com.github.artfable.gradle:gradle-js-import-fix-plugin:$jsImport_version")
classpath("com.github.artfable.gradle:gradle-sass-plugin:$sass_version")
}
}
apply(plugin = "base")
apply(plugin = "artfable.npm")
apply(plugin = "artfable.js.import.fix")
apply(plugin = "artfable.sass")
configure<GradleNpmRepositoryExtension> {
output = "$projectDir/src/libs/"
dependencies = mapOf(
Pair("@polymer/polymer", "3.0.5"),
Pair("@polymer/app-layout", "3.0.1"),
Pair("@polymer/paper-toolbar", "3.0.1"),
Pair("@polymer/paper-icon-button", "3.0.1"),
Pair("@polymer/iron-icons", "3.0.1"),
Pair("@webcomponents/webcomponentsjs", "2.1.3"),
Pair("bootstrap", "4.1.3")
)
}
tasks.create<Copy>("copyResources") {
mustRunAfter("npmLoad")
from("src") {
exclude(
"sass",
"libs/bootstrap",
"libs/**/test",
"**/demo",
"**/*.ts"
)
}
into("$buildDir/dist")
}
configure<GradleJsImportFixExtension> {
directory = "$buildDir/dist/libs"
}
configure<GradleLibsassPluginExtension> {
group(delegateClosureOf<GradleLibsassPluginGroup> {
sourceDir = "$projectDir/src/sass"
outputDir = "$buildDir/dist/css"
} as Closure<Any>)
}
tasks.create("processResources") // to make sass plugin works. Will fix it later
tasks["jsImportFix"].mustRunAfter("npmLoad", "copyResources")
tasks["compileSass"].mustRunAfter("npmLoad", "copyResources")
listOf(tasks["npmLoad"], tasks["jsImportFix"], tasks["compileSass"]).forEach { task ->
task.group = "frontend"
}
tasks["build"].dependsOn("compileSass", "jsImportFix", "npmLoad", "copyResources")