Skip to content

Maven extension 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.

License

Notifications You must be signed in to change notification settings

gradle/common-custom-user-data-maven-extension

Folders and files

NameName
Last commit message
Last commit date
Sep 5, 2023
Aug 4, 2023
Sep 8, 2023
Jul 6, 2023
Jan 21, 2022
Feb 2, 2022
Jan 20, 2022
Jul 19, 2023
Mar 13, 2023
Mar 13, 2023
Sep 8, 2023

Repository files navigation

This repository is maintained by the Gradle Enterprise Solutions team, as one of several publicly available repositories:

Common Custom User Data Maven Extension

Verify Build Maven Central Revved up by Gradle Enterprise

The Common Custom User Data Maven extension for Gradle Enterprise 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 Gradle Enterprise.

You can leverage this extension for your project in one of two ways:

  1. Apply the published extension directly in your .mvn/extensions.xml and immediately benefit from enhanced build scans
  2. Copy this repository and develop a customized version of the extension to standardize Gradle Enterprise usage across multiple projects

Applying the published extension

The Common Custom User Data Maven extension is available in Maven Central. This extension requires the Gradle Enterprise Maven extension to also be applied in your build in order to have an effect.

In order for the Common Custom User Data Maven extension to become active, you need to register it in the .mvn/extensions.xml file in your root project. The extensions.xml file is the same file where you have already declared the Gradle Enterprise Maven extension.

See here for an example.

Version compatibility

This table details the version compatibility of the Common Custom User Data Maven extension with the Gradle Enterprise Maven extension.

Common Custom User Data Maven extension versions Gradle Enterprise Maven extension versions
1.8+ 1.11+
1.7 - 1.7.3 1.10.1+
1.3 - 1.6 1.6.5+
1.0 - 1.2 1.0+

Captured data

The additional tags, links and custom values captured by this extension include:

  • A tag representing the operating system
  • A tag representing how the build was invoked, be that from your IDE (IDEA, Eclipse) or from the command-line
  • 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
  • For Git repositories, information on the commit id, branch name, status, and whether the checkout is dirty or not

See CustomBuildScanEnhancements.java for details on what data is captured and under which conditions.

Capturing additional tags, links and values in your build scans

You can apply additional configuration beyond what is contributed by the Common Custom User Data Maven extension by default. The additional configuration happens in a specific Groovy script. This is a good intermediate step before creating your own extension.

The Common Custom User Data Maven extension checks for a .mvn/gradle-enterprise-custom-user-data.groovy Groovy script in your root project. If the file exists, it evaluates the script with the following bindings:

See here for an example.

Developing a customized version of the extension

For more flexibility, we recommend creating a copy of this repository so that you may develop a customized version of the extension and publish it internally for your projects to consume.

This approach has a number of benefits:

  • Tailor the build scan enhancements to exactly the set of tags, links and custom values you require
  • Standardize the configuration for connecting to Gradle Enterprise and the remote build cache in your organization, removing the need for each project to specify this configuration

If your customized extension provides all required Gradle Enterprise configuration, then a consumer project will get all the benefits of Gradle Enterprise simply by applying the extension. The project sources provide a good template to get started with your own extension.

Refer to the Javadoc for more details on the key types available for use.

Changelog

Refer to the release history to see detailed changes on the versions.

Learn more

Visit our website to learn more about Gradle Enterprise.

License

The Gradle Enterprise Common Custom User Data Maven extension is open-source software released under the Apache 2.0 License.

About

Maven extension 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.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks