AvailExtension

open class AvailExtension(project: Project, plugin: AvailPlugin)

AvailExtension is a Gradle extension for the AvailPlugin which is where a user can configure Avail.

Author

Richard Arriaga

Constructors

Link copied to clipboard
constructor(project: Project, plugin: AvailPlugin)

Properties

Link copied to clipboard

The version of the Avail VM used when launching Anvil.

Link copied to clipboard
val buildPlan: AvailArtifactBuildPlan

Create an AvailArtifactBuildPlan from the packageAvailArtifact.

Link copied to clipboard

Raw module header comment. This is typically for a copyright. Will be wrapped in comment along with file name. If comment body is empty (default), will only provide the file name in the header comment.

Link copied to clipboard

The absolute path to a file containing the text for the moduleHeaderCommentBody. This will be ignored if moduleHeaderCommentBodyFile is not empty.

Link copied to clipboard

The name of the Avail project. Defaults to Project.getName.

Link copied to clipboard

The description of the project that is included in the Avail artifact.

Link copied to clipboard
var repositoryDirectory: AvailLocation

The AvailLocation directory where the Avail roots repositories exist.

Link copied to clipboard
var rootsDirectory: AvailLocation

The AvailLocation directory where the project's Avail roots exist, not imported libraries. By default, this is in AvailProject.ROOTS_DIR at the top level of the project.

Link copied to clipboard

The absolute path to the jar file that will be created.

Functions

Link copied to clipboard
fun artifact(configure: PackageAvailArtifact.() -> Unit)

Configures the PackageAvailArtifact which is used to create the Avail artifact.

Link copied to clipboard

Create the Avail Artifact configured by artifact.

Link copied to clipboard
fun createProject(): AvailProject

Create a new AvailProject.

Link copied to clipboard
fun createProjectRoot(name: String, availModuleExtensions: MutableList<String> = mutableListOf("avail"), entryPoints: MutableList<String> = mutableListOf(), description: String = ""): CreateAvailRoot

Add a CreateAvailRoot to be created in the rootsDirectory.

Link copied to clipboard
fun includeAvailLibDependency(rootName: String, rootNameInJar: String, dependency: String)

Add an Avail library as a root from a Maven repository for the provided dependency string.

Link copied to clipboard
fun printableConfig(libMetadata: List<AvailArtifactMetadata>): String

Create a printable view of this entire AvailExtension's current configuration state.

Link copied to clipboard
fun projectRoot(name: String, availModuleExtensions: MutableList<String> = mutableListOf("avail"), entryPoints: MutableList<String> = mutableListOf(), description: String = "", initializer: (AvailRoot) -> Unit = {})

Add an Avail root with the provided name and URI.

Link copied to clipboard
fun rootJar(name: String, jarFileName: String, availModuleExtensions: MutableList<String> = mutableListOf("avail"), entryPoints: MutableList<String> = mutableListOf(), description: String = "", initializer: (AvailRoot) -> Unit = {})

Add an Avail root with the provided name and URI.