Skip to content

Commit 52f1cb2

Browse files
authored
Make it possible to set environment variables (#2)
2 parents 814f344 + 2c663bd commit 52f1cb2

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Webtools releases
22

33
## [Unreleased]
4+
### Added
5+
- Make it possible to set environment variables for npm run tasks. ([#2](https://github.com/diffplug/webtools/pull/2))
46

57
## [1.0.0] - 2024-07-05
68
### Fixed

settings.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ plugins {
1010
// https://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md
1111
id 'com.diffplug.spotless' version '7.0.0.BETA1' apply false
1212
// https://github.com/diffplug/spotless-changelog/blob/main/CHANGELOG.md
13-
id 'com.diffplug.spotless-changelog' version '3.0.2' apply false
13+
id 'com.diffplug.spotless-changelog' version '3.1.2' apply false
1414
// https://plugins.gradle.org/plugin/com.gradle.plugin-publish
1515
id 'com.gradle.plugin-publish' version '1.2.1' apply false
1616
// https://github.com/equodev/equo-ide/blob/main/plugin-gradle/CHANGELOG.md
@@ -29,7 +29,7 @@ plugins {
2929
id 'dev.adamko.dokkatoo-html' version '2.3.1' apply false
3030
}
3131
blowdryerSetup {
32-
github 'diffplug/blowdryer-diffplug', 'tag', '7.3.0'
32+
github 'diffplug/blowdryer-diffplug', 'tag', '8.0.1'
3333
//devLocal '../blowdryer-diffplug'
3434
setPluginsBlockTo {
3535
it.file 'plugin.versions'

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

+9-3
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)