org.jetbrains.kotlin.gradle.targets.js.AbstractEnvSpec.kt Maven / Gradle / Ivy
The newest version!
package org.jetbrains.kotlin.gradle.targets.js
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnEnv
/**
* Instance which describes specific runtimes for JS and Wasm targets
*
* It encapsulates necessary information about a tool to run application and tests
*/
abstract class EnvSpec {
/**
* Specify whether we need to download the tool
*/
abstract val download: Property
/**
* Specify url to add repository from which the tool is going to be downloaded
*
* If the property has no value, repository is not added,
* so this can be used to add your own repository where the tool is located
*/
abstract val downloadBaseUrl: Property
/**
* Specify where the tool is installed
*/
abstract val installationDirectory: DirectoryProperty
/**
* Specify a version of the tool is installed
*/
abstract val version: Property
/**
* Specify a command to run the tool
*/
abstract val command: Property
/**
* Full serializable cache-friendly entity without Gradle Provider API
*/
internal abstract val env: Provider
/**
* Provider with full executable path
*/
abstract val executable: Provider
/**
* Produce full serializable cache-friendly entity without Gradle Provider API
*/
protected abstract fun produceEnv(): Provider
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy