Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shared extension #29

Merged
merged 6 commits into from
Nov 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ i.e. anybody with direct push access to the git repository.

## Continuous integration

Continuous integration happens on a self-hosted Jenkins instance at https://ci.hibernate.org/job/hibernate-search-develocity-extension/.
Continuous integration happens on a self-hosted Jenkins instance at https://ci.hibernate.org/job/hibernate-develocity-maven-extension/.

## Release

* Go to [CI](https://ci.hibernate.org/job/hibernate-search-develocity-extension/).
* Go to [CI](https://ci.hibernate.org/job/hibernate-develocity-maven-extension/).
* Click the "play" button (green triangle) to launch a build.
* Input the parameters.
* Click "Build".
* If something doesn't work, [call for help](https://hibernate.org/community/#contribute).
* If something doesn't work, [call for help](https://hibernate.org/community/#contribute).
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Maven extension configuring the Develocity build cache configuration for the Hibernate Search project

[![Version](https://img.shields.io/maven-central/v/org.hibernate.search.develocity/hibernate-search-develocity-extension?logo=apache-maven&style=for-the-badge)](https://central.sonatype.com/artifact/org.hibernate.search.develocity/hibernate-search-develocity-extension)
[![Version](https://img.shields.io/maven-central/v/org.hibernate.infra.develocity/hibernate-develocity-maven-extension?logo=apache-maven&style=for-the-badge)](https://central.sonatype.com/artifact/org.hibernate.infra.develocity/hibernate-develocity-maven-extension)

## About

Expand Down
20 changes: 10 additions & 10 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.hibernate.search.develocity</groupId>
<artifactId>hibernate-search-develocity-extension</artifactId>
<groupId>org.hibernate.infra.develocity</groupId>
<artifactId>hibernate-develocity-maven-extension</artifactId>
<packaging>jar</packaging>
<version>2.0.1-SNAPSHOT</version>
<name>Hibernate Search Develocity extension</name>
<description>A Maven extension to configure the Develocity build cache for the Hibernate Search project</description>
<url>https://github.com/hibernate/hibernate-search-develocity-extension</url>
<name>Hibernate Develocity extension for Maven Projects</name>
<description>A Maven extension to configure the Develocity build cache for the Hibernate projects using Maven as a build tool.</description>
<url>https://github.com/hibernate/hibernate-develocity-maven-extension</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<develocity-maven-extension.version>1.21</develocity-maven-extension.version>
<develocity-maven-extension.version>1.22.2</develocity-maven-extension.version>
<maven-core.version>3.9.6</maven-core.version>
<plexus-component.version>2.2.0</plexus-component.version>
<sisu-inject.version>0.3.5</sisu-inject.version>
Expand Down Expand Up @@ -192,15 +192,15 @@
</distributionManagement>

<scm>
<url>https://github.com/hibernate/hibernate-search-develocity-extension</url>
<connection>scm:git:git@github.com:hibernate/hibernate-search-develocity-extension.git</connection>
<developerConnection>scm:git:git@github.com:hibernate/hibernate-search-develocity-extension.git</developerConnection>
<url>https://github.com/hibernate/hibernate-develocity-maven-extension</url>
<connection>scm:git:git@github.com:hibernate/hibernate-develocity-maven-extension.git</connection>
<developerConnection>scm:git:git@github.com:hibernate/hibernate-develocity-maven-extension.git</developerConnection>
<tag>HEAD</tag>
</scm>

<issueManagement>
<system>GitHub</system>
<url>https://github.com/hibernate/hibernate-search-develocity-extension/issues</url>
<url>https://github.com/hibernate/hibernate-develocity-maven-extension/issues</url>
</issueManagement>

<profiles>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.hibernate.search.develocity;
package org.hibernate.infra.develocity;

import org.apache.maven.execution.MavenSession;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.hibernate.search.develocity;
package org.hibernate.infra.develocity;

import java.util.function.Consumer;

import org.hibernate.search.develocity.util.MavenMojoExecutionConfig;
import org.hibernate.search.develocity.util.MavenProperties;
import org.hibernate.infra.develocity.util.MavenMojoExecutionConfig;
import org.hibernate.infra.develocity.util.MavenProperties;

import com.gradle.develocity.agent.maven.api.cache.MojoMetadataProvider;
import com.gradle.develocity.agent.maven.api.scan.BuildScanApi;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package org.hibernate.search.develocity;
package org.hibernate.infra.develocity;

import java.util.List;

import com.gradle.develocity.agent.maven.api.scan.BuildScanPublishing;
import org.apache.maven.execution.MavenSession;
import org.codehaus.plexus.component.annotations.Component;
import org.hibernate.search.develocity.normalization.Normalization;
import org.hibernate.search.develocity.plugins.CompilerConfiguredPlugin;
import org.hibernate.search.develocity.plugins.FailsafeConfiguredPlugin;
import org.hibernate.search.develocity.plugins.ForbiddenApisConfiguredPlugin;
import org.hibernate.search.develocity.plugins.SurefireConfiguredPlugin;
import org.hibernate.search.develocity.scan.BuildScanMetadata;
import org.hibernate.infra.develocity.normalization.Normalization;
import org.hibernate.infra.develocity.plugins.CompilerConfiguredPlugin;
import org.hibernate.infra.develocity.plugins.FailsafeConfiguredPlugin;
import org.hibernate.infra.develocity.plugins.ForbiddenApisConfiguredPlugin;
import org.hibernate.infra.develocity.plugins.SurefireConfiguredPlugin;
import org.hibernate.infra.develocity.scan.BuildScanMetadata;

import com.gradle.develocity.agent.maven.api.DevelocityApi;
import com.gradle.develocity.agent.maven.api.DevelocityListener;
Expand All @@ -26,7 +26,7 @@ public void configure(DevelocityApi develocityApi, MavenSession mavenSession) {
develocityApi.getBuildScan().getPublishing()
.onlyIf( BuildScanPublishing.PublishingContext::isAuthenticated );

BuildScanMetadata.addMainMetadata(develocityApi.getBuildScan());
BuildScanMetadata.addMainMetadata(develocityApi.getBuildScan(), mavenSession);

Normalization.configureNormalization(develocityApi.getBuildCache());

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.hibernate.search.develocity;
package org.hibernate.infra.develocity;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.hibernate.search.develocity;
package org.hibernate.infra.develocity;

import java.util.Collections;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Function;

import org.hibernate.search.develocity.scan.BuildScanMetadata;
import org.hibernate.search.develocity.util.JavaVersions;
import org.hibernate.infra.develocity.scan.BuildScanMetadata;
import org.hibernate.infra.develocity.util.JavaVersions;

import com.gradle.develocity.agent.maven.api.DevelocityApi;
import com.gradle.develocity.agent.maven.api.cache.MojoMetadataProvider;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.hibernate.search.develocity.normalization;
package org.hibernate.infra.develocity.normalization;

import com.gradle.develocity.agent.maven.api.cache.BuildCacheApi;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package org.hibernate.search.develocity.plugins;
package org.hibernate.infra.develocity.plugins;

import java.util.Map;

import org.hibernate.search.develocity.GoalMetadataProvider;
import org.hibernate.search.develocity.SimpleConfiguredPlugin;
import org.hibernate.search.develocity.scan.BuildScanMetadata;
import org.hibernate.search.develocity.util.JavaVersions;
import org.hibernate.infra.develocity.GoalMetadataProvider;
import org.hibernate.infra.develocity.SimpleConfiguredPlugin;
import org.hibernate.infra.develocity.scan.BuildScanMetadata;
import org.hibernate.infra.develocity.util.JavaVersions;

public class CompilerConfiguredPlugin extends SimpleConfiguredPlugin {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.hibernate.search.develocity.plugins;
package org.hibernate.infra.develocity.plugins;

import java.util.Map;

import org.hibernate.search.develocity.GoalMetadataProvider;
import org.hibernate.search.develocity.scan.BuildScanMetadata;
import org.hibernate.infra.develocity.GoalMetadataProvider;
import org.hibernate.infra.develocity.scan.BuildScanMetadata;

import com.gradle.develocity.agent.maven.api.cache.MojoMetadataProvider;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.hibernate.search.develocity.plugins;
package org.hibernate.infra.develocity.plugins;

import java.io.File;
import java.util.Map;

import org.hibernate.search.develocity.GoalMetadataProvider;
import org.hibernate.search.develocity.SimpleConfiguredPlugin;
import org.hibernate.infra.develocity.GoalMetadataProvider;
import org.hibernate.infra.develocity.SimpleConfiguredPlugin;

import com.gradle.develocity.agent.maven.api.cache.MojoMetadataProvider.Context.FileSet.NormalizationStrategy;

Expand Down Expand Up @@ -39,10 +39,10 @@ private static void configureCheck(GoalMetadataProvider.Context context) {
inputs.fileSet("classpathElements", fs -> fs.normalizationStrategy(NormalizationStrategy.COMPILE_CLASSPATH));
inputs.fileSet("classesDirectory", fs -> fs.normalizationStrategy(NormalizationStrategy.COMPILE_CLASSPATH));

// for now, we push only one signature artifacts but we could explore the config if it was strictly necessary
File hibernateSearchBuildConfigArtifactFile = resolveHibernateSearchBuildConfigArtifact(context);
// for now, we push only one signature artifacts, but we could explore the config if it was strictly necessary
File buildConfigArtifactFile = resolveBuildConfigArtifact(context);

inputs.fileSet("hibernateSearchBuildConfig", hibernateSearchBuildConfigArtifactFile,
inputs.fileSet("buildConfigArtifact", buildConfigArtifactFile,
fs -> fs.normalizationStrategy(NormalizationStrategy.CLASSPATH));

inputs.ignore("signaturesArtifacts", "projectRepos", "repoSession");
Expand All @@ -63,9 +63,20 @@ private static void configureTestCheck(GoalMetadataProvider.Context context) {
});
}

private static File resolveHibernateSearchBuildConfigArtifact(GoalMetadataProvider.Context context) {
Artifact hibernateSearchBuildConfigArtifact = new DefaultArtifact("org.hibernate.search",
"hibernate-search-build-config", "jar",
private static File resolveBuildConfigArtifact(GoalMetadataProvider.Context context) {
String groupId = context.metadata().getProject().getModel().getGroupId();
if ("org.hibernate.search".equals(groupId)) {
return resolveBuildConfigArtifact("org.hibernate.search", "hibernate-search-build-config", context);
} else if ("org.hibernate.validator".equals(groupId)) {
return resolveBuildConfigArtifact("org.hibernate.validator", "hibernate-validator-build-config", context);
} else {
throw new IllegalArgumentException("This project is not supported by the extension: %s:%s".formatted(groupId, context.metadata().getProject().getArtifactId()));
}

}

private static File resolveBuildConfigArtifact(String groupId, String artifactId, GoalMetadataProvider.Context context) {
Artifact hibernateSearchBuildConfigArtifact = new DefaultArtifact(groupId, artifactId, "jar",
context.metadata().getProject().getVersion());
File hibernateSearchBuildConfigArtifactFile = context.metadata().getSession().getRepositorySession().getWorkspaceReader()
.findArtifact(hibernateSearchBuildConfigArtifact);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package org.hibernate.search.develocity.plugins;
package org.hibernate.infra.develocity.plugins;

import java.util.Map;
import java.util.regex.Pattern;

import org.hibernate.search.develocity.GoalMetadataProvider;
import org.hibernate.search.develocity.SimpleConfiguredPlugin;
import org.hibernate.search.develocity.util.JavaVersions;
import org.hibernate.infra.develocity.GoalMetadataProvider;
import org.hibernate.infra.develocity.SimpleConfiguredPlugin;
import org.hibernate.infra.develocity.scan.BuildScanMetadata;
import org.hibernate.infra.develocity.util.JavaVersions;

import com.gradle.develocity.agent.maven.api.cache.MojoMetadataProvider;

Expand Down Expand Up @@ -35,6 +36,10 @@ protected void configureTest(GoalMetadataProvider.Context context) {
} );

configureEnvironmentVariables(context);

if ( !isSkipped( context ) ) {
BuildScanMetadata.addSurefireMetadata( context );
}
}

// Develocity handles environment variables as a big blob by default,
Expand Down
Loading