Class CyclonedxDirectTask
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.cyclonedx.gradle.BaseCyclonedxTask
org.cyclonedx.gradle.CyclonedxDirectTask
- 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>
This task mainly acts a container for the user configurations (includeConfigs, projectType, schemaVersion, ...)
and orchestrating the calls between the core objects (SbomGraphProvider and SbomBuilder)
-
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 TypeMethodDescriptionvoidExecutes the main logic of the plugin by loading the dependency graph (SbomGraphProvider.get()) and providing the result to SbomBuilderabstract org.gradle.api.provider.Property<String> The name of the aggregate configuration to exclude from the BOM.abstract org.gradle.api.provider.Property<Boolean> Whether to include the build environment dependencies (e.g.abstract org.gradle.api.provider.ListProperty<String> The list of configuration names to include in the BOM.abstract org.gradle.api.provider.Property<Boolean> Whether to include metadata resolution in the BOM.The metadata that enrichment contributed to each component, keyed by the component's coordinates, as read when the task graph was configured.abstract org.gradle.api.file.ConfigurableFileCollectionThe resolved dependency files from all in-scope configurations.abstract org.gradle.api.file.ConfigurableFileCollectionEvery POM read for metadata resolution: the component POMs, and the parent and imported POMs their effective models were built from.abstract org.gradle.api.provider.ListProperty<String> The list of configuration names to skip in the BOM.abstract org.gradle.api.provider.ListProperty<String> Patterns that identify Test Configurations when labeling components withcdx:maven:package:test.Methods inherited from class BaseCyclonedxTask
getBuildSystemEnvironmentVariable, getComponentDescription, getComponentGroup, getComponentName, getComponentVersion, getExternalReferences, getIncludeBomSerialNumber, getIncludeBuildSystem, getIncludeLicenseText, getJsonOutput, getLicenseChoice, getOrganizationalEntity, getProjectType, getSchemaVersion, getXmlOutputMethods 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, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, setImpliesSubProjectsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gradle.api.Task
doNotTrackState, notCompatibleWithConfigurationCache
-
Constructor Details
-
CyclonedxDirectTask
public CyclonedxDirectTask()
-
-
Method Details
-
getIncludeConfigs
The list of configuration names to include in the BOM. If not set, all configurations will be included. Regex patterns can be used to match multiple configurations.- Returns:
- the list of configuration names to include
-
getSkipConfigs
The list of configuration names to skip in the BOM. If not set, no configurations will be skipped. Regex patterns can be used to match multiple configurations.- Returns:
- the list of configuration names to skip
-
getTestConfigs
Patterns that identify Test Configurations when labeling components withcdx:maven:package:test. A configuration name is a Test Configuration when it fully matches any pattern (String.matches(String)). A component is marked test only when every configuration that contributed it is a Test Configuration. An empty list means no configuration is treated as a Test Configuration.- Returns:
- the list of regex patterns for Test Configuration names
-
getIncludeMetadataResolution
Whether to include metadata resolution in the BOM. For example, license information. If not set, it defaults to true.- Returns:
- true if metadata resolution should be included, false otherwise
-
getIncludeBuildEnvironment
Whether to include the build environment dependencies (e.g. from buildscript) in the BOM. If not set, it defaults to false.- Returns:
- true if build environment dependencies should be included, false otherwise
-
getResolvedDependencies
@InputFiles @PathSensitive(RELATIVE) public abstract org.gradle.api.file.ConfigurableFileCollection getResolvedDependencies()The resolved dependency files from all in-scope configurations. This is used for up-to-date checking and caching - when dependencies change (new dependency, version change, or dynamic version resolution), the task will be re-executed instead of being marked UP-TO-DATE.- Returns:
- the resolved dependency files
-
getResolvedPoms
@InputFiles @PathSensitive(RELATIVE) public abstract org.gradle.api.file.ConfigurableFileCollection getResolvedPoms()Every POM read for metadata resolution: the component POMs, and the parent and imported POMs their effective models were built from. Declared as an input beside the resolved dependencies so that a POM which appears, changes or becomes readable changes the cache key, and a document produced while a POM was unreadable is not served once that POM is fine. See ADR 0010. Empty when metadata resolution is disabled.- Returns:
- the POM files the document was produced from
-
getMetadataEnrichment
The metadata that enrichment contributed to each component, keyed by the component's coordinates, as read when the task graph was configured. The POM files are fingerprinted when the task runs, and the two can disagree: a POM rewritten in between, or a configuration cache entry stored while a parent was missing, leaves the document describing metadata the files no longer carry. Declaring the metadata as well means such a document is stored under a key that only a build with the same metadata computes, so it is never served to a build whose metadata is current. See ADR 0010.- Returns:
- one canonical description per enriched component
-
getAggregateConfigurationName
@Input @Optional public abstract org.gradle.api.provider.Property<String> getAggregateConfigurationName()The name of the aggregate configuration to exclude from the BOM. This is internal and set by the plugin. -
createBom
public void createBom()Executes the main logic of the plugin by loading the dependency graph (SbomGraphProvider.get()) and providing the result to SbomBuilder
-