Class GenerateSymbolsTask

  • All Implemented Interfaces:
    kotlin.Comparable , org.gradle.api.Named , org.gradle.api.Task , org.gradle.api.internal.DynamicObjectAware , org.gradle.api.internal.TaskInternal , org.gradle.api.plugins.ExtensionAware , org.gradle.util.Configurable

    @CacheableTask() 
    public abstract class GenerateSymbolsTask
    extends DefaultTask
                        

    Gradle task responsible for downloading icons from multiple libraries and converting them into Compose APIs.

    The task is cacheable and honours io.github.kingsword09.symbolcraft.plugin.SymbolCraftExtension settings supplied via the plugin DSL.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract Property<SymbolCraftExtension> getExtension() lazily provides the extension backing the current project configuration.
      final String getSymbolsConfigHash()
      abstract DirectoryProperty getOutputDir() destination directory for the generated Kotlin sources.
      abstract Property<String> getCacheDirectory() path used for storing SVG payloads between executions.
      abstract Property<String> getGradleUserHomeDir() exposed for cache resolution when Gradle configuration cache is enabled.
      abstract Property<String> getProjectBuildDir() points at the consuming project's build directory for relative cache resolution.
      final Unit generate() Downloads the requested icons and regenerates the Kotlin sources.
      • Methods inherited from class org.gradle.api.internal.AbstractTask

        acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects
      • Methods inherited from class org.gradle.api.DefaultTask

        compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GenerateSymbolsTask

        GenerateSymbolsTask()
    • Method Detail

      • getOutputDir

        @OutputDirectory() abstract DirectoryProperty getOutputDir()

        destination directory for the generated Kotlin sources.

      • getCacheDirectory

        @Input() abstract Property<String> getCacheDirectory()

        path used for storing SVG payloads between executions.

      • getGradleUserHomeDir

        @Input() abstract Property<String> getGradleUserHomeDir()

        exposed for cache resolution when Gradle configuration cache is enabled.

      • getProjectBuildDir

        @Input() abstract Property<String> getProjectBuildDir()

        points at the consuming project's build directory for relative cache resolution.

      • generate

         final Unit generate()

        Downloads the requested icons and regenerates the Kotlin sources.

        The implementation uses structured concurrency to download SVGs in parallel and cleans stale cache entries when safe to do so.