daml/dev-env/windows/manifests
Moritz Kiefer e40f62f88a
Revert "Switch to Bazel 5 (#12935)" (#12974)
This reverts commit 4c0118df4d.

This breaks passing -p to bazel test for Haskell tests, e.g.,

bazel test //compiler/damlc/tests:integration-v1dev --test_arg -p
--test_arg InterfaceEq

which breaks with something horrifying like

moritz@adjunction ~/daml (main)> bazel test //compiler/damlc/tests:integration-v1dev --test_arg -p --test_arg InterfaceEq
[dev-env] Building tools.bazel...
[dev-env] Built tools.bazel in /nix/store/m7gzlmr0pqjpl01ihgvazxgfs3sfwl61-bazel and linked to /home/moritz/daml/dev-env/var/gc-roots/bazel
[dev-env] Building tools.find...
[dev-env] Built tools.find in /nix/store/645v3545lcbx77wq7355rgdrgbhn5wx7-findutils-4.8.0 and linked to /home/moritz/daml/dev-env/var/gc-roots/find
INFO: Invocation ID: 034b3e45-851f-472e-ab71-b7f718829582
DEBUG: /home/moritz/.cache/bazel/_bazel_moritz/bb4e4404f889dc1b816f246b08c0d9ea/external/rules_haskell/haskell/private/versions.bzl:60:10: WARNING: bazel version is too recent. Supported versions range from 4.0.0 to 4.2.1, but found: 5.0.0- (@non-git)
/nix/store/dadkhf8vch2i2kvig962ilfr5j3chshr-go-1.17.6
/nix/store/pzh24n543i6jqa01hdmgqknlyf294bn1-bazel-nixpkgs-posix-toolchain
/nix/store/2hfwndk47wpvaib06qyhcdp83b423xvh-jq-1.6-bin
/nix/store/hjggs9s82qh7r5j8sgapn389hf24wdx8-bazel-nixpkgs-cc-toolchain
/nix/store/yxgg3bn4v288sc00kf09svrwz2r461c9-ghc-native-bignum-9.0.2
/nix/store/2hwx0jhcdsx3wfvmb50ih19jkh2ra4jh-glibc-locales-2.33-108
/nix/store/8wpmx049z8m0ffhy3jyi41qb6pbxwvy8-bazel-nixpkgs-java-runtime
ERROR: file 'external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.pic.o' is generated by these conflicting actions:
Label: @bazel_tools//src/tools/launcher:launcher
RuleClass: cc_binary rule
Configuration: 869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9, 8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c
Mnemonic: CppCompile
Action key: 3d79fe1470dcb842d5944c98dfe7a62715db6d86fdb12d3ff60af3bdf41b7996
Progress message: Compiling src/tools/launcher/dummy.cc
PrimaryInput: File:[/home/moritz/.cache/bazel/_bazel_moritz/bb4e4404f889dc1b816f246b08c0d9ea/external/bazel_tools[source]]src/tools/launcher/dummy.cc
PrimaryOutput: File:[[<execution_root>]bazel-out/k8-opt/bin]external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.pic.o
Owner information: ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9]}, ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c]}
MandatoryInputs: are equal
Outputs: are equal
ERROR: file 'external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.o' is generated by these conflicting actions:
Label: @bazel_tools//src/tools/launcher:launcher
RuleClass: cc_binary rule
Configuration: 869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9, 8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c
Mnemonic: CppCompile
Action key: 9f46e824944add9e9951ef51ddb6cb4b744bc97f90b5749132179d1d1699dfa1
Progress message: Compiling src/tools/launcher/dummy.cc
PrimaryInput: File:[/home/moritz/.cache/bazel/_bazel_moritz/bb4e4404f889dc1b816f246b08c0d9ea/external/bazel_tools[source]]src/tools/launcher/dummy.cc
PrimaryOutput: File:[[<execution_root>]bazel-out/k8-opt/bin]external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.o
Owner information: ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9]}, ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c]}
MandatoryInputs: are equal
Outputs: are equal
ERROR: com.google.devtools.build.lib.skyframe.ArtifactConflictFinder$ConflictException: com.google.devtools.build.lib.actions.MutableActionGraph$ActionConflictException: for external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.o, previous action: action 'Compiling src/tools/launcher/dummy.cc', attempted action: action 'Compiling src/tools/launcher/dummy.cc'

changelog_begin
changelog_end
2022-02-16 18:24:00 +00:00
..
bazel.json Revert "Switch to Bazel 5 (#12935)" (#12974) 2022-02-16 18:24:00 +00:00
cacert.json open-sourcing daml 2019-04-04 09:33:38 +01:00
curl.json Bump curl to version 7.81 on Windows (#12314) 2022-01-10 10:00:49 +00:00
maven-3.6.1.json Fix SDK integration tests on Windows (#1125) 2019-05-14 21:55:45 +02:00
msys2.json Upgrade msys2 (#12545) 2022-01-24 10:58:34 +00:00
nodejs.json Drop 7zip from Windows dev-env (#12590) 2022-01-26 08:46:03 +00:00
nsis-3.04.json Add a windows installer for the SDK (#738) 2019-04-29 10:16:11 +02:00
ojdkbuild11.json Update to Java 11 (#11512) 2021-11-18 14:48:37 +00:00
python-3.8.2.json Switch to stable urls in scoop python manifest (#10933) 2021-09-20 12:06:58 +02:00
README.md remove mentions of da-int servers (#2485) 2019-08-12 10:42:41 +01:00
stack.json Upgrade stack (#7444) 2020-09-21 09:29:05 +00:00
toxiproxy.json add toxiproxy to Windows (for #6114) (#6119) 2020-05-27 13:37:55 +02:00
vcredist.json Update vcredist (#10417) 2021-07-27 13:43:21 +02:00

Tools manifests files

DADEW uses Scoop for tools provisioning. Tools manifest files are in fact Scoop's App manifest files and are documented here.

Tool name mentioned in .dadew file is the name of the manifest file (excluding it's .json extention).

Adding new tool

To add new tool:

  • create new manifest file under /dev-env/windows/manifests/ folder, ensuring:
    • it follows the naming convention of <name>-<version>.json
    • it sources binaries from a URL, which points to specific version of the tool and is unlikely to change
  • add a <name>-<version> entry to /.dadew file, extending tools element list

Adding new version of the existing tool

Process of adding new version of the existing tool is very similar to adding new one, but:

  • you should not modify existing manifest files to allow backward compatibility of win-dev-env,
  • you should not remove the old tool's manifest file
  • you should replace the existing entry in the /.dadew file with the new one

Updating the existing version of a tool

In some cases there is a need to update the existing manifest file, for example to introduce an environment variable or update the binary minor release version. In such case manifest file can be changed in-place. dadew will detect such change and perform the tool re-installation on dadew sync call automatically.

Source of manifests

Default set of Scoop App manifests (also called a default bucket) can be found here.

Other buckets are listed in Scoop's buckets.json file.