{
  "id": "gradle",
  "name": "Gradle",
  "homepage": "https://gradle.org",
  "description": "A highly scalable build automation tool designed to handle everything from large, multi-project enterprise builds to quick development tasks.",
  "icon": "theSVG:gradle",
  "executables": [
    "gradle",
    "gradlew"
  ],
  "dotfiles": {
    "paths": [
      "~/.gradle/gradle.properties",
      "~/.gradle/init.gradle",
      "~/.gradle/init.gradle.kts",
      "~/.gradle/init.d/"
    ],
    "exclude": [
      "~/.gradle/caches/",
      "~/.gradle/daemon/",
      "~/.gradle/jdks/",
      "~/.gradle/wrapper/"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "~/.gradle/gradle.properties",
        "match": {
          "prefix": [
            "signing.password",
            "gradle.publish.key",
            "gradle.publish.secret",
            "systemProp.gradle.wrapperPassword",
            "systemProp.http.proxyPassword",
            "systemProp.https.proxyPassword"
          ]
        }
      }
    ],
    "machine_lines": [
      {
        "file": "~/.gradle/gradle.properties",
        "match": {
          "prefix": [
            "org.gradle.java.home",
            "signing.keyId",
            "signing.secretKeyRingFile",
            "systemProp.http.proxyHost",
            "systemProp.https.proxyHost"
          ]
        },
        "scope": "backup"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run Gradle tasks",
    "description": "Run one or more Gradle tasks with the common logging and build options. Init scripts, -D properties and dependency-lock options are left out.",
    "quality": "ai-draft",
    "base": "fig:gradle",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/gradle.ts",
        "license": "MIT"
      }
    ],
    "field": [
      {
        "id": "tasks",
        "label": "Tasks",
        "description": "Task names such as build or test. Leave empty to run the default tasks.",
        "type": "string",
        "position": 0,
        "multiple": true,
        "sources": [
          "fig"
        ]
      },
      {
        "id": "dry_run",
        "label": "Dry run",
        "description": "Show which tasks would run without executing their actions.",
        "type": "boolean",
        "option": [
          "--dry-run"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "offline",
        "label": "Offline",
        "description": "Do not access network resources.",
        "type": "boolean",
        "option": [
          "--offline"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "refresh",
        "label": "Refresh dependencies",
        "type": "boolean",
        "option": [
          "--refresh-dependencies"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "parallel",
        "label": "Parallel",
        "description": "Build projects in parallel.",
        "type": "boolean",
        "option": [
          "--parallel"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "build_cache",
        "label": "Build cache",
        "description": "Reuse outputs from previous builds.",
        "type": "boolean",
        "option": [
          "--build-cache"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "no_daemon",
        "label": "No daemon",
        "description": "Do not use the Gradle daemon.",
        "type": "boolean",
        "option": [
          "--no-daemon"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "info",
        "label": "Info logging",
        "type": "boolean",
        "option": [
          "--info",
          "-i"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "stacktrace",
        "label": "Stacktrace",
        "description": "Print the stacktrace for user exceptions.",
        "type": "boolean",
        "option": [
          "--stacktrace",
          "-s"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "scan",
        "label": "Build scan",
        "description": "Create a build scan.",
        "type": "boolean",
        "option": [
          "--scan"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "console",
        "label": "Console mode",
        "type": "string",
        "option": [
          "--console"
        ],
        "suggestions": [
          {
            "value": "auto",
            "label": "auto"
          },
          {
            "value": "plain",
            "label": "plain"
          },
          {
            "value": "rich",
            "label": "rich"
          },
          {
            "value": "verbose",
            "label": "verbose"
          }
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "build_file",
        "label": "Build file",
        "type": "path",
        "option": [
          "--build-file",
          "-b"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "fig"
        ]
      },
      {
        "id": "project_dir",
        "label": "Project directory",
        "type": "path",
        "option": [
          "--project-dir",
          "-p"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "fig"
        ]
      },
      {
        "id": "max_workers",
        "label": "Max workers",
        "type": "integer",
        "option": [
          "--max-workers"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet",
        "description": "Log errors only.",
        "type": "boolean",
        "option": [
          "--quiet",
          "-q"
        ],
        "sources": [
          "fig"
        ]
      },
      {
        "id": "debug",
        "label": "Debug logging",
        "type": "boolean",
        "option": [
          "--debug",
          "-d"
        ],
        "sources": [
          "fig"
        ]
      }
    ],
    "task": [
      {
        "id": "build",
        "label": "Build",
        "fields": [
          "tasks",
          "parallel",
          "offline",
          "info",
          "stacktrace"
        ],
        "required": [],
        "set": {
          "tasks": [
            "build"
          ]
        }
      },
      {
        "id": "test",
        "label": "Test",
        "fields": [
          "tasks",
          "info",
          "offline"
        ],
        "required": [],
        "set": {
          "tasks": [
            "test"
          ]
        }
      },
      {
        "id": "plan",
        "label": "Preview tasks",
        "fields": [
          "tasks",
          "dry_run"
        ],
        "required": [
          "tasks"
        ],
        "set": {
          "dry_run": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "tasks",
          "dry_run",
          "offline",
          "parallel"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "build_file",
          "project_dir",
          "max_workers",
          "build_cache",
          "no_daemon",
          "scan",
          "console",
          "refresh",
          "debug",
          "quiet",
          "info",
          "stacktrace"
        ]
      }
    ]
  }
}
