Home / Class/ AbstractAot Class — spring-boot Architecture

AbstractAot Class — spring-boot Architecture

Architecture documentation for the AbstractAot class in AbstractAot.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/AbstractAot.java lines 36–113

@DisableCachingByDefault(because = "Cacheability can only be determined by a concrete implementation")
public abstract class AbstractAot extends JavaExec {

	private final DirectoryProperty sourcesDir;

	private final DirectoryProperty resourcesDir;

	private final DirectoryProperty classesDir;

	private final Property<String> groupId;

	private final Property<String> artifactId;

	protected AbstractAot() {
		this.sourcesDir = getProject().getObjects().directoryProperty();
		this.resourcesDir = getProject().getObjects().directoryProperty();
		this.classesDir = getProject().getObjects().directoryProperty();
		this.groupId = getProject().getObjects().property(String.class);
		this.artifactId = getProject().getObjects().property(String.class);
	}

	/**
	 * The group ID of the application that is to be processed ahead-of-time.
	 * @return the group ID property
	 */
	@Input
	public final Property<String> getGroupId() {
		return this.groupId;
	}

	/**
	 * The artifact ID of the application that is to be processed ahead-of-time.
	 * @return the artifact ID property
	 */
	@Input
	public final Property<String> getArtifactId() {
		return this.artifactId;
	}

	/**
	 * The directory to which AOT-generated sources should be written.
	 * @return the sources directory property
	 */
	@OutputDirectory
	public final DirectoryProperty getSourcesOutput() {
		return this.sourcesDir;
	}

	/**
	 * The directory to which AOT-generated resources should be written.
	 * @return the resources directory property
	 */
	@OutputDirectory
	public final DirectoryProperty getResourcesOutput() {
		return this.resourcesDir;
	}

	/**
	 * The directory to which AOT-generated classes should be written.
	 * @return the classes directory property
	 */
	@OutputDirectory
	public final DirectoryProperty getClassesOutput() {
		return this.classesDir;
	}

	List<String> processorArgs() {
		List<String> args = new ArrayList<>();
		args.add(getSourcesOutput().getAsFile().get().getAbsolutePath());
		args.add(getResourcesOutput().getAsFile().get().getAbsolutePath());
		args.add(getClassesOutput().getAsFile().get().getAbsolutePath());
		args.add(getGroupId().get());
		args.add(getArtifactId().get());
		args.addAll(super.getArgs());
		return args;
	}

}

Domain

Analyze Your Own Codebase

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

Try Supermodel Free