diff --git a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java index 3f04f629b0..4a9602cf0c 100644 --- a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java +++ b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 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. @@ -26,6 +26,7 @@ import java.util.LinkedList; import java.util.List; import java.util.ServiceLoader; +import groovy.grape.GrapeEngine; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyClassLoader.ClassCollector; import groovy.lang.GroovyCodeSource; @@ -44,10 +45,9 @@ import org.codehaus.groovy.transform.ASTTransformation; import org.codehaus.groovy.transform.ASTTransformationVisitor; import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement; -import org.springframework.boot.cli.compiler.grape.AetherGrapeEngine; -import org.springframework.boot.cli.compiler.grape.AetherGrapeEngineFactory; import org.springframework.boot.cli.compiler.grape.DependencyResolutionContext; import org.springframework.boot.cli.compiler.grape.GrapeEngineInstaller; +import org.springframework.boot.cli.compiler.grape.MavenResolverGrapeEngineFactory; import org.springframework.boot.cli.util.ResourceUtils; import org.springframework.core.annotation.AnnotationAwareOrderComparator; import org.springframework.util.ClassUtils; @@ -96,7 +96,7 @@ public class GroovyCompiler { DependencyResolutionContext resolutionContext = new DependencyResolutionContext(); resolutionContext.addDependencyManagement(new SpringBootDependenciesDependencyManagement()); - AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(this.loader, + GrapeEngine grapeEngine = MavenResolverGrapeEngineFactory.create(this.loader, configuration.getRepositoryConfiguration(), resolutionContext, configuration.isQuiet()); GrapeEngineInstaller.install(grapeEngine); diff --git a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngine.java b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngine.java similarity index 96% rename from spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngine.java rename to spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngine.java index a95fa1bbfb..575ebee0a5 100644 --- a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngine.java +++ b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngine.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 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. @@ -44,15 +44,15 @@ import org.eclipse.aether.util.filter.DependencyFilterUtils; /** * A {@link GrapeEngine} implementation that uses - * Aether, the dependency resolution system used - * by Maven. + * Maven Resolver, the + * dependency resolution system used by Maven. * * @author Andy Wilkinson * @author Phillip Webb - * @since 1.0.0 + * @since 2.5.9 */ @SuppressWarnings("rawtypes") -public class AetherGrapeEngine implements GrapeEngine { +public class MavenResolverGrapeEngine implements GrapeEngine { private static final Collection WILDCARD_EXCLUSION; @@ -74,7 +74,7 @@ public class AetherGrapeEngine implements GrapeEngine { private final List repositories; - public AetherGrapeEngine(GroovyClassLoader classLoader, RepositorySystem repositorySystem, + public MavenResolverGrapeEngine(GroovyClassLoader classLoader, RepositorySystem repositorySystem, DefaultRepositorySystemSession repositorySystemSession, List remoteRepositories, DependencyResolutionContext resolutionContext, boolean quiet) { this.classLoader = classLoader; diff --git a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineFactory.java b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngineFactory.java similarity index 90% rename from spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineFactory.java rename to spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngineFactory.java index cf46b4c23d..9e2adf63b1 100644 --- a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineFactory.java +++ b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngineFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 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. @@ -36,14 +36,14 @@ import org.eclipse.aether.transport.file.FileTransporterFactory; import org.eclipse.aether.transport.http.HttpTransporterFactory; /** - * Utility class to create a pre-configured {@link AetherGrapeEngine}. + * Utility class to create a pre-configured {@link MavenResolverGrapeEngine}. * * @author Andy Wilkinson - * @since 1.0.0 + * @since 2.5.9 */ -public abstract class AetherGrapeEngineFactory { +public abstract class MavenResolverGrapeEngineFactory { - public static AetherGrapeEngine create(GroovyClassLoader classLoader, + public static MavenResolverGrapeEngine create(GroovyClassLoader classLoader, List repositoryConfigurations, DependencyResolutionContext dependencyResolutionContext, boolean quiet) { RepositorySystem repositorySystem = createServiceLocator().getService(RepositorySystem.class); @@ -54,7 +54,7 @@ public abstract class AetherGrapeEngineFactory { autoConfiguration.apply(repositorySystemSession, repositorySystem); } new DefaultRepositorySystemSessionAutoConfiguration().apply(repositorySystemSession, repositorySystem); - return new AetherGrapeEngine(classLoader, repositorySystem, repositorySystemSession, + return new MavenResolverGrapeEngine(classLoader, repositorySystem, repositorySystemSession, createRepositories(repositoryConfigurations), dependencyResolutionContext, quiet); } diff --git a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/RepositorySystemSessionAutoConfiguration.java b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/RepositorySystemSessionAutoConfiguration.java index e30f405f49..6da09826f3 100644 --- a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/RepositorySystemSessionAutoConfiguration.java +++ b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/RepositorySystemSessionAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 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. @@ -20,8 +20,8 @@ import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.RepositorySystem; /** - * Strategy that can be used to apply some auto-configuration during the installation of - * an {@link AetherGrapeEngine}. + * Strategy that can be used to apply some auto-configuration during the installation of a + * {@link MavenResolverGrapeEngine}. * * @author Andy Wilkinson * @since 1.0.0 diff --git a/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java b/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngineTests.java similarity index 94% rename from spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java rename to spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngineTests.java index 728e7d9d2c..8d9d7fb4eb 100644 --- a/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java +++ b/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/MavenResolverGrapeEngineTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 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. @@ -26,6 +26,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import groovy.grape.GrapeEngine; import groovy.lang.GroovyClassLoader; import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.repository.Authentication; @@ -43,7 +44,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException * * @author Andy Wilkinson */ -class AetherGrapeEngineTests { +class MavenResolverGrapeEngineTests { private final GroovyClassLoader groovyClassLoader = new GroovyClassLoader(); @@ -53,14 +54,14 @@ class AetherGrapeEngineTests { private final RepositoryConfiguration springSnapshot = new RepositoryConfiguration("spring-snapshot", URI.create("https://repo.spring.io/snapshot"), true); - private AetherGrapeEngine createGrapeEngine(RepositoryConfiguration... additionalRepositories) { + private GrapeEngine createGrapeEngine(RepositoryConfiguration... additionalRepositories) { List repositoryConfigurations = new ArrayList<>(); repositoryConfigurations .add(new RepositoryConfiguration("central", URI.create("https://repo1.maven.org/maven2"), false)); repositoryConfigurations.addAll(Arrays.asList(additionalRepositories)); DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext(); dependencyResolutionContext.addDependencyManagement(new SpringBootDependenciesDependencyManagement()); - return AetherGrapeEngineFactory.create(this.groovyClassLoader, repositoryConfigurations, + return MavenResolverGrapeEngineFactory.create(this.groovyClassLoader, repositoryConfigurations, dependencyResolutionContext, false); } @@ -75,7 +76,7 @@ class AetherGrapeEngineTests { @Test void proxySelector() { doWithCustomUserHome(() -> { - AetherGrapeEngine grapeEngine = createGrapeEngine(); + GrapeEngine grapeEngine = createGrapeEngine(); DefaultRepositorySystemSession session = (DefaultRepositorySystemSession) ReflectionTestUtils .getField(grapeEngine, "session"); @@ -139,7 +140,7 @@ class AetherGrapeEngineTests { @Test void resolutionWithCustomResolver() { Map args = new HashMap<>(); - AetherGrapeEngine grapeEngine = createGrapeEngine(); + GrapeEngine grapeEngine = createGrapeEngine(); grapeEngine.addResolver(createResolver("spring-releases", "https://repo.spring.io/release")); Map dependency = createDependency("io.spring.docresources", "spring-doc-resources", "0.1.1.RELEASE"); @@ -153,7 +154,7 @@ class AetherGrapeEngineTests { Map dependency = createDependency("org.grails", "grails-dependencies", "2.4.0"); dependency.put("type", "foo"); dependency.put("ext", "bar"); - AetherGrapeEngine grapeEngine = createGrapeEngine(); + GrapeEngine grapeEngine = createGrapeEngine(); assertThatIllegalArgumentException().isThrownBy(() -> grapeEngine.grab(Collections.emptyMap(), dependency)); } @@ -196,7 +197,7 @@ class AetherGrapeEngineTests { @SuppressWarnings("unchecked") private List getRepositories() { - AetherGrapeEngine grapeEngine = createGrapeEngine(); + GrapeEngine grapeEngine = createGrapeEngine(); return (List) ReflectionTestUtils.getField(grapeEngine, "repositories"); } diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/cli/maven-setting.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/cli/maven-setting.adoc index 7ff6423802..6be011286e 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/cli/maven-setting.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/cli/maven-setting.adoc @@ -1,7 +1,7 @@ [[cli.maven-setting]] == Configuring the CLI with settings.xml -The Spring Boot CLI uses Aether, Maven's dependency resolution engine, to resolve dependencies. -The CLI makes use of the Maven configuration found in `~/.m2/settings.xml` to configure Aether. +The Spring Boot CLI uses Maven Resolver, Maven's dependency resolution engine, to resolve dependencies. +The CLI makes use of the Maven configuration found in `~/.m2/settings.xml` to configure Maven Resolver. The following configuration settings are honored by the CLI: * Offline