This repository is the home for tooling and scripts that allow auto-injection of Develocity into various Build Tool configurations by CI plugins. It is designed to host the common build-tool integrations that will be leveraged by the various CI plugin implementations.
At this stage, only the Gradle init-script for Develocity has been migrated to this repository.
An init-script that can be used by CI integrations to inject Develocity into a Gradle build.
- The latest source for the init-script can be found here.
- The repository includes a set of integration tests for different features of the init-script.
- The
referencedirectory contains the latest released version of the init-script: this script has a version number embedded, and is designed to be re-used in other repositories. - When executed manually, the gradle-release.yml workflow will:
- Copy the latest script source into
reference, applying the supplied version number. The version number should be formattedvX.X[.x]. - Tag the repository with the version number
- Commit the new reference script to this repository
- Create PRs to update the script in various CI plugin repositories. See here for an example run with links to generated PRs.
- Copy the latest script source into
A number of input parameters can be used to control Develocity injection.
These inputs can be provided via system properties (e.g., -Ddevelocity-injection.url=https://ge.gradle.org)
or via environment variables by replacing all hyphens (-) and periods (.) with underscores (_), and capitalizing all characters (e.g., DEVELOCITY_INJECTION_URL=https://ge.gradle.org).
| Input | Required | Definition |
|---|---|---|
| develocity-injection.init-script-name | ✅ | must match the name of the init-script |
| develocity-injection.enabled | ✅ | set to 'true' to enable Develocity injection |
| develocity-injection.debug | set to 'true' to enable debug logging for Develocity injection |
| Input | Required | Definition |
|---|---|---|
| develocity-injection.develocity-plugin.version | ✅ | the version of the Develocity Gradle plugin to apply |
| develocity-injection.ccud-plugin.version | the version of the Common Custom User Data Gradle plugin to apply, if any | |
| develocity-injection.plugin-repository.url | the URL of the repository to use when resolving the Develocity and CCUD plugins; the Gradle Plugin Portal is used by default | |
| develocity-injection.plugin-repository.username | the username for the repository URL to use when resolving the Develocity and CCUD plugins | |
| develocity-injection.plugin-repository.password | the password for the repository URL to use when resolving the Develocity and CCUD plugins |
| Input | Required | Definition |
|---|---|---|
| develocity-injection.url | ✅ | the URL of the Develocity server |
| develocity-injection.enforce-url | enforce the configured Develocity URL over a URL configured in the project's build | |
| develocity-injection.allow-untrusted-server | allow communication with an untrusted server; set to true if your Develocity instance is using a self-signed certificate | |
| develocity-injection.capture-file-fingerprints | enables capturing the paths and content hashes of each individual input file | |
| develocity-injection.upload-in-background | set to 'false' to disable background upload of build scans | |
| develocity-injection.custom-value | Add a Build Scan custom value to identify auto-injection builds | |
| develocity-injection.terms-of-use.url | enable publishing to scans.gradle.com | |
| develocity-injection.terms-of-use.agree | enable publishing to scans.gradle.com |
The following Develocity CI integrations leverage the Gradle init-script from this repository.
- GitHub Actions: The 'setup-gradle' action
- Bamboo: Develocity Bamboo Plugin
- Jenkins: Jenkins Gradle Plugin
- GitLab: Develocity Gitlab Templates
- TeamCity: TeamCity Build Scan Plugin
The following Develocity tooling also leverages this init-script.