Stay organized with collections
Save and categorize content based on your preferences.
InAndOutFileOperationRequest
@Incubating interface InAndOutFileOperationRequest
Operations performed by a Task with a single RegularFile or Directory output.
Task is consuming existing version of the target ArtifactType and producing a new version.
Summary
Public methods
abstract fun <ArtifactTypeT> toTransform(type: ArtifactTypeT): Unit where ArtifactTypeT : Artifact.SingleArtifact<RegularFile>, ArtifactTypeT : Artifact.Transformable
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.SingleArtifact 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@Incubating interface InAndOutFileOperationRequest\n```\n\n|------------------------------------------------------------------|\n| [com.android.build.api.artifact.InAndOutFileOperationRequest](#) |\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 [ArtifactType](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/ArtifactType) and producing a new version.\n\nSummary\n-------\n\n| ### Public methods ||\n|---------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [toTransform](#toTransform(com.android.build.api.artifact.InAndOutFileOperationRequest.toTransform.ArtifactTypeT))`(`type:` `ArtifactTypeT`)` Initiates a transform request to a single [Artifact.Transformable](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact.Transformable) artifact type. |\n\nPublic methods\n--------------\n\n### toTransform\n\n```\nabstract fun \u003cArtifactTypeT\u003e toTransform(type: ArtifactTypeT): Unit where ArtifactTypeT : Artifact.SingleArtifact\u003cRegularFile\u003e, ArtifactTypeT : Artifact.Transformable\n```\n\nInitiates a transform request to a single [Artifact.Transformable](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact.Transformable) artifact type.\n\n| Parameters ||\n|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| type: ArtifactTypeT | The [Artifact](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact) identifying the artifact to transform. The [Artifact](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact)'s [Artifact.kind](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact#kind:com.android.build.api.artifact.ArtifactKind) must be [Artifact.FILE](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact#Companion.FILE:com.android.build.api.artifact.ArtifactKind.FILE). The artifact type must be [Artifact.SingleArtifact](/reference/tools/gradle-api/4.2/com/android/build/api/artifact/Artifact.SingleArtifact) and [Artifact.Transformable](/reference/tools/gradle-api/4.2/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) ``` |"]]