Skip to content

Instantly share code, notes, and snippets.

View jprinet's full-sized avatar

Jérôme Prinet jprinet

  • Bayonne, France
  • 15:12 (UTC +02:00)
View GitHub Profile
@jprinet
jprinet / gradle-enterprise-custom-user-data.groovy
Last active October 3, 2025 15:42
Make gwt-maven-plugin cacheable
log.debug('Evaluating custom Develocity logic')
buildCache.registerMojoMetadataProvider(context -> {
context.withPlugin("gwt-maven-plugin", () -> {
if ("compile".equals(context.getMojoExecution().getGoal())) {
log.debug('Configuring GWT caching')
context.inputs(inputs -> {
try {
List<String> compileClasspathElements = context.getProject().getCompileClasspathElements();
@jprinet
jprinet / build-count.sh
Created August 18, 2025 10:57
Count Develocity build scans
#!/bin/bash
# Parse CLI arguments
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <develocity_url> <access_key> <from_instant_in_ms>"
exit 1
fi
# Init parameters
readonly develocityUrl=$1
@jprinet
jprinet / gist:d6047da5e074da968e810c2e4fb8ed7c
Last active July 4, 2025 10:16
collect-builds-by-custom-value.sh
#!/bin/bash
# Parse CLI arguments
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <develocity_url> <access_key> <yyyy-mm>"
exit 1
fi
# Init parameters
readonly develocityUrl=$1
@jprinet
jprinet / Dockerfile
Created June 18, 2025 11:19
Dockerfile custom GitLab runner
FROM bellsoft/liberica-openjdk-alpine:21
RUN apk add maven
ENV MAVEN_HOME=/usr/share/java/maven-3
# Collect convention extension from binary manager
#RUN mkdir -p $MAVEN_HOME/lib/ext
#ADD https://my-repo-hostname/repo/com/myorg/1.0/develocity-convention-extension-1.0.jar $MAVEN_HOME/lib/ext
@jprinet
jprinet / ConventionDevelocityListener.java
Last active June 18, 2025 13:26
Conditioned Develocity injection
package com.myorg;
import com.gradle.develocity.agent.maven.api.DevelocityApi;
import com.gradle.develocity.agent.maven.api.DevelocityListener;
import com.gradle.develocity.agent.maven.api.cache.BuildCacheApi;
import com.gradle.develocity.agent.maven.api.scan.BuildScanApi;
import org.apache.maven.execution.MavenSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@jprinet
jprinet / collect-users.sh
Created June 5, 2025 13:01
Collect DV users
#!/bin/bash
# Parse CLI arguments
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <develocity_url> <access_key> <yyyy-mm>"
exit 1
fi
# Init parameters
readonly develocityUrl=$1
@jprinet
jprinet / collect-git-repository-urls.sh
Created June 5, 2025 08:50
Collect git repository URLs having non readcted usernames
#!/bin/bash
# Parse CLI arguments
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <develocity_url> <access_key> <yyyy-mm>"
exit 1
fi
# Init parameters
readonly develocityUrl=$1
@jprinet
jprinet / build.gradle.kts
Last active January 30, 2025 17:08
Docker image ids as test inputs
tasks.named("e2eTest") {
val dockerImageIdsProvider = providers.provider {
val dockerImageIds = mutableMapOf<String,String>()
layout.projectDirectory.file("src/test/resources/docker-images.txt").asFile.forEachLine { dockerImageName ->
val dockerImageId = providers.exec {
commandLine("docker", "images", dockerImageName, "--format", "{{.ID}}")
}.standardOutput.asText.getOrElse("not-found-${UUID.randomUUID()}")
logger.info("Adding input $dockerImageName=$dockerImageId")
dockerImageIds.put(dockerImageName,dockerImageId)
}
@jprinet
jprinet / collect-monthly-kpi.sh
Last active January 21, 2025 11:42
Collect Build Scan publication monthly metrics
#!/bin/bash
# Parse CLI arguments
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <develocity_url> <access_key> <yyyy-mm>"
exit 1
fi
# Init parameters
readonly develocityUrl=$1
@jprinet
jprinet / pom.xml
Created August 14, 2024 15:01
Configure Quarkus properties in profiles
<profiles>
<profile>
<id>local</id>
<activation>
</activation>
<properties>
<develocity.quarkus.dump.config.suffix>config-check-local</develocity.quarkus.dump.config.suffix>
</properties>
</profile>