Some projects need to use an alternate NPM registry for installing dependencies, however; the .npmrc was not generated until after attempting to installTypeScriptDependencies
Process 'command 'npm'' finished with non-zero exit value 1
* Causal chain is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':foo-api:installTypeScriptDependencies'.
org.gradle.process.internal.ExecException: Process 'command 'npm'' finished with non-zero exit value 1
* Full exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':foo-api:installTypeScriptDependencies'.
As an attempted workaround, if one tried the following:
FAILURE: Build failed with an exception.
* What went wrong:
Circular dependency between the following tasks:
:foo-api:compileTypeScript
\--- :foo-api:installTypeScriptDependencies
\--- :foo-api:generateNpmrc
\--- :foo-api:compileTypeScript (*)
(*) - details omitted (listed previously)
After this PR
==COMMIT_MSG==
generateNpmrc task does not depend on running compileTypeScript first
==COMMIT_MSG==
What do the change types mean?
- `feature`: A new feature of the service.
- `improvement`: An incremental improvement in the functionality or operation of the service.
- `fix`: Remedies the incorrect behaviour of a component of the service in a backwards-compatible way.
- `break`: Has the potential to break consumers of this service's API, inclusive of both Palantir services
and external consumers of the service's API (e.g. customer-written software or integrations).
- `deprecation`: Advertises the intention to remove service functionality without any change to the
operation of the service itself.
- `manualTask`: Requires the possibility of manual intervention (running a script, eyeballing configuration,
performing database surgery, ...) at the time of upgrade for it to succeed.
- `migration`: A fully automatic upgrade migration task with no engineer input required.
_Note: only one type should be chosen._
How are new versions calculated?
- ❗The `break` and `manual task` changelog types will result in a major release!
- 🐛 The `fix` changelog type will result in a minor release in most cases, and a patch release version for patch branches. This behaviour is configurable in autorelease.
- ✨ All others will result in a minor version release.
Before this PR
Some projects need to use an alternate NPM registry for installing dependencies, however; the
.npmrc
was not generated until after attempting toinstallTypeScriptDependencies
https://github.com/palantir/gradle-conjure/pull/1349/ made this issue fail earlier, blocking
gradle-conjure
upgrades beyond 5.42.0.As an attempted workaround, if one tried the following:
This fails with a circular dependency.
After this PR
==COMMIT_MSG== generateNpmrc task does not depend on running compileTypeScript first ==COMMIT_MSG==
Possible downsides?