Skip to content

Commit cfa8ce5

Browse files
authored
Merge pull request #7 from yrodiere/more-tags
Fix tagging of DB/Lucene/Elasticsearch, make exact Java version matching opt-in
2 parents 5cbd970 + 45228f2 commit cfa8ce5

15 files changed

+296
-98
lines changed

pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@
6161
<version>${plexus-component.version}</version>
6262
<scope>provided</scope>
6363
</dependency>
64+
<dependency>
65+
<groupId>org.apache.maven.plugins</groupId>
66+
<artifactId>maven-surefire-plugin</artifactId>
67+
<version>${maven-surefire-plugin.version}</version>
68+
<scope>provided</scope>
69+
</dependency>
6470
<dependency>
6571
<groupId>com.gradle</groupId>
6672
<artifactId>gradle-enterprise-maven-extension</artifactId>

src/main/java/org/hibernate/search/develocity/SimpleConfiguredPlugin.java

+12-5
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@
55
import java.util.Map.Entry;
66
import java.util.function.Function;
77

8+
import org.hibernate.search.develocity.util.JavaVersions;
9+
import org.hibernate.search.develocity.util.MavenConfigs;
10+
811
import com.gradle.maven.extension.api.GradleEnterpriseApi;
912
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
1013
import com.gradle.maven.extension.api.cache.NormalizationProvider;
14+
import com.gradle.maven.extension.api.scan.BuildScanApi;
1115
import org.apache.maven.execution.MavenSession;
1216
import org.apache.maven.project.MavenProject;
1317

@@ -23,7 +27,7 @@ public void configureBuildCache(GradleEnterpriseApi gradleEnterpriseApi, MavenSe
2327
return;
2428
}
2529

26-
Map<String, GoalMetadataProvider> goalMetadataProviders = Collections.unmodifiableMap(getGoalMetadataProviders());
30+
Map<String, GoalMetadataProvider> goalMetadataProviders = Collections.unmodifiableMap(getGoalMetadataProviders(gradleEnterpriseApi.getBuildScan()));
2731

2832
Log.debug(getPluginName(), "Build cache is enabled. Configuring metadata providers.");
2933
Log.debug(getPluginName(), "Configuring metadata for goals: " + goalMetadataProviders.keySet());
@@ -43,7 +47,7 @@ protected boolean isBuildCacheEnabled(MavenProject project) {
4347
return true;
4448
}
4549

46-
protected abstract Map<String, GoalMetadataProvider> getGoalMetadataProviders();
50+
protected abstract Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi);
4751

