Home / Class/ ProcessTestAot Class — spring-boot Architecture

ProcessTestAot Class — spring-boot Architecture

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

Entity Profile

Relationship Graph

Source Code

build-plugin/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/ProcessTestAot.java lines 45–97

@CacheableTask
public abstract class ProcessTestAot extends AbstractAot {

	private @Nullable FileCollection classpathRoots;

	public ProcessTestAot() {
		getMainClass().set("org.springframework.boot.test.context.SpringBootTestAotProcessor");
	}

	/**
	 * Returns the classpath roots that should be scanned for test classes to process.
	 * @return the classpath roots
	 */
	@InputFiles
	@PathSensitive(PathSensitivity.RELATIVE)
	public final @Nullable FileCollection getClasspathRoots() {
		return this.classpathRoots;
	}

	/**
	 * Sets the classpath roots that should be scanned for test classes to process.
	 * @param classpathRoots the classpath roots
	 */
	public void setClasspathRoots(FileCollection classpathRoots) {
		this.classpathRoots = classpathRoots;
	}

	@InputFiles
	@SkipWhenEmpty
	@IgnoreEmptyDirectories
	@PathSensitive(PathSensitivity.RELATIVE)
	final FileTree getInputClasses() {
		Assert.state(this.classpathRoots != null, "'classpathRoots' must not be null");
		return this.classpathRoots.getAsFileTree();
	}

	@Override
	@TaskAction
	public void exec() {
		List<String> args = new ArrayList<>();
		FileCollection classpathRoots = getClasspathRoots();
		Assert.state(classpathRoots != null, "'classpathRoots' must not be null");
		args.add(classpathRoots.getFiles()
			.stream()
			.filter(File::exists)
			.map(File::getAbsolutePath)
			.collect(Collectors.joining(File.pathSeparator)));
		args.addAll(processorArgs());
		setArgs(args);
		super.exec();
	}

}

Domain

Analyze Your Own Codebase

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

Try Supermodel Free