Transform artifacts of type 'Single' and kind 'Directory' with InAndOutDirectoryOperationRequest.toTransform() API
This sample shows how to use the InAndOutDirectoryOperationRequest.toTransform()
API on an artifact of type
Artifact.Single and Artifact.Transformable.This method is defined in
InAndOutDirectoryOperationRequest.
This recipe contains the following directories:
Module | Content |
---|---|
build-logic | Contains the Project plugin that is the core of the recipe. |
app | An Android application that has the plugin applied. |
The build-logic sub-project contains the CustomPlugin
, TransformAssetsTask
and
CheckAssetsTask
classes.
CustomPlugin
registers an instance of TransformAssetsTask
per variant using
InAndOutDirectoryOperationRequest.toTransform()
via the code below. This automatically creates a dependency on this
task from any task consuming the SingleArtifact.ASSETS
artifact.
variant.artifacts.use(transformDebugAssets)
.wiredWithDirectories(
TransformAssetsTask::inputDir,
TransformAssetsTask::outputDir)
.toTransform(SingleArtifact.ASSETS)
CustomPlugin
also registers an instance of the CheckAssetsTask
per variant which verifies that the
transformed artifact and directory contains the expected data. In this recipe, running this task will also run
TransformAssetsTask
, because of the dependency on SingleArtifact.ASSETS
.
To execute example you need to enter command:
./gradlew :app:checkDebugAssets