Use Gradle version catalog
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -17,13 +17,14 @@
|
||||
package org.springframework.gradle.checkstyle;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import io.spring.javaformat.gradle.tasks.CheckFormat;
|
||||
import org.gradle.api.Plugin;
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.api.artifacts.VersionCatalog;
|
||||
import org.gradle.api.artifacts.VersionCatalogsExtension;
|
||||
import org.gradle.api.plugins.JavaPlugin;
|
||||
import org.gradle.api.plugins.quality.CheckstyleExtension;
|
||||
import org.gradle.api.plugins.quality.CheckstylePlugin;
|
||||
@@ -36,12 +37,6 @@ import org.gradle.api.plugins.quality.CheckstylePlugin;
|
||||
*/
|
||||
public class SpringJavaCheckstylePlugin implements Plugin<Project> {
|
||||
private static final String CHECKSTYLE_DIR = "etc/checkstyle";
|
||||
private static final String SPRING_JAVAFORMAT_VERSION_PROPERTY = "springJavaformatVersion";
|
||||
private static final String DEFAULT_SPRING_JAVAFORMAT_VERSION = "0.0.41";
|
||||
private static final String NOHTTP_CHECKSTYLE_VERSION_PROPERTY = "nohttpCheckstyleVersion";
|
||||
private static final String DEFAULT_NOHTTP_CHECKSTYLE_VERSION = "0.0.11";
|
||||
private static final String CHECKSTYLE_TOOL_VERSION_PROPERTY = "checkstyleToolVersion";
|
||||
private static final String DEFAULT_CHECKSTYLE_TOOL_VERSION = "8.34";
|
||||
private static final String SPRING_JAVAFORMAT_EXCLUDE_PACKAGES_PROPERTY = "springJavaformatExcludePackages";
|
||||
|
||||
@Override
|
||||
@@ -51,15 +46,14 @@ public class SpringJavaCheckstylePlugin implements Plugin<Project> {
|
||||
if (checkstyleDir.exists() && checkstyleDir.isDirectory()) {
|
||||
project.getPluginManager().apply(CheckstylePlugin.class);
|
||||
|
||||
// NOTE: See gradle.properties#springJavaformatVersion for actual version number
|
||||
project.getDependencies().add("checkstyle", "io.spring.javaformat:spring-javaformat-checkstyle:" + getSpringJavaformatVersion(project));
|
||||
// NOTE: See gradle.properties#nohttpCheckstyleVersion for actual version number
|
||||
project.getDependencies().add("checkstyle", "io.spring.nohttp:nohttp-checkstyle:" + getNohttpCheckstyleVersion(project));
|
||||
VersionCatalog versionCatalog = project.getRootProject().getExtensions().getByType(VersionCatalogsExtension.class).named("libs");
|
||||
|
||||
project.getDependencies().add("checkstyle", versionCatalog.findLibrary("io-spring-javaformat-spring-javaformat-checkstyle").get());
|
||||
project.getDependencies().add("checkstyle", versionCatalog.findLibrary("io-spring-nohttp-nohttp-checkstyle").get());
|
||||
|
||||
CheckstyleExtension checkstyle = project.getExtensions().getByType(CheckstyleExtension.class);
|
||||
checkstyle.getConfigDirectory().set(checkstyleDir);
|
||||
// NOTE: See gradle.properties#checkstyleToolVersion for actual version number
|
||||
checkstyle.setToolVersion(getCheckstyleToolVersion(project));
|
||||
checkstyle.setToolVersion("8.34");
|
||||
}
|
||||
|
||||
// Configure checkFormat task
|
||||
@@ -73,30 +67,6 @@ public class SpringJavaCheckstylePlugin implements Plugin<Project> {
|
||||
});
|
||||
}
|
||||
|
||||
private static String getSpringJavaformatVersion(Project project) {
|
||||
String springJavaformatVersion = DEFAULT_SPRING_JAVAFORMAT_VERSION;
|
||||
if (project.hasProperty(SPRING_JAVAFORMAT_VERSION_PROPERTY)) {
|
||||
springJavaformatVersion = Objects.requireNonNull(project.findProperty(SPRING_JAVAFORMAT_VERSION_PROPERTY)).toString();
|
||||
}
|
||||
return springJavaformatVersion;
|
||||
}
|
||||
|
||||
private static String getNohttpCheckstyleVersion(Project project) {
|
||||
String nohttpCheckstyleVersion = DEFAULT_NOHTTP_CHECKSTYLE_VERSION;
|
||||
if (project.hasProperty(NOHTTP_CHECKSTYLE_VERSION_PROPERTY)) {
|
||||
nohttpCheckstyleVersion = Objects.requireNonNull(project.findProperty(NOHTTP_CHECKSTYLE_VERSION_PROPERTY)).toString();
|
||||
}
|
||||
return nohttpCheckstyleVersion;
|
||||
}
|
||||
|
||||
private static String getCheckstyleToolVersion(Project project) {
|
||||
String checkstyleToolVersion = DEFAULT_CHECKSTYLE_TOOL_VERSION;
|
||||
if (project.hasProperty(CHECKSTYLE_TOOL_VERSION_PROPERTY)) {
|
||||
checkstyleToolVersion = Objects.requireNonNull(project.findProperty(CHECKSTYLE_TOOL_VERSION_PROPERTY)).toString();
|
||||
}
|
||||
return checkstyleToolVersion;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private String[] getSpringJavaformatExcludePackages(Project project) {
|
||||
String springJavaformatExcludePackages = (String) project.findProperty(SPRING_JAVAFORMAT_EXCLUDE_PACKAGES_PROPERTY);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -25,8 +25,6 @@ import org.gradle.api.tasks.SourceSetContainer;
|
||||
import org.gradle.api.tasks.TaskProvider;
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin;
|
||||
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Andy Wilkinson
|
||||
* @author Rob Winch
|
||||
@@ -55,7 +53,7 @@ public class SpringCheckClasspathForProhibitedDependenciesPlugin implements Plug
|
||||
}
|
||||
|
||||
private void createProhibitedDependenciesCheck(Configuration classpath, Project project) {
|
||||
String taskName = "check" + StringUtils.capitalize(classpath.getName() + "ForProhibitedDependencies");
|
||||
String taskName = "check" + capitalize(classpath.getName() + "ForProhibitedDependencies");
|
||||
TaskProvider<CheckClasspathForProhibitedDependencies> checkClasspathTask = project.getTasks().register(taskName,
|
||||
CheckClasspathForProhibitedDependencies.class, (checkClasspath) -> {
|
||||
checkClasspath.setGroup(LifecycleBasePlugin.CHECK_TASK_NAME);
|
||||
@@ -64,4 +62,25 @@ public class SpringCheckClasspathForProhibitedDependenciesPlugin implements Plug
|
||||
});
|
||||
project.getTasks().named(SpringCheckProhibitedDependenciesLifecyclePlugin.CHECK_PROHIBITED_DEPENDENCIES_TASK_NAME, (checkProhibitedTask) -> checkProhibitedTask.dependsOn(checkClasspathTask));
|
||||
}
|
||||
|
||||
private static String capitalize(String str) {
|
||||
if (!hasLength(str)) {
|
||||
return str;
|
||||
} else {
|
||||
char baseChar = str.charAt(0);
|
||||
char updatedChar = Character.toUpperCase(baseChar);
|
||||
if (baseChar == updatedChar) {
|
||||
return str;
|
||||
} else {
|
||||
char[] chars = str.toCharArray();
|
||||
chars[0] = updatedChar;
|
||||
return new String(chars);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean hasLength(String str) {
|
||||
return str != null && !str.isEmpty();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.springframework.gradle.jacoco;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.gradle.api.Plugin;
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.api.plugins.JavaPlugin;
|
||||
@@ -31,8 +29,6 @@ import org.gradle.testing.jacoco.plugins.JacocoPluginExtension;
|
||||
* @author Steve Riesenberg
|
||||
*/
|
||||
public class SpringJacocoPlugin implements Plugin<Project> {
|
||||
private static final String JACOCO_TOOL_VERSION_PROPERTY = "jacocoToolVersion";
|
||||
private static final String DEFAULT_JACOCO_TOOL_VERSION = "0.8.7";
|
||||
|
||||
@Override
|
||||
public void apply(Project project) {
|
||||
@@ -41,16 +37,8 @@ public class SpringJacocoPlugin implements Plugin<Project> {
|
||||
project.getTasks().getByName("check").dependsOn(project.getTasks().getByName("jacocoTestReport"));
|
||||
|
||||
JacocoPluginExtension jacoco = project.getExtensions().getByType(JacocoPluginExtension.class);
|
||||
// NOTE: See gradle.properties#jacocoToolVersion for actual version number
|
||||
jacoco.setToolVersion(getJacocoToolVersion(project));
|
||||
jacoco.setToolVersion("0.8.7");
|
||||
});
|
||||
}
|
||||
|
||||
private static String getJacocoToolVersion(Project project) {
|
||||
String jacocoToolVersion = DEFAULT_JACOCO_TOOL_VERSION;
|
||||
if (project.hasProperty(JACOCO_TOOL_VERSION_PROPERTY)) {
|
||||
jacocoToolVersion = Objects.requireNonNull(project.findProperty(JACOCO_TOOL_VERSION_PROPERTY)).toString();
|
||||
}
|
||||
return jacocoToolVersion;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user