diff options
author | Allan Wang <me@allanwang.ca> | 2019-07-02 19:59:59 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2019-07-02 19:59:59 -0700 |
commit | 8f4da4ea838c52d857a12398967da2a99967a14e (patch) | |
tree | d57ba1b8b2cc6d31c764cef481082bd198a86b1f /buildSrc/src/main/kotlin/FrostPlugin.kt | |
parent | 19ad91cec0c2964f666e8b22ae5e583df04cba56 (diff) | |
download | frost-8f4da4ea838c52d857a12398967da2a99967a14e.tar.gz frost-8f4da4ea838c52d857a12398967da2a99967a14e.tar.bz2 frost-8f4da4ea838c52d857a12398967da2a99967a14e.zip |
Sample gradle npm test
Diffstat (limited to 'buildSrc/src/main/kotlin/FrostPlugin.kt')
-rw-r--r-- | buildSrc/src/main/kotlin/FrostPlugin.kt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/buildSrc/src/main/kotlin/FrostPlugin.kt b/buildSrc/src/main/kotlin/FrostPlugin.kt new file mode 100644 index 00000000..8e640f04 --- /dev/null +++ b/buildSrc/src/main/kotlin/FrostPlugin.kt @@ -0,0 +1,38 @@ +import com.moowork.gradle.node.NodeExtension +import com.moowork.gradle.node.NodePlugin +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.create + +class FrostPlugin : Plugin<Project> { + + companion object { + private const val NODE_VERSION = "12.4.0" + } + + override fun apply(project: Project) { + project.plugins.withId("java-base") { + project.applyWebGenPlugin() + } + project.gradle.taskGraph.whenReady { + if (!project.plugins.hasPlugin("java-base")) { + throw IllegalArgumentException( + "Frost plugin can't be applied without Android or Java or Kotlin plugin." + ) + } + } + } + + private fun Project.applyWebGenPlugin() { + setupNode() +// tasks.create(WebGenInstallTask.NAME, WebGenInstallTask::class) + } + + private fun Project.setupNode() { + plugins.apply(NodePlugin::class) + val nodeConfig = extensions.findByName("node") as NodeExtension + nodeConfig.download = true + nodeConfig.version = NODE_VERSION + } +}
\ No newline at end of file |