Definitions/Commands/Initialize-GitRuntime.json

{
  "schemaVersion": 2,
  "commandName": "Initialize-GitRuntime",
  "runtimeName": "GitRuntime",
  "kind": "portable-package",
  "wrapperCommand": "Initialize-GitRuntime",
  "refreshSwitchName": "RefreshGit",
  "facts": {
    "portableRuntime": {
      "hostFlavorMap": {
        "arm64": "arm64",
        "x64": "64-bit"
      },
      "unsupportedHostMessage": "Only 64-bit Windows targets are supported by this MinGit runtime bootstrap.",
      "toolsRootLayoutProperty": "GitToolsRoot",
      "stagePrefix": "git",
      "versionFolderTemplate": "{version}",
      "requiredPathGroups": [
        [
          "cmd\\git.exe"
        ]
      ],
      "namedDirectoryPaths": {
        "CommandDirectory": "cmd"
      },
      "versionProbe": {
        "executableCandidates": [
          "cmd\\git.exe"
        ],
        "arguments": [
          "--version"
        ],
        "regex": "(\\d+\\.\\d+\\.\\d+(?:\\.windows\\.\\d+|\\.\\d+)?)",
        "normalizeRegex": "(\\d+\\.\\d+\\.\\d+)\\.windows\\.(\\d+)",
        "normalizeReplacement": "$1.$2"
      },
      "versionPolicy": {
        "managedMinimumVersion": null,
        "managedVersionFamily": null,
        "externalMinimumVersion": null
      },
      "externalDiscovery": {
        "commandNames": [
          "git.exe"
        ],
        "additionalPathPatterns": [
          "{ProgramFiles}\\Git\\cmd\\git.exe",
          "{LocalAppData}\\Programs\\Git\\cmd\\git.exe"
        ],
        "runtimeHomeTrimLeafNames": [
          "cmd"
        ]
      }
    }
  },
  "supply": {
    "githubRelease": {
      "repository": "git-for-windows/git",
      "releaseVersionRule": {
        "regex": "(\\d+\\.\\d+\\.\\d+(?:\\.windows\\.\\d+|\\.\\d+)?)",
        "normalizeRegex": "(\\d+\\.\\d+\\.\\d+)\\.windows\\.(\\d+)",
        "normalizeReplacement": "$1.$2"
      },
      "assetNamePattern": "MinGit-{version}-{flavor}.zip",
      "checksum": {
        "fallbackSource": "ChecksumAsset",
        "assetNamePattern": "SHA256-{version}.txt"
      },
      "downloadMessage": "Downloading Git for Windows MinGit {version} ({flavor})...",
      "offlineError": "Could not reach GitHub and no cached MinGit ZIP was found."
    }
  },
  "artifact": {
    "zipPackage": {
      "cacheRootLayoutProperty": "GitCacheRoot",
      "fileNamePattern": "^MinGit-(\\d+\\.\\d+\\.\\d+\\.\\d+)-{flavor}\\.zip$"
    }
  },
  "install": {
    "portableArchive": {
      "stagePrefix": "git",
      "toolsRootLayoutProperty": "GitToolsRoot",
      "versionFolderTemplate": "{version}",
      "createDirectories": []
    }
  },
  "environment": {
    "commandProjection": {
      "desiredDirectoryFact": "CommandDirectory",
      "executableFact": "ExecutablePath",
      "expectedCommands": [
        "git.exe"
      ]
    }
  },
  "dependencies": [],
  "policies": {
    "allowExternalSatisfaction": true,
    "requireTrustedArtifact": true,
    "supportsEnvironmentSync": true,
    "installRequiresElevation": false
  },
  "hooks": {
    "postInstall": null
  }
}