Roman Elizarov | 1f74a2d | 2018-06-29 19:19:45 +0300 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| 3 | */ |
Roman Elizarov | 94fb2a3 | 2018-03-05 17:32:59 +0300 | [diff] [blame] | 4 | |
| 5 | apply plugin: 'com.moowork.node' |
| 6 | |
| 7 | node { |
| 8 | version = "$node_version" |
| 9 | npmVersion = "$npm_version" |
| 10 | download = true |
Roman Elizarov | f0fc770 | 2018-03-06 12:45:08 +0300 | [diff] [blame] | 11 | nodeModulesDir = file(buildDir) |
Roman Elizarov | 94fb2a3 | 2018-03-05 17:32:59 +0300 | [diff] [blame] | 12 | } |
Roman Elizarov | f0fc770 | 2018-03-06 12:45:08 +0300 | [diff] [blame] | 13 | |
| 14 | // Configures testing for JS modules |
| 15 | |
| 16 | task prepareNodePackage(type: Copy) { |
Vsevolod Tolstopyatov | e50a0fa | 2019-01-28 11:34:24 +0300 | [diff] [blame] | 17 | from("npm") { |
Vsevolod Tolstopyatov | 6e81083 | 2019-04-26 13:16:56 +0300 | [diff] [blame] | 18 | include 'package.json' |
Roman Elizarov | 504c876 | 2019-04-24 12:04:02 +0300 | [diff] [blame] | 19 | // Postpone expansion of package.json until we configure version property in build.gradle |
| 20 | def copySpec = it |
Vsevolod Tolstopyatov | 390c722 | 2019-04-23 18:42:11 +0300 | [diff] [blame] | 21 | afterEvaluate { |
Roman Elizarov | 504c876 | 2019-04-24 12:04:02 +0300 | [diff] [blame] | 22 | copySpec.expand(project.properties + [kotlinDependency: ""]) |
Vsevolod Tolstopyatov | 390c722 | 2019-04-23 18:42:11 +0300 | [diff] [blame] | 23 | } |
Vsevolod Tolstopyatov | e50a0fa | 2019-01-28 11:34:24 +0300 | [diff] [blame] | 24 | } |
Vsevolod Tolstopyatov | 6e81083 | 2019-04-26 13:16:56 +0300 | [diff] [blame] | 25 | from("npm") { |
| 26 | exclude 'package.json' |
| 27 | } |
Vsevolod Tolstopyatov | e50a0fa | 2019-01-28 11:34:24 +0300 | [diff] [blame] | 28 | into "$node.nodeModulesDir" |
Roman Elizarov | f0fc770 | 2018-03-06 12:45:08 +0300 | [diff] [blame] | 29 | } |
| 30 | |
| 31 | npmInstall.dependsOn prepareNodePackage |
| 32 | |
Vsevolod Tolstopyatov | 4ddfc91 | 2018-07-12 18:36:02 +0300 | [diff] [blame] | 33 | // Workaround the problem with Node downloading |
| 34 | repositories.whenObjectAdded { |
| 35 | if (it instanceof IvyArtifactRepository) { |
| 36 | metadataSources { |
| 37 | artifact() |
| 38 | } |
| 39 | } |
| 40 | } |