All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.gradle.targets.js.AbstractEnvSpec.kt Maven / Gradle / Ivy

There is a newer version: 2.1.0-RC
Show 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

/**
 * 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

    /**
     * Produce  full serializable cache-friendly entity without Gradle Provider API
     */
    internal abstract fun produceEnv(providerFactory: ProviderFactory): Provider
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy