Stay organized with collections
Save and categorize content based on your preferences.
InAndOutFileOperationRequest
interface InAndOutFileOperationRequest
Operations performed by a Task
with a single RegularFile
or Directory
output.
Task
is consuming existing version of the target SingleArtifact
and producing a new version.
Summary
Public functions
fun <ArtifactTypeT : Artifact.Single<RegularFile> & Artifact.Transformable> toTransform(
type: ArtifactTypeT
): Unit
Initiates a transform request to a single Artifact.Transformable
artifact type.
Parameters |
type: ArtifactTypeT |
The Artifact identifying the artifact to transform. The Artifact 's Artifact.kind must be Artifact.FILE .
The artifact type must be Artifact.Single and Artifact.Transformable .
As an example, let's take a Task transforming an input org.gradle.api.file.RegularFile into an output:
abstract class MyTask: DefaultTask() { @get:InputFile abstract val inputFile: RegularFileProperty @get:OutputFile abstract val outputFile: RegularFileProperty
@TaskAction fun taskAction() { ... read inputFile and write outputFile ... } }
An ArtifactType defined as follows :
sealed class ArtifactType<T: FileSystemLocation>(val kind: ArtifactKind) { object SINGLE_FILE_ARTIFACT: ArtifactType<RegularFile>(FILE), Single, Transformable }
You can register a transform to the collection of org.gradle.api.file.RegularFile .
val taskProvider= projects.tasks.register(MyTask::class.java, "transformTask") artifacts.use(taskProvider) .wiredWithFiles( MyTask::inputFile, MyTask::outputFile) .toTransform(ArtifactType.SINGLE_FILE_ARTIFACT)
|
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# InAndOutFileOperationRequest\n============================\n\n\n```\ninterface InAndOutFileOperationRequest\n```\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nOperations performed by a [Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html) with a single [RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html) or [Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) output.\n\n[Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html) is consuming existing version of the target [SingleArtifact](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/SingleArtifact) and producing a new version.\n\nSummary\n-------\n\n| ### Public functions ||\n|------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `\u003cArtifactTypeT : `[Artifact.Single](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Single)`\u003c`[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html)`\u003e & `[Artifact.Transformable](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Transformable)`\u003e `[toTransform](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/InAndOutFileOperationRequest#toTransform(com.android.build.api.artifact.Artifact.Single))`(` ` type: ArtifactTypeT` `)` Initiates a transform request to a single [Artifact.Transformable](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Transformable) artifact type. |\n\nPublic functions\n----------------\n\n### toTransform\n\n```\nfun \u003cArtifactTypeT : Artifact.Single\u003cRegularFile\u003e & Artifact.Transformable\u003e toTransform(\n type: ArtifactTypeT\n): Unit\n```\n\nInitiates a transform request to a single [Artifact.Transformable](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Transformable) artifact type. \n\n| Parameters ||\n|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `type: ArtifactTypeT` | The [Artifact](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact) identifying the artifact to transform. The [Artifact](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact)'s [Artifact.kind](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact#kind()) must be [Artifact.FILE](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Companion#FILE()). The artifact type must be [Artifact.Single](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Single) and [Artifact.Transformable](/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Transformable). As an example, let's take a [Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html) transforming an input [org.gradle.api.file.RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html) into an output: ```scalate-server-page abstract class MyTask: DefaultTask() { @get:InputFile abstract val inputFile: RegularFileProperty @get:OutputFile abstract val outputFile: RegularFileProperty @TaskAction fun taskAction() { ... read inputFile and write outputFile ... } } ``` An ArtifactType defined as follows : ```scalate-server-page sealed class ArtifactType\u003cT: FileSystemLocation\u003e(val kind: ArtifactKind) { object SINGLE_FILE_ARTIFACT: ArtifactType\u003cRegularFile\u003e(FILE), Single, Transformable } ``` You can register a transform to the collection of [org.gradle.api.file.RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html). ```verilog val taskProvider= projects.tasks.register(MyTask::class.java, \"transformTask\") artifacts.use(taskProvider) .wiredWithFiles( MyTask::inputFile, MyTask::outputFile) .toTransform(ArtifactType.SINGLE_FILE_ARTIFACT) ``` |"]]