Skip to content

Commit 1025ce4

Browse files
committed
Make it possible to set environment variables for npm run tasks.
1 parent 38e30d5 commit 1025ce4

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/main/java/com/diffplug/webtools/node/NodePlugin.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
import java.nio.file.Files;
2323
import java.util.Collections;
2424
import java.util.Objects;
25+
import java.util.TreeMap;
2526
import org.gradle.api.Action;
2627
import org.gradle.api.DefaultTask;
2728
import org.gradle.api.Plugin;
2829
import org.gradle.api.Project;
29-
import org.gradle.api.Task;
3030
import org.gradle.api.file.DirectoryProperty;
3131
import org.gradle.api.provider.Property;
3232
import org.gradle.api.tasks.CacheableTask;
@@ -52,7 +52,7 @@ public Extension(Project project) {
5252
this.project = Objects.requireNonNull(project);
5353
}
5454

55-
public TaskProvider<?> npm_run(String name, Action<Task> taskConfig) {
55+
public TaskProvider<?> npm_run(String name, Action<NpmRunTask> taskConfig) {
5656
return project.getTasks().register("npm_run_" + name, NpmRunTask.class, task -> {
5757
task.taskName = name;
5858
try {
@@ -76,12 +76,18 @@ public TaskProvider<?> npm_run(String name, Action<Task> taskConfig) {
7676
@CacheableTask
7777
public abstract static class NpmRunTask extends DefaultTask {
7878
public String taskName;
79+
private TreeMap<String, String> environment = new TreeMap<>();
7980

8081
@Input
8182
public String getTaskName() {
8283
return taskName;
8384
}
8485

86+
@Input
87+
public TreeMap<String, String> getEnvironment() {
88+
return environment;
89+
}
90+
8591
@Internal
8692
public abstract Property<SetupCleanupNode> getSetup();
8793

@@ -95,7 +101,7 @@ public void npmCiRunTask() throws Exception {
95101
setup.start(getProjectDir().get().getAsFile());
96102
// run the gulp task
97103
ProxyConfig proxyConfig = new ProxyConfig(Collections.emptyList());
98-
setup.factory().getNpmRunner(proxyConfig, null).execute("run " + taskName, null);
104+
setup.factory().getNpmRunner(proxyConfig, null).execute("run " + taskName, environment);
99105
}
100106
}
101107

0 commit comments

Comments
 (0)