Interface ModuleDependency

    • Method Detail

      • exclude

        ModuleDependency exclude​(Map<String,​String> excludeProperties)
        Adds an exclude rule to exclude transitive dependencies of this dependency.

        Excluding a particular transitive dependency does not guarantee that it does not show up in the dependencies of a given configuration. For example, some other dependency, which does not have any exclude rules, might pull in exactly the same transitive dependency. To guarantee that the transitive dependency is excluded from the entire configuration please use per-configuration exclude rules: Configuration.getExcludeRules(). In fact, in majority of cases the actual intention of configuring per-dependency exclusions is really excluding a dependency from the entire configuration (or classpath).

        If your intention is to exclude a particular transitive dependency because you don't like the version it pulls in to the configuration then consider using forced versions' feature: ResolutionStrategy.force(Object...).

         apply plugin: 'java' //so that I can declare 'compile' dependencies
        
         dependencies {
           compile('org.hibernate:hibernate:3.1') {
             //excluding a particular transitive dependency:
             exclude module: 'cglib' //by artifact name
             exclude group: 'org.jmock' //by group
             exclude group: 'org.unwanted', module: 'iAmBuggy' //by both name and group
           }
         }
         
        Parameters:
        excludeProperties - the properties to define the exclude rule.
        Returns:
        this
      • addArtifact

        ModuleDependency addArtifact​(DependencyArtifact artifact)

        Adds an artifact to this dependency.

        If no artifact is added to a dependency, an implicit default artifact is used. This default artifact has the same name as the module and its type and extension is jar. If at least one artifact is explicitly added, the implicit default artifact won't be used any longer.

        Returns:
        this
      • artifact

        DependencyArtifact artifact​(@DelegatesTo(value=DependencyArtifact.class,strategy=1)
                                    Closure configureClosure)

        Adds an artifact to this dependency. The given closure is passed a DependencyArtifact instance, which it can configure.

        If no artifact is added to a dependency, an implicit default artifact is used. This default artifact has the same name as the module and its type and extension is jar. If at least one artifact is explicitly added, the implicit default artifact won't be used any longer.

        Returns:
        this
      • artifact

        DependencyArtifact artifact​(Action<? super DependencyArtifact> configureAction)

        Adds an artifact to this dependency. The given action is passed a DependencyArtifact instance, which it can configure.

        If no artifact is added to a dependency, an implicit default artifact is used. This default artifact has the same name as the module and its type and extension is jar. If at least one artifact is explicitly added, the implicit default artifact won't be used any longer.

        Returns:
        this
        Since:
        3.1
      • isTransitive

        boolean isTransitive()
        Returns whether this dependency should be resolved including or excluding its transitive dependencies.
        See Also:
        setTransitive(boolean)
      • setTransitive

        ModuleDependency setTransitive​(boolean transitive)
        Sets whether this dependency should be resolved including or excluding its transitive dependencies. The artifacts belonging to this dependency might themselves have dependencies on other artifacts. The latter are called transitive dependencies.
        Parameters:
        transitive - Whether transitive dependencies should be resolved.
        Returns:
        this
      • getTargetConfiguration

        @Nullable
        String getTargetConfiguration()
        Returns the requested target configuration of this dependency. This is the name of the configuration in the target module that should be used when selecting the matching configuration. If null, a default configuration should be used.
      • setTargetConfiguration

        @Incubating
        void setTargetConfiguration​(@Nullable
                                    String name)
        Sets the requested target configuration of this dependency. This is the name of the configuration in the target module that should be used when selecting the matching configuration. If null, a default configuration will be used.
        Since:
        4.0
      • copy

        ModuleDependency copy()
        Creates and returns a new dependency with the property values of this one.
        Specified by:
        copy in interface Dependency
        Returns:
        The copy. Never returns null.