{"id":15044137,"url":"https://github.com/gradle/common-custom-user-data-gradle-plugin","last_synced_at":"2025-04-07T08:16:43.973Z","repository":{"id":36962089,"uuid":"444309406","full_name":"gradle/common-custom-user-data-gradle-plugin","owner":"gradle","description":"Gradle plugin that enhances published build scans by adding a set of tags, links and custom values that have proven to be useful for many projects building with Develocity.","archived":false,"fork":false,"pushed_at":"2025-03-31T02:05:26.000Z","size":1444,"stargazers_count":48,"open_issues_count":9,"forks_count":29,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-31T07:07:58.370Z","etag":null,"topics":["android","gradle","java"],"latest_commit_sha":null,"homepage":"https://gradle.com/develocity","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/gradle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2022-01-04T06:24:26.000Z","updated_at":"2025-03-29T00:42:28.000Z","dependencies_parsed_at":"2023-10-14T19:56:02.724Z","dependency_job_id":"686a2cfe-92ce-4622-956e-9fd7d70a543a","html_url":"https://github.com/gradle/common-custom-user-data-gradle-plugin","commit_stats":{"total_commits":861,"total_committers":29,"mean_commits":"29.689655172413794","dds":0.7619047619047619,"last_synced_commit":"5ee09fb9570952c44d9a39f1d32d9acf08d75907"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fcommon-custom-user-data-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fcommon-custom-user-data-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fcommon-custom-user-data-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gradle%2Fcommon-custom-user-data-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gradle","download_url":"https://codeload.github.com/gradle/common-custom-user-data-gradle-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247615382,"owners_count":20967184,"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":["android","gradle","java"],"created_at":"2024-09-24T20:50:07.869Z","updated_at":"2025-04-07T08:16:43.951Z","avatar_url":"https://github.com/gradle.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e _This repository is maintained by the Develocity Solutions team, as one of several publicly available repositories:_\n\u003e - _[Android Cache Fix Gradle Plugin][android-cache-fix-plugin]_\n\u003e - _[Common Custom User Data Gradle Plugin][ccud-gradle-plugin] (this repository)_\n\u003e - _[Common Custom User Data Maven Extension][ccud-maven-extension]_\n\u003e - _[Develocity Build Configuration Samples][develocity-build-config-samples]_\n\u003e - _[Develocity Build Validation Scripts][develocity-build-validation-scripts]_\n\u003e - _[Develocity Open Source Projects][develocity-oss-projects]_\n\u003e - _[Quarkus Build Caching Extension][quarkus-build-caching-extension]_\n\n# Common Custom User Data Gradle Plugin\n\n[![Verify Build](https://github.com/gradle/common-custom-user-data-gradle-plugin/actions/workflows/build-verification.yml/badge.svg?branch=main)](https://github.com/gradle/common-custom-user-data-gradle-plugin/actions/workflows/build-verification.yml)\n[![Plugin Portal](https://img.shields.io/maven-metadata/v?metadataUrl=https://plugins.gradle.org/m2/com/gradle/common-custom-user-data-gradle-plugin/maven-metadata.xml\u0026label=Plugin%20Portal)](https://plugins.gradle.org/plugin/com.gradle.common-custom-user-data-gradle-plugin)\n[![Revved up by Develocity](https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle\u0026labelColor=02303A)](https://ge.solutions-team.gradle.com/scans)\n\nThe Common Custom User Data Gradle plugin for Develocity enhances published build scans\nby adding a set of tags, links and custom values that have proven to be useful for many projects building with Develocity.\n\nYou can leverage this plugin for your project in one of two ways:\n1. [Apply the published plugin](#applying-the-published-plugin) directly in your build and immediately benefit from enhanced build scans\n2. Copy this repository and [develop a customized version of the plugin](#developing-a-customized-version-of-the-plugin) to standardize Develocity usage across multiple projects\n\n## Applying the published plugin\n\nThe Common Custom User Data Gradle plugin is available in the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/com.gradle.common-custom-user-data-gradle-plugin). This\nplugin requires the [Develocity Gradle plugin](https://plugins.gradle.org/plugin/com.gradle.develocity) to also be applied in your build in order to have an effect.\n\nIn order for the Common Custom User Gradle plugin to become active, you need to register it in the `settings.gradle(.kts)` file of your project. The `settings.gradle(.kts)` file is the same\nfile where you have already declared the Develocity Gradle plugin.\n\nSee [here](settings.gradle.kts) for an example.\n\n### Version compatibility\n\nThis table details the version compatibility of the Common Custom User Data Gradle plugin with the Develocity Gradle plugin.\n\n| Common Custom User Data Gradle plugin versions | Develocity Gradle plugin versions        | Gradle version |\n| ---------------------------------------------- | ---------------------------------------- | -------------- |\n| `1.0+`                                         | `3.0+`                                   | `5.0+`         | \n| `1.7+`                                         | `1.15+`, `3.2+`                          | `4.0+`         |\n| `2.0`                                          | `1.15+`, `3.11+`                         | `4.0+`         |\n| `2.1+`                                         | `1.15+`, `3.2+`                          | `4.0+`         |\n\n## Captured data\n\nThe additional tags, links and custom values captured by this plugin include:\n- A tag representing the operating system\n- A tag representing how the build was invoked, be that from your IDE (IDEA, Eclipse, Android Studio) or from the command-line\n- A tag representing builds run on CI, together with a set of tags, links and custom values specific to the CI server running the build\n- For Git repositories, information on the commit id, branch name, status, and whether the checkout is dirty or not\n\nSee [CustomBuildScanEnhancements.java](./src/main/java/com/gradle/CustomBuildScanEnhancements.java) for details on what data is\ncaptured and under which conditions.\n\n## Configuration overrides\n\nThis plugin also allows overriding various Develocity related settings via system properties and environment variables:\n- Develocity general configuration\n- Remote build cache configuration\n- Local build cache configuration\n\nSee [Overrides.java](./src/main/java/com/gradle/Overrides.java) for the override behavior.\n\nYou can use the system properties and environment variables to override Develocity related settings temporarily without having\nto modify the build scripts. For example, to disable the local build cache when running a build:\n\n```bash\n./gradlew -Dgradle.cache.local.enabled=false build\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eClick to see the complete set of available system properties and environment variables in the table below. \u003c/summary\u003e\n\n### Develocity settings\n\n| Develocity API                  | System property                 | Environment variable            |\n|:--------------------------------|:--------------------------------|:--------------------------------|\n| develocity.server               | develocity.url                  | DEVELOCITY_URL                  |\n| develocity.allowUntrustedServer | develocity.allowUntrustedServer | DEVELOCITY_ALLOWUNTRUSTEDSERVER |\n\n### Local Build Cache settings\n\n| Local Build Cache API                            | System property                                 | Environment variable                            |\n|:-------------------------------------------------|:------------------------------------------------|:------------------------------------------------|\n| buildCache.local.setEnabled                      | gradle.cache.local.enabled                      | GRADLE_CACHE_LOCAL_ENABLED                      |\n| buildCache.local.setPush                         | gradle.cache.local.push                         | GRADLE_CACHE_LOCAL_PUSH                         |\n| buildCache.local.setDirectory                    | gradle.cache.local.directory                    | GRADLE_CACHE_LOCAL_DIRECTORY                    |\n| buildCache.local.setRemoveUnusedEntriesAfterDays | gradle.cache.local.removeUnusedEntriesAfterDays | GRADLE_CACHE_LOCAL_REMOVEUNUSEDENTRIESAFTERDAYS |\n\n### HTTP Build Cache settings\n\n| HTTP Build Cache API                       | System property                           | Environment variable                      |\n|:-------------------------------------------|:------------------------------------------|:------------------------------------------|\n| buildCache.remote.setEnabled               | gradle.cache.remote.enabled               | GRADLE_CACHE_REMOTE_ENABLED               |\n| buildCache.remote.setPush                  | gradle.cache.remote.push                  | GRADLE_CACHE_REMOTE_PUSH                  |\n| buildCache.remote.setAllowUntrustedServer  | gradle.cache.remote.allowUntrustedServer  | GRADLE_CACHE_REMOTE_ALLOWUNTRUSTEDSERVER  |\n| buildCache.remote.setAllowInsecureProtocol | gradle.cache.remote.allowInsecureProtocol | GRADLE_CACHE_REMOTE_ALLOWINSECUREPROTOCOL |\n| buildCache.remote.setUrl                   | gradle.cache.remote.url                   | GRADLE_CACHE_REMOTE_URL                   |\n\n### Develocity Build Cache settings\n\n| Develocity Build Cache API                 | System property                              | Environment variable                      |\n|:-------------------------------------------|:---------------------------------------------|:------------------------------------------|\n| buildCache.remote.setEnabled               | gradle.cache.remote.enabled                  | GRADLE_CACHE_REMOTE_ENABLED               |\n| buildCache.remote.setPush                  | gradle.cache.remote.push                     | GRADLE_CACHE_REMOTE_PUSH                  |\n| buildCache.remote.setAllowUntrustedServer  | gradle.cache.remote.allowUntrustedServer     | GRADLE_CACHE_REMOTE_ALLOWUNTRUSTEDSERVER  |\n| buildCache.remote.setAllowInsecureProtocol | gradle.cache.remote.setAllowInsecureProtocol | GRADLE_CACHE_REMOTE_ALLOWINSECUREPROTOCOL |\n| buildCache.remote.setServer                | gradle.cache.remote.server                   | GRADLE_CACHE_REMOTE_SERVER                |\n| buildCache.remote.setPath                  | gradle.cache.remote.path                     | GRADLE_CACHE_REMOTE_PATH                  |\n\n\u003c/details\u003e\n\n## Developing a customized version of the plugin\n\nFor more flexibility, we recommend creating a copy of this repository so that you may develop a customized version of the plugin and publish it internally for your projects to consume.\n\nThis approach has a number of benefits:\n- Tailor the build scan enhancements to exactly the set of tags, links and custom values you require\n- Standardize the configuration for connecting to Develocity and the remote build cache in your organization, removing the need for each project to specify this configuration\n\nIf your customized plugin provides all required Develocity configuration, then a consumer project will get all the benefits of Develocity simply by applying the plugin. The\nproject sources provide a good template to get started with your own plugin.\n\nRefer to the [Javadoc](https://docs.gradle.com/enterprise/gradle-plugin/api/) for more details on the key types available for use.\n\nSee the [Gradle User Manual](https://docs.gradle.org/current/userguide/publishing_gradle_plugins.html#custom-plugin-repositories) for more details on publishing Gradle plugins to an internal repository.\n\n## Changelog\n\nRefer to the [release history](https://github.com/gradle/common-custom-user-data-gradle-plugin/releases) to see detailed changes on the versions.\n\n## Learn more\n\nVisit our website to learn more about [Develocity][develocity].\n\n## License\n\nThe Develocity Common Custom User Data Gradle plugin is open-source software released under the [Apache 2.0 License][apache-license].\n\n[android-cache-fix-plugin]: https://github.com/gradle/android-cache-fix-gradle-plugin\n[ccud-gradle-plugin]: https://github.com/gradle/common-custom-user-data-gradle-plugin\n[ccud-maven-extension]: https://github.com/gradle/common-custom-user-data-maven-extension\n[develocity-build-config-samples]: https://github.com/gradle/develocity-build-config-samples\n[develocity-build-validation-scripts]: https://github.com/gradle/develocity-build-validation-scripts\n[develocity-oss-projects]: https://github.com/gradle/develocity-oss-projects\n[quarkus-build-caching-extension]: https://github.com/gradle/quarkus-build-caching-extension\n[develocity]: https://gradle.com/develocity\n[apache-license]: https://www.apache.org/licenses/LICENSE-2.0.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgradle%2Fcommon-custom-user-data-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgradle%2Fcommon-custom-user-data-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgradle%2Fcommon-custom-user-data-gradle-plugin/lists"}