zarro 1.152.6 → 1.153.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -305,3 +305,4 @@ of people don't really "get" git submodules:
305
305
  - the name is inspired from the old bugzilla, which would proudly proclaim "zarro boogs"
306
306
  when there were zero bug matches for a query, because (a) names are hard and (b)
307
307
  zarro aims to be zero- to low-conf
308
+
@@ -28,7 +28,7 @@
28
28
  // packagename (eg 'nunit')
29
29
  // - retrieves the package according to the system config (original & default behavior)
30
30
  // source/packagename (eg 'proget.mycompany.moo/nunit')
31
- // - retrieves the package from the named source (same as nuget.exe install nunit -source proget.mycompany.moo}
31
+ // - retrieves the package from the named source (same as nuget.exe install nunit -source proget.mycompany.moo)
32
32
  // - allows consumer to be specific about where the package should come from
33
33
  // - allows third-parties to be specific about their packages being from, eg, nuget.org
34
34
  const parts = toolSpec.split("/");
@@ -37,11 +37,6 @@
37
37
  "install", toolPackage[0], "-OutputDirectory", quoteIfRequired(outputDirectory)
38
38
  ].concat(generateNugetSourcesOptions(parts[0]));
39
39
  }
40
- // gulp4 doesn't seem to protect against repeated dependencies, so this is a safeguard
41
- // here to prevent accidental parallel installation
42
- // let
43
- // installingPromise: Optional<Promise<void>>,
44
- // installingRequest: Optional<string[]>;
45
40
  const inProgress = {};
46
41
  const keyDelimiter = "||";
47
42
  function makeKey(parts) {
@@ -92,15 +87,24 @@
92
87
  return inProgress[inProgressKey] = doInstall(toolsFolder, requiredTools);
93
88
  }
94
89
  async function doInstall(toolsFolder, requiredTools) {
95
- return env.resolveFlag(env.BUILD_TOOLS_INSTALL_FORCE_NUGET_EXE)
96
- ? doInstallViaNugetExe(toolsFolder, requiredTools)
97
- : doInstallViaNodeNugetClient(toolsFolder, requiredTools);
90
+ const forceNugetUsage = env.resolveFlag(env.BUILD_TOOLS_INSTALL_FORCE_NUGET_EXE);
91
+ if (forceNugetUsage) {
92
+ debug(`${env.BUILD_TOOLS_INSTALL_FORCE_NUGET_EXE} is set truthy - forcing usage of nuget.exe for tool installation`);
93
+ return doInstallViaNugetExe(toolsFolder, requiredTools);
94
+ }
95
+ else {
96
+ debug(`using node-nuget-client for tool installation`);
97
+ return doInstallViaNodeNugetClient(toolsFolder, requiredTools);
98
+ }
98
99
  }
99
100
  async function doInstallViaNodeNugetClient(toolsFolder, requiredTools) {
100
- const { NugetClient } = require("node-nuget-client"), client = new NugetClient();
101
+ const { NugetClient } = require("node-nuget-client");
101
102
  for (const tool of requiredTools) {
103
+ const spec = tool.includes("/")
104
+ ? tool
105
+ : `nuget.org/${tool}`, parts = spec.split("/"), [source, packageId] = parts, client = new NugetClient(source);
102
106
  await client.downloadPackage({
103
- packageId: tool,
107
+ packageId,
104
108
  output: toolsFolder
105
109
  });
106
110
  }
@@ -12,7 +12,7 @@
12
12
  });
13
13
  env.register({
14
14
  name: "BUILD_TOOLS_INSTALL_FORCE_NUGET_EXE",
15
- help: `Flag: when set, revert to the original behavior for downloading tooling via nuget.exe
15
+ help: `Flag: when set, revert to the original behavior for downloading tooling via nuget.exe
16
16
  (default is to use node-nuget-client since nuget.exe now refuses to download packages marked as tools)`,
17
17
  default: "false"
18
18
  });
@@ -157,8 +157,8 @@
157
157
  default: "auto",
158
158
  help: "process model for nunit-runner to use"
159
159
  });
160
- const extra = `
161
- - globs match dotnet core projects or .net framework built assemblies
160
+ const extra = `
161
+ - globs match dotnet core projects or .net framework built assemblies
162
162
  - elements surrounded with () are treated as pure gulp.src masks`, defaultTestInclude = "*.Tests,*.Tests.*,Tests,Test,Test.*", defaultTestExclude = `{!**/node_modules/**/*},{!./${getToolsFolder(env)}/**/*}`;
163
163
  env.register({
164
164
  name: "TEST_INCLUDE",
@@ -656,9 +656,9 @@
656
656
  env.register({
657
657
  name: "ZARRO_ALLOW_FILE_RESOLUTION",
658
658
  default: "true",
659
- help: `when enabled, the value provided by an environment variable may be the path
660
- to a file to use for that configuration; for example MSBUILD_PROPERTIES=foo.json will
661
- instruct Zarro to read the mapping in foo.json for extra msbuild properties to pass on
659
+ help: `when enabled, the value provided by an environment variable may be the path
660
+ to a file to use for that configuration; for example MSBUILD_PROPERTIES=foo.json will
661
+ instruct Zarro to read the mapping in foo.json for extra msbuild properties to pass on
662
662
  where applicable.`
663
663
  });
664
664
  env.register({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zarro",
3
- "version": "1.152.6",
3
+ "version": "1.153.2",
4
4
  "description": "Some glue to make gulp easier, perhaps even zero- or close-to-zero-conf",
5
5
  "bin": {
6
6
  "zarro": "./index.js"
@@ -68,7 +68,7 @@
68
68
  "gulp-filter": "^6.0.0",
69
69
  "gulp-msbuild": "^0.10.0",
70
70
  "lodash.kebabcase": "^4.1.1",
71
- "node-nuget-client": "^0.7.0",
71
+ "node-nuget-client": "^0.8.0",
72
72
  "npm-run-all": "^4.1.5",
73
73
  "plugin-error": "^1.0.1",
74
74
  "readline": "^1.3.0",