Class ResolveAgentDocsTask
- All Implemented Interfaces:
Comparable<org.gradle.api.Task>,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.TaskInternal,org.gradle.api.Named,org.gradle.api.plugins.ExtensionAware,org.gradle.api.Task,org.gradle.util.Configurable<org.gradle.api.Task>
Agent-Docs manifest declarations (per specification/java-conventions.md)
for direct dependencies on the configured classpath and for Gradle plugins applied via
plugins {}, extracts docs into scoped directories in the local project skills tree,
marks managed folders with .agent-docs, and removes stale marker-owned folders.
Only dependencies whose resolved jar carries an Agent-Docs manifest attribute are
considered — dependencies without it are skipped with no further resolution attempt of any
kind. A classpath declaration is extracted directly from the dependency's own jar; a
maven declaration is resolved as a separate agent-docs sidecar zip.
Applied plugins are discovered separately (see AppliedPluginCollector), since they
aren't resolved onto a project Configuration the way regular dependencies are. Only the
classpath scheme is meaningful there — a plugin jar declaring maven is skipped
with a warning, since it has no consumer-side resolution path. Dependency- and plugin-sourced
candidates share a single skill-name collision-detection pass (see SkillNameAssigner),
since both land in the same skills directory.
When getIncludeSources() is true, the task also resolves the sources
classifier jar for each declared dependency and unpacks it into a src/ subdirectory of
the skill folder. The extracted SKILL.md frontmatter records metadata.sources:
src/ when sources are available, or metadata.sources: none when the artifact has no
sources jar. Plugin-sourced skills always record metadata.sources: none when sources are
requested, since there's no Maven coordinate to resolve a sources jar from.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Named
org.gradle.api.Named.Namer -
Field Summary
Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionForclasspath-scheme coordinates, the absolute path of the dependency's own resolved jar to extract from.Forclasspath-scheme coordinates, the path within the jar (fromgetClasspathJarPaths()) to the root of the docs bundle.abstract org.gradle.api.provider.Property<String> Gradle configuration name to inspect for direct dependencies.abstract org.gradle.api.provider.ListProperty<String> Coordinates, ingroup:name:versionform, of direct dependencies whose resolved jar carries anAgent-Docsmanifest attribute — precomputed during task configuration.abstract org.gradle.api.provider.Property<Boolean> Whentrue, the task also resolves and extracts thesourcesclassifier jar for each dependency with an agent-docs declaration.For each id ingetPluginIds(), the path within the jar (fromgetPluginJarPaths()) to the root of the docs bundle.abstract org.gradle.api.provider.ListProperty<String> Plugin ids of Gradle plugins applied viaplugins {}whose own jar carries aclasspath-schemeAgent-Docsmanifest attribute — precomputed during task configuration byAppliedPluginCollector.For each id ingetPluginIds(), the absolute path of that plugin's own resolved jar (found via its classloader) to extract from.Formaven-scheme coordinates, the sidecar archive path resolved during task configuration.Sources jar paths resolved during task configuration and keyed bygroup:name:versioncoordinates.Agent-Docsscheme (eitherclasspathormaven) keyed by coordinate.abstract org.gradle.api.file.DirectoryPropertyRoot output directory for extracted docs and generated skills.Methods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, 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, usesServiceMethods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, setImpliesSubProjectsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gradle.api.Task
doNotTrackState, notCompatibleWithConfigurationCache
-
Constructor Details
-
ResolveAgentDocsTask
public ResolveAgentDocsTask()
-
-
Method Details
-
getConfigurationName
Gradle configuration name to inspect for direct dependencies.- Returns:
- configuration name property
-
getDependencyCoordinates
Coordinates, ingroup:name:versionform, of direct dependencies whose resolved jar carries anAgent-Docsmanifest attribute — precomputed during task configuration. Dependencies without the attribute are not included here at all.- Returns:
- declared dependency coordinates
-
getSchemes
Agent-Docsscheme (eitherclasspathormaven) keyed by coordinate.- Returns:
- coordinate-to-scheme mapping
-
getClasspathJarPaths
Forclasspath-scheme coordinates, the absolute path of the dependency's own resolved jar to extract from.- Returns:
- coordinate-to-jar-path mapping
-
getClasspathPrefixes
Forclasspath-scheme coordinates, the path within the jar (fromgetClasspathJarPaths()) to the root of the docs bundle.- Returns:
- coordinate-to-embedded-path mapping
-
getResolvedSidecarPaths
Formaven-scheme coordinates, the sidecar archive path resolved during task configuration. Absent when the sidecar didn't resolve.- Returns:
- coordinate-to-sidecar-path mapping
-
getPluginIds
Plugin ids of Gradle plugins applied viaplugins {}whose own jar carries aclasspath-schemeAgent-Docsmanifest attribute — precomputed during task configuration byAppliedPluginCollector. Plugins without the attribute, or declaring an unsupported scheme, are not included here at all.- Returns:
- declared plugin ids
-
getPluginJarPaths
For each id ingetPluginIds(), the absolute path of that plugin's own resolved jar (found via its classloader) to extract from.- Returns:
- plugin-id-to-jar-path mapping
-
getPluginClasspathPrefixes
@Input public abstract org.gradle.api.provider.MapProperty<String,String> getPluginClasspathPrefixes()For each id ingetPluginIds(), the path within the jar (fromgetPluginJarPaths()) to the root of the docs bundle.- Returns:
- plugin-id-to-embedded-path mapping
-
getIncludeSources
Whentrue, the task also resolves and extracts thesourcesclassifier jar for each dependency with an agent-docs declaration.- Returns:
- include-sources flag property
-
getResolvedSourcePaths
Sources jar paths resolved during task configuration and keyed bygroup:name:versioncoordinates. Only populated whengetIncludeSources()istrue; empty otherwise.- Returns:
- coordinate-to-sources-path mapping
-
getSkillsDirectory
@OutputDirectory public abstract org.gradle.api.file.DirectoryProperty getSkillsDirectory()Root output directory for extracted docs and generated skills.- Returns:
- skills root directory property
-