{"id":20883982,"url":"https://github.com/getgauge/gauge-gradle-plugin","last_synced_at":"2025-05-12T18:31:23.663Z","repository":{"id":49244436,"uuid":"176885157","full_name":"getgauge/gauge-gradle-plugin","owner":"getgauge","description":"Gradle plugin for Gauge.","archived":false,"fork":false,"pushed_at":"2025-05-01T02:51:47.000Z","size":481,"stargazers_count":11,"open_issues_count":1,"forks_count":7,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-01T03:33:52.698Z","etag":null,"topics":["gauge","gauge-plugin","test-automation","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://gauge.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getgauge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-21T06:40:15.000Z","updated_at":"2025-05-01T02:51:49.000Z","dependencies_parsed_at":"2024-02-01T17:06:30.663Z","dependency_job_id":"24a7dff4-7944-4cc3-838f-0278a923e822","html_url":"https://github.com/getgauge/gauge-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgauge%2Fgauge-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgauge%2Fgauge-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgauge%2Fgauge-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgauge%2Fgauge-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getgauge","download_url":"https://codeload.github.com/getgauge/gauge-gradle-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253798047,"owners_count":21965996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gauge","gauge-plugin","test-automation","testing","testing-tools"],"created_at":"2024-11-18T08:08:41.515Z","updated_at":"2025-05-12T18:31:23.651Z","avatar_url":"https://github.com/getgauge.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Gradle Plugin Portal](https://img.shields.io/gradle-plugin-portal/v/org.gauge?label=Plugin%20Portal\u0026link=https%3A%2F%2Fplugins.gradle.org%2Fplugin%2Forg.gauge) \n![Build](https://github.com/getgauge/gauge-gradle-plugin/actions/workflows/build.yml/badge.svg)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)\n\n# Gauge Gradle Plugin\n\nUse the gauge-gradle-plugin to execute specifications in your [Gauge](https://gauge.org) Java project and manage dependencies using [Gradle](http://gradle.org//).\n\n\u003e **NOTE**: Prior to v1.8.0 the `gauge-gradle-plugin` had a different community maintainer. Versions prior to this were published to \nMaven Central \u0026 Bintray; with out-of-date versions available on the Gradle Plugins Portal.\n\u003e\n\u003e From v1.8.0+ [the Gradle Plugins Portal](https://plugins.gradle.org/plugin/org.gauge) will be the primary means of release for this plugin; under the care of the core Gauge team.\n\n## Installation\n\n### On a new project\n\nYou can use this plugin on a new project via a Gauge [project template](https://docs.gauge.org/latest/installation.html#project-templates):\n\n```bash\ngauge init java_gradle\n```\n\n### Using the plugins DSL\n\nIf you have an existing project, and you would like to add the plugin manually you can add it like the below\n\n\n```groovy\nplugins {\n    id 'org.gauge' version '2.1.0'\n}\n\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation 'com.thoughtworks.gauge:gauge-java:+'\n}\n\n// configure gauge task here (optional)\ngauge {\n    specsDir = 'specs'\n    inParallel = true\n    nodes = 2\n    env = 'dev'\n    tags = 'tag1'\n    additionalFlags = '--verbose'\n    gaugeRoot = '/opt/gauge'\n}\n```\n\n### Using legacy plugin 'apply' style\n\n* update the `buildscript` to add the Gradle plugins repo and classpath\n* apply plugin `org.gauge` \n\n```groovy\nbuildscript {\n    repositories {\n        maven {\n            url \"https://plugins.gradle.org/m2/\"\n        }\n    }\n    dependencies {\n        classpath \"org.gauge.gradle:gauge-gradle-plugin:2.1.0\"\n    }\n}\n\napply plugin: 'org.gauge'\n\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation 'com.thoughtworks.gauge:gauge-java:+'\n}\n\n// configure gauge task here (optional)\ngauge {\n    specsDir = 'specs'\n    inParallel = true\n    nodes = 2\n    env = 'dev'\n    tags = 'tag1'\n    additionalFlags = '--simple-console --verbose'\n    gaugeRoot = '/opt/gauge'\n    // additional environment variables to pass onto the gauge process\n    environmentVariables = [\"gauge_reports_dir\": \"custom/reports/\", \"logs_directory\": \"custom/logs/\"]\n}\n```\n\n## Usage\n\n### Validating\n\n```bash\ngradle gaugeValidate \n```\n\n### Running\n\n```bash\ngradle gauge\n```\n\n#### Execute list of specs\n\n```bash\ngradle gauge -PspecsDir=\"specs/first.spec specs/second.spec\"\n```\n\n#### Execute specs in parallel\n\n```bash\ngradle gauge -PinParallel=true -PspecsDir=specs\n```\n#### Execute specs by tags\n\n```bash\ngradle gauge -Ptags=\"!in-progress\" -PspecsDir=specs\n```\n#### Specifying execution environment\n\n```bash\ngradle gauge -Penv=\"dev\" -PspecsDir=specs\n```\n\nNote : Pass specsDir parameter as the last one.\n\n### All additional Properties\nThe following plugin properties can be additionally set:\n\n| Property name   | Usage                          | Description                                                   |\n|-----------------|--------------------------------|---------------------------------------------------------------|\n| specsDir        | -PspecsDir=specs               | Gauge specs directory path. Required for executing specs      |\n| tags            | -Ptags=\"tag1 \u0026 tag2\"           | Filter specs by specified tags expression                     |\n| inParallel      | -PinParallel=true              | Execute specs in parallel                                     |\n| nodes           | -Pnodes=3                      | Number of parallel execution streams. Use with ```parallel``` |\n| env             | -Penv=qa                       | gauge env to run against                                      |\n| additionalFlags | -PadditionalFlags=\"--verbose\"  | Add additional gauge flags to execution separated by space    |\n| dir             | -Pdir=\"/path/to/gauge/project\" | Path to gauge project directory                               |\n| gaugeRoot       | -PgaugeRoot=\"/opt/gauge\"       | Path to gauge installation root                               |\n\n### Adding/configuring custom Gauge tasks\nIt is possible to define new custom Gauge tasks specific for different environments. For example,\n\n```groovy\nimport org.gauge.gradle.GaugeTask\n\ntask gaugeDev(type: GaugeTask) {\n    doFirst {\n        gauge {\n            specsDir = 'specs'\n            inParallel = true\n            nodes = 2\n            env = 'dev'\n            additionalFlags = '--simple-console --verbose'\n        }\n    }\n}\n\ntask gaugeTest(type: GaugeTask) {\n    doFirst {\n        gauge {\n            specsDir = 'specs'\n            inParallel = true\n            nodes = 4\n            env = 'test'\n            additionalFlags = '--simple-console --verbose'\n        }\n    }\n}\n```\n\n### Running gauge task with source code of gradle plugin\nrun the gauge command with -\n\n```bash\ngradle gauge --include-build {PATH_TO_GRADLE_PLUGIN}\n```\n\nor add this property in `settings.gradle`\n\n```bash\nincludeBuild {PATH_TO_GRADLE_PLUGIN}\n```\n\n## License\n\nGauge is released under the Apache License, Version 2.0. See [LICENSE](LICENSE.txt) for the full license text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetgauge%2Fgauge-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetgauge%2Fgauge-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetgauge%2Fgauge-gradle-plugin/lists"}