Home / Class/ GradleMultiDslExtension Class — spring-boot Architecture

GradleMultiDslExtension Class — spring-boot Architecture

Architecture documentation for the GradleMultiDslExtension class in GradleMultiDslExtension.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java lines 43–84

public class GradleMultiDslExtension implements TestTemplateInvocationContextProvider {

	@Override
	public Stream<TestTemplateInvocationContext> provideTestTemplateInvocationContexts(ExtensionContext context) {
		BuildOutput buildOutput = new BuildOutput(context.getRequiredTestClass());
		return Stream.of(Dsl.values()).map((dsl) -> new DslTestTemplateInvocationContext(buildOutput, dsl));
	}

	@Override
	public boolean supportsTestTemplate(ExtensionContext context) {
		return true;
	}

	private static final class DslTestTemplateInvocationContext implements TestTemplateInvocationContext {

		private final BuildOutput buildOutput;

		private final Dsl dsl;

		DslTestTemplateInvocationContext(BuildOutput buildOutput, Dsl dsl) {
			this.buildOutput = buildOutput;
			this.dsl = dsl;
		}

		@Override
		public List<Extension> getAdditionalExtensions() {
			PluginClasspathGradleBuild gradleBuild = new PluginClasspathGradleBuild(this.buildOutput, this.dsl);
			if (this.dsl == Dsl.KOTLIN) {
				gradleBuild.kotlin();
			}
			gradleBuild.gradleVersion(GradleVersions.minimumCompatible());
			return Arrays.asList(new GradleBuildFieldSetter(gradleBuild), new GradleBuildExtension());
		}

		@Override
		public String getDisplayName(int invocationIndex) {
			return this.dsl.getName();
		}

	}

}

Domain

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free