4852
protected static void dependsOnGav(MojoMetadataProvider.Context.Inputs inputs, MojoMetadataProvider.Context context) {
4953
inputs.property("_internal_gav", context.getProject().getGroupId() + ":" + context.getProject().getArtifactId() + ":" + context.getProject().getVersion());
@@ -65,9 +69,12 @@ protected static void dependsOnConfigurableJavaExecutable(MojoMetadataProvider.C
6569
Function<String, String> executableToVersion) {
6670
var configChild = context.getMojoExecution().getConfiguration().getChild( configChildName );
6771
String javaExecutable = configChild == null ? null : configChild.getValue();
68-
String javaVersion = executableToVersion.apply( javaExecutable );
69-
inputs.property( "_internal_" + configChildName + "_java_version", javaVersion );
70-
Log.info(
72+
String javaVersion = executableToVersion.apply( javaExecutable );
73+
inputs.property( "_internal_" + configChildName + "_java_version",
74+
MavenConfigs.cacheExactJavaVersion( context.getSession() )
75+
? javaVersion
76+
: JavaVersions.toJdkMajor( javaVersion, javaVersion ) );
77+
Log.info(
7178
context.getMojoExecution().getPlugin().getArtifactId(),
7279
"Using %s at path '%s'; resolved version: %s"
7380
.formatted( configChildName, javaExecutable, javaVersion.replace( '\n', ' ' ).trim() )

src/main/java/org/hibernate/search/develocity/plugins/CompilerConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.hibernate.search.develocity.util.JavaVersions;
77

88
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
9+
import com.gradle.maven.extension.api.scan.BuildScanApi;
910

1011
public class CompilerConfiguredPlugin extends SimpleConfiguredPlugin {
1112

@@ -15,7 +16,7 @@ protected String getPluginName() {
1516
}
1617

1718
@Override
18-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
19+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
1920
return Map.of(
2021
"compile", CompilerConfiguredPlugin::configureCompile,
2122
"testCompile", CompilerConfiguredPlugin::configureCompile

src/main/java/org/hibernate/search/develocity/plugins/EnforcerConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.hibernate.search.develocity.SimpleConfiguredPlugin;
77

88
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
9+
import com.gradle.maven.extension.api.scan.BuildScanApi;
910

1011
public class EnforcerConfiguredPlugin extends SimpleConfiguredPlugin {
1112

@@ -15,7 +16,7 @@ protected String getPluginName() {
1516
}
1617

1718
@Override
18-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
19+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
1920
return Map.of(
2021
"enforce", EnforcerConfiguredPlugin::configureEnforce);
2122
}

src/main/java/org/hibernate/search/develocity/plugins/FailsafeConfiguredPlugin.java

+19-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@
22

33
import java.util.Map;
44

5+
import org.hibernate.search.develocity.scan.BuildScanMetadata;
6+
import org.hibernate.search.develocity.util.MavenConfigs;
7+
58
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
9+
import com.gradle.maven.extension.api.scan.BuildScanApi;
10+
11+
import org.apache.maven.plugin.MojoExecution;
612

713
public class FailsafeConfiguredPlugin extends SurefireConfiguredPlugin {
814

@@ -12,13 +18,23 @@ protected String getPluginName() {
1218
}
1319

1420
@Override
15-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
21+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
1622
return Map.of(
17-
"integration-test", FailsafeConfiguredPlugin::configureIntegrationTest
23+
"integration-test", context -> configureIntegrationTest( context, buildScanApi )
1824
);
1925
}
2026

21-
private static void configureIntegrationTest(MojoMetadataProvider.Context context) {
27+
private static void configureIntegrationTest(MojoMetadataProvider.Context context, BuildScanApi buildScanApi) {
2228
configureTest( context );
29+
if ( !isSkipped( context.getMojoExecution() ) ) {
30+
BuildScanMetadata.addFailsafeMetadataToBuildScan( buildScanApi, context.getSession(), context.getMojoExecution() );
31+
}
2332
}
33+
34+
private static boolean isSkipped(MojoExecution mojoExecution) {
35+
return MavenConfigs.getBooleanConfig( mojoExecution, "skip" )
36+
|| MavenConfigs.getBooleanConfig( mojoExecution, "skipITs" )
37+
|| MavenConfigs.getBooleanConfig( mojoExecution, "skipExec" );
38+
}
39+
2440
}

src/main/java/org/hibernate/search/develocity/plugins/ForbiddenApisConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.File;
44
import java.util.Map;
55

6+
import com.gradle.maven.extension.api.scan.BuildScanApi;
67
import org.eclipse.aether.artifact.Artifact;
78
import org.eclipse.aether.artifact.DefaultArtifact;
89
import org.hibernate.search.develocity.SimpleConfiguredPlugin;
@@ -18,7 +19,7 @@ protected String getPluginName() {
1819
}
1920

2021
@Override
21-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
22+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
2223
return Map.of(
2324
"check", ForbiddenApisConfiguredPlugin::configureCheck,
2425
"testCheck", ForbiddenApisConfiguredPlugin::configureTestCheck);

src/main/java/org/hibernate/search/develocity/plugins/FormatterConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
88
import com.gradle.maven.extension.api.cache.MojoMetadataProvider.Context.FileSet.EmptyDirectoryHandling;
99
import com.gradle.maven.extension.api.cache.MojoMetadataProvider.Context.FileSet.NormalizationStrategy;
10+
import com.gradle.maven.extension.api.scan.BuildScanApi;
1011

1112
public class FormatterConfiguredPlugin extends SimpleConfiguredPlugin {
1213

@@ -16,7 +17,7 @@ protected String getPluginName() {
1617
}
1718

1819
@Override
19-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
20+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
2021
return Map.of(
2122
"format", FormatterConfiguredPlugin::configureFormat,
2223
"validate", FormatterConfiguredPlugin::configureValidate);

src/main/java/org/hibernate/search/develocity/plugins/ImpsortConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
88
import com.gradle.maven.extension.api.cache.MojoMetadataProvider.Context.FileSet.EmptyDirectoryHandling;
99
import com.gradle.maven.extension.api.cache.MojoMetadataProvider.Context.FileSet.NormalizationStrategy;
10+
import com.gradle.maven.extension.api.scan.BuildScanApi;
1011

1112
public class ImpsortConfiguredPlugin extends SimpleConfiguredPlugin {
1213

@@ -16,7 +17,7 @@ protected String getPluginName() {
1617
}
1718

1819
@Override
19-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
20+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
2021
return Map.of(
2122
"sort", ImpsortConfiguredPlugin::configureSort,
2223
"check", ImpsortConfiguredPlugin::configureValidate);

src/main/java/org/hibernate/search/develocity/plugins/SourceConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
99
import com.gradle.maven.extension.api.cache.MojoMetadataProvider.Context.FileSet.NormalizationStrategy;
10+
import com.gradle.maven.extension.api.scan.BuildScanApi;
1011

1112
/**
1213
* TODO discuss this more in depth with Alexey, especially to make sure the output directory is not shared with other plugins.
@@ -19,7 +20,7 @@ protected String getPluginName() {
1920
}
2021

2122
@Override
22-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
23+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
2324
return Map.of(
2425
"jar-no-fork", SourceConfiguredPlugin::jarNoFork);
2526
}

src/main/java/org/hibernate/search/develocity/plugins/SurefireConfiguredPlugin.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.hibernate.search.develocity.util.JavaVersions;
77

88
import com.gradle.maven.extension.api.cache.MojoMetadataProvider;
9+
import com.gradle.maven.extension.api.scan.BuildScanApi;
910

1011
public class SurefireConfiguredPlugin extends SimpleConfiguredPlugin {
1112

@@ -15,7 +16,7 @@ protected String getPluginName() {
1516
}
1617

1718
@Override
18-
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders() {
19+
protected Map<String, GoalMetadataProvider> getGoalMetadataProviders(BuildScanApi buildScanApi) {
1920
return Map.of(
2021
"test", SurefireConfiguredPlugin::configureTest
2122
);

0 commit comments

Comments
 (0)