public class DependencyCustomizer extends Object
@Grab annotation being added to the primary class is the module that's being customized.
 
 This class provides a fluent API for conditionally adding dependencies. For example:
 dependencies.ifMissing("com.corp.SomeClass").add(module).
| Modifier | Constructor and Description | 
|---|---|
| protected  | DependencyCustomizer(DependencyCustomizer parent)Create a new nested  DependencyCustomizer. | 
|   | DependencyCustomizer(groovy.lang.GroovyClassLoader loader,
                    org.codehaus.groovy.ast.ModuleNode moduleNode,
                    DependencyResolutionContext dependencyResolutionContext)Create a new  DependencyCustomizerinstance. | 
| Modifier and Type | Method and Description | 
|---|---|
| DependencyCustomizer | add(String... modules)Add dependencies and all of their dependencies. | 
| DependencyCustomizer | add(String module,
   boolean transitive)Add a single dependency and, optionally, all of its dependencies. | 
| DependencyCustomizer | add(String module,
   String classifier,
   String type,
   boolean transitive)Add a single dependency with the specified classifier and type and, optionally, all
 of its dependencies. | 
| protected boolean | canAdd()Strategy called to test if dependencies can be added. | 
| DependencyResolutionContext | getDependencyResolutionContext()Returns the  DependencyResolutionContext. | 
| String | getVersion(String artifactId) | 
| String | getVersion(String artifactId,
          String defaultVersion) | 
| DependencyCustomizer | ifAllMissingClasses(String... classNames)Create a nested  DependencyCustomizerthat only applies if all of the
 specified class names are not on the class path. | 
| DependencyCustomizer | ifAllResourcesPresent(String... paths)Create a nested  DependencyCustomizerthat only applies if the specified
 paths are on the class path. | 
| DependencyCustomizer | ifAnyMissingClasses(String... classNames)Create a nested  DependencyCustomizerthat only applies if any of the
 specified class names are not on the class path. | 
| DependencyCustomizer | ifAnyResourcesPresent(String... paths)Create a nested  DependencyCustomizerthat only applies at least one of the
 specified paths is on the class path. | 
public DependencyCustomizer(groovy.lang.GroovyClassLoader loader,
                            org.codehaus.groovy.ast.ModuleNode moduleNode,
                            DependencyResolutionContext dependencyResolutionContext)
DependencyCustomizer instance.loader - the current classloadermoduleNode - the current moduledependencyResolutionContext - the context for dependency resolutionprotected DependencyCustomizer(DependencyCustomizer parent)
DependencyCustomizer.parent - the parent customizerpublic DependencyCustomizer ifAnyMissingClasses(String... classNames)
DependencyCustomizer that only applies if any of the
 specified class names are not on the class path.classNames - the class names to testDependencyCustomizerpublic DependencyCustomizer ifAllMissingClasses(String... classNames)
DependencyCustomizer that only applies if all of the
 specified class names are not on the class path.classNames - the class names to testDependencyCustomizerpublic DependencyCustomizer ifAllResourcesPresent(String... paths)
DependencyCustomizer that only applies if the specified
 paths are on the class path.paths - the paths to testDependencyCustomizerpublic DependencyCustomizer ifAnyResourcesPresent(String... paths)
DependencyCustomizer that only applies at least one of the
 specified paths is on the class path.paths - the paths to testDependencyCustomizerpublic DependencyCustomizer add(String... modules)
ArtifactCoordinatesResolver.modules - the module IDsDependencyCustomizer for continued usepublic DependencyCustomizer add(String module, boolean transitive)
ArtifactCoordinatesResolver.module - the module IDtransitive - true if the transitive dependencies should also be added,
 otherwise falseDependencyCustomizer for continued usepublic DependencyCustomizer add(String module, String classifier, String type, boolean transitive)
ArtifactCoordinatesResolver.module - the module IDclassifier - the classifier, may be nulltype - the type, may be nulltransitive - true if the transitive dependencies should also be added,
 otherwise falseDependencyCustomizer for continued useprotected boolean canAdd()
true by default.true if dependencies can be added, otherwise falsepublic DependencyResolutionContext getDependencyResolutionContext()
DependencyResolutionContext.Copyright © 2021 Pivotal Software, Inc.. All rights reserved.