CINXE.COM
DependencyHandler - Gradle DSL Version 8.12.1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>DependencyHandler - Gradle DSL Version 8.12.1</title><link xmlns:xslthl="http://xslthl.sf.net" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,400i,700"><link xmlns:xslthl="http://xslthl.sf.net" crossorigin="crossorigin" href="//assets.gradle.com" rel="preconnect"><meta xmlns:xslthl="http://xslthl.sf.net" content="width=device-width, initial-scale=1" name="viewport"><link xmlns:xslthl="http://xslthl.sf.net" type="text/css" rel="stylesheet" href="base.css"><meta content="DocBook XSL Stylesheets V1.75.2" name="generator"><link rel="home" href="index.html" title="Gradle DSL Version 8.12.1"><link rel="up" href="index.html" title="Gradle DSL Version 8.12.1"> <!-- Set siteDecorateVersion --> <script type="text/javascript"> window.siteDecorateVersion = "8.12.1"; </script> <!-- Prefetch header and footer html if on Gradle<4.4 for User Manual --> <!-- Prefetch header html for Javadoc --> <!-- Prefetch footer html if on Gradle<=8.11 for Javadoc --> <!-- Load build-tool.css if on Gradle<8.0 for Javadoc --> <!-- Load build-tool-modern.css if on Gradle>=8.0 for Javadoc --> <!-- Load build-tool.css for Release Notes --> <!-- Load decorate.css if on Gradle<=4.3 for User Manual --> <!-- Load decorate.css if on Gradle<=4.4 for DSL Reference --> <!-- Load decorate.css if on Gradle<=4.5 for Javadoc --> <!-- Load jquery.js on Gradle<=4.4 for User Manual and Javadocs, but not for Release Notes --> <!-- Load decorate.js to inject header and footer on Gradle<=4.4 for User Manual --> <!-- Load decorate.js to inject header and footer for Release Notes --> <!-- Load decorate.js to inject header and footer for Javadoc --> <!-- Load common js --> <script type="text/javascript" src="/build-tool.js"></script> <!-- Load DocSearch/Algolia assets --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-theme-classic"> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.23.3/dist/algoliasearch-lite.umd.js"></script> <script src="https://cdn.jsdelivr.net/npm/instantsearch.js@4.69.0/dist/instantsearch.production.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script> <script src="/build-tool-search.js" type="text/javascript"></script> <link rel="stylesheet" href="/build-tool-search.css"> <!-- Load ratings css and js --> <!-- Load Cookie Consent on User Manual --> <!-- Load Google Tag Manager on User Manual --> <!-- Load canonical link and structured data for SEO --> <link rel="canonical" href="https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" /> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "name": "Gradle Documentation", "url": "https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" } </script> <!-- Load common Google Site Verification --> <meta name="google-site-verification" content="kCnBfMu0lbnMpfg3t1-ZgJHbSOSYRSquWsxQ4HgqLkA" /></head><body><div class="layout"><header xmlns:xslthl="http://xslthl.sf.net" itemtype="https://schema.org/WPHeader" itemscope="itemscope" class="site-layout__header site-header"><nav itemtype="https://schema.org/SiteNavigationElement" itemscope="itemscope" class="site-header__navigation"><div class="site-header__navigation-header"><a title="Gradle Docs" href="https://docs.gradle.org" class="logo" target="_top"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 278 86" height="43px" width="139px"><title>Gradle</title><path d="M155,56.32V70.27a18.32,18.32,0,0,1-5.59,2.83,21.82,21.82,0,0,1-6.36.89,21.08,21.08,0,0,1-7.64-1.31A17.12,17.12,0,0,1,129.59,69a16.14,16.14,0,0,1-3.73-5.58,18.78,18.78,0,0,1-1.31-7.08,19.58,19.58,0,0,1,1.26-7.14A15.68,15.68,0,0,1,135,40a20.39,20.39,0,0,1,7.45-1.29,22,22,0,0,1,3.92.33,20.43,20.43,0,0,1,3.39.92,15.16,15.16,0,0,1,2.85,1.42A17.3,17.3,0,0,1,155,43.25l-1.84,2.91a1.72,1.72,0,0,1-1.12.84,2,2,0,0,1-1.5-.34L149,45.75a10.49,10.49,0,0,0-1.75-.79,14.33,14.33,0,0,0-2.17-.54,15.29,15.29,0,0,0-2.78-.22,11.91,11.91,0,0,0-4.61.86,9.66,9.66,0,0,0-3.52,2.46,10.9,10.9,0,0,0-2.24,3.84,14.88,14.88,0,0,0-.79,5,15.23,15.23,0,0,0,.85,5.28,11.06,11.06,0,0,0,2.38,3.94A10.15,10.15,0,0,0,138.05,68a14.28,14.28,0,0,0,8.25.44,17.1,17.1,0,0,0,2.94-1.09V61.14h-4.35a1.3,1.3,0,0,1-1-.35,1.15,1.15,0,0,1-.35-.85V56.32Zm10.47-2.93a10.53,10.53,0,0,1,2.72-3.45,5.77,5.77,0,0,1,3.72-1.25,4.5,4.5,0,0,1,2.72.74l-.38,4.41a1.18,1.18,0,0,1-.34.61,1,1,0,0,1-.61.18,6.76,6.76,0,0,1-1.06-.12,8.22,8.22,0,0,0-1.38-.12,5,5,0,0,0-1.74.28,4.37,4.37,0,0,0-1.37.83,5.55,5.55,0,0,0-1.07,1.3,12.26,12.26,0,0,0-.87,1.74V73.61H160V49.14h3.45a1.94,1.94,0,0,1,1.27.32,1.9,1.9,0,0,1,.48,1.16Zm11.36-.84A14.49,14.49,0,0,1,187,48.69a9.92,9.92,0,0,1,3.84.7,8.06,8.06,0,0,1,2.86,2,8.38,8.38,0,0,1,1.78,3,11.64,11.64,0,0,1,.61,3.82V73.61h-2.68a2.64,2.64,0,0,1-1.28-.25,1.72,1.72,0,0,1-.72-1l-.52-1.77a20.25,20.25,0,0,1-1.82,1.47,10.86,10.86,0,0,1-1.83,1.06,10.36,10.36,0,0,1-2,.66,12,12,0,0,1-2.4.22,9.64,9.64,0,0,1-2.86-.41,6.28,6.28,0,0,1-2.27-1.26,5.6,5.6,0,0,1-1.48-2.07,7.38,7.38,0,0,1-.52-2.89,5.7,5.7,0,0,1,.31-1.85,5.3,5.3,0,0,1,1-1.75,8.25,8.25,0,0,1,1.83-1.57,11.17,11.17,0,0,1,2.75-1.29,23.28,23.28,0,0,1,3.81-.9,36.77,36.77,0,0,1,5-.41V58.16a5.35,5.35,0,0,0-1.05-3.64,3.83,3.83,0,0,0-3-1.18,7.3,7.3,0,0,0-2.38.33,9.39,9.39,0,0,0-1.65.75l-1.3.75a2.52,2.52,0,0,1-1.3.34,1.7,1.7,0,0,1-1.05-.32,2.61,2.61,0,0,1-.69-.76Zm13.5,10.61a31.66,31.66,0,0,0-4.3.45,11,11,0,0,0-2.79.82,3.57,3.57,0,0,0-1.5,1.17,2.89,2.89,0,0,0,.47,3.67,3.93,3.93,0,0,0,2.39.67,7,7,0,0,0,3.14-.66,9.52,9.52,0,0,0,2.59-2Zm32.53-25V73.61h-3.6a1.39,1.39,0,0,1-1.48-1.07l-.5-2.36a12.4,12.4,0,0,1-3.4,2.74,9.17,9.17,0,0,1-4.47,1,7.95,7.95,0,0,1-6.55-3.26A11.61,11.61,0,0,1,201,66.79a19.71,19.71,0,0,1-.66-5.34,16.77,16.77,0,0,1,.74-5.06,12.21,12.21,0,0,1,2.13-4,9.88,9.88,0,0,1,3.31-2.69,9.64,9.64,0,0,1,4.34-1,8.63,8.63,0,0,1,3.51.64,9,9,0,0,1,2.6,1.74V38.17ZM217,55.39a5.94,5.94,0,0,0-2.18-1.72,6.54,6.54,0,0,0-2.54-.5,5.68,5.68,0,0,0-2.41.5A4.87,4.87,0,0,0,208,55.19a7.19,7.19,0,0,0-1.17,2.57,14.83,14.83,0,0,0-.4,3.69,16.34,16.34,0,0,0,.34,3.63,7.14,7.14,0,0,0,1,2.44,3.79,3.79,0,0,0,1.58,1.36,5,5,0,0,0,2.07.41,6,6,0,0,0,3.13-.76A9.19,9.19,0,0,0,217,66.36Zm17.67-17.22V73.61h-5.89V38.17ZM245.1,62.11a11.37,11.37,0,0,0,.67,3.26,6.54,6.54,0,0,0,1.38,2.27,5.39,5.39,0,0,0,2,1.33,7.26,7.26,0,0,0,2.61.44,8.21,8.21,0,0,0,2.47-.33,11.51,11.51,0,0,0,1.81-.74c.52-.27,1-.52,1.36-.74a2.31,2.31,0,0,1,1.13-.33,1.21,1.21,0,0,1,1.1.55L261.36,70a9.45,9.45,0,0,1-2.19,1.92,12.18,12.18,0,0,1-2.54,1.24,14,14,0,0,1-2.7.66,18.78,18.78,0,0,1-2.65.19,12.93,12.93,0,0,1-4.75-.85,10.65,10.65,0,0,1-3.82-2.5,11.8,11.8,0,0,1-2.55-4.1,15.9,15.9,0,0,1-.93-5.67,13.55,13.55,0,0,1,.81-4.71,11.34,11.34,0,0,1,2.33-3.84,11,11,0,0,1,3.69-2.59,12.31,12.31,0,0,1,4.93-1,11.86,11.86,0,0,1,4.27.74,9.25,9.25,0,0,1,3.36,2.16,9.84,9.84,0,0,1,2.21,3.48,13,13,0,0,1,.8,4.71,3.82,3.82,0,0,1-.29,1.8,1.19,1.19,0,0,1-1.1.46Zm11.23-3.55A7.28,7.28,0,0,0,256,56.4a5.16,5.16,0,0,0-1-1.77,4.44,4.44,0,0,0-1.63-1.21,5.68,5.68,0,0,0-2.3-.44,5.46,5.46,0,0,0-4,1.45,7.13,7.13,0,0,0-1.87,4.13ZM112.26,14a13.72,13.72,0,0,0-19.08-.32,1.27,1.27,0,0,0-.41.93,1.31,1.31,0,0,0,.38.95l1.73,1.73a1.31,1.31,0,0,0,1.71.12,7.78,7.78,0,0,1,4.71-1.57,7.87,7.87,0,0,1,5.57,13.43C96,40.2,81.41,9.66,48.4,25.37a4.48,4.48,0,0,0-2,6.29l5.66,9.79a4.49,4.49,0,0,0,6.07,1.67l.14-.08-.11.08,2.51-1.41a57.72,57.72,0,0,0,7.91-5.89,1.37,1.37,0,0,1,1.8-.06h0a1.29,1.29,0,0,1,0,2A59.79,59.79,0,0,1,62.11,44l-.09.05-2.51,1.4a7,7,0,0,1-3.47.91,7.19,7.19,0,0,1-6.23-3.57l-5.36-9.24C34.17,40.81,27.93,54.8,31.28,72.5a1.31,1.31,0,0,0,1.29,1.06h6.09A1.3,1.3,0,0,0,40,72.42a8.94,8.94,0,0,1,17.73,0A1.3,1.3,0,0,0,59,73.56h5.94a1.31,1.31,0,0,0,1.3-1.14,8.93,8.93,0,0,1,17.72,0,1.3,1.3,0,0,0,1.29,1.14h5.87a1.3,1.3,0,0,0,1.3-1.28c.14-8.28,2.37-17.79,8.74-22.55C123.15,33.25,117.36,19.12,112.26,14ZM89.79,38.92l-4.2-2.11h0a2.64,2.64,0,1,1,4.2,2.12Z" class="cls-1"/></svg></a><div class="site-header__doc-type sr-only">DSL Reference</div><div class="site-header-version">8.12.1</div><button class="site-header__navigation-button hamburger" aria-label="Navigation Menu" type="button"><span class="hamburger__bar"></span><span class="hamburger__bar"></span><span class="hamburger__bar"></span></button></div><div class="site-header__navigation-collapsible site-header__navigation-collapsible--collapse"><ul class="site-header__navigation-items"><li tabindex="0" class="site-header__navigation-item site-header__navigation-submenu-section"><span class="site-header__navigation-link"> Community </span><div class="site-header__navigation-submenu"><div itemprop="name" class="site-header__navigation-submenu-item"><a itemprop="url" href="https://gradle.org/" class="site-header__navigation-submenu-item-link" target="_top"><span class="site-header__navigation-submenu-item-link-text">Community Home</span></a></div><div itemprop="name" class="site-header__navigation-submenu-item"><a itemprop="url" href="https://discuss.gradle.org/" class="site-header__navigation-submenu-item-link" target="_top"><span class="site-header__navigation-submenu-item-link-text">Community Forums</span></a></div><div itemprop="name" class="site-header__navigation-submenu-item"><a itemprop="url" href="https://plugins.gradle.org" class="site-header__navigation-submenu-item-link" target="_top"><span class="site-header__navigation-submenu-item-link-text">Community Plugins</span></a></div></div></li><li itemprop="name" class="site-header__navigation-item"><a itemprop="url" href="https://gradle.org/training/" class="site-header__navigation-link" target="_top">Training</a></li><li tabindex="0" class="site-header__navigation-item site-header__navigation-submenu-section"><span class="site-header__navigation-link"> News </span><div class="site-header__navigation-submenu"><div itemprop="name" class="site-header__navigation-submenu-item"><a itemprop="url" href="https://newsletter.gradle.org" class="site-header__navigation-submenu-item-link"><span class="site-header__navigation-submenu-item-link-text">Newsletter</span></a></div><div itemprop="name" class="site-header__navigation-submenu-item"><a itemprop="url" href="https://blog.gradle.org" class="site-header__navigation-submenu-item-link"><span class="site-header__navigation-submenu-item-link-text">Blog</span></a></div><div class="site-header__navigation-submenu-item"><a href="https://twitter.com/gradle" class="site-header__navigation-submenu-item-link"><span class="site-header__navigation-submenu-item-link-text">Twitter</span></a></div></div></li><li itemprop="name" class="site-header__navigation-item"><a itemprop="url" href="https://gradle.com/develocity" class="site-header__navigation-link" target="_top">Develocity</a></li><li class="site-header__navigation-item"><a href="https://github.com/gradle/gradle" title="Gradle on GitHub" class="site-header__navigation-link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20"><title>github</title><path fill-rule="evenodd" fill="#02303A" d="M10 0C4.477 0 0 4.477 0 10c0 4.418 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.831.092-.646.35-1.086.636-1.336-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.268 2.75 1.026A9.578 9.578 0 0 1 10 4.836c.85.004 1.705.114 2.504.337 1.909-1.294 2.747-1.026 2.747-1.026.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.579.688.481C17.137 18.163 20 14.418 20 10c0-5.523-4.478-10-10-10"/></svg></a></li></ul></div></nav></header><main class="main-content"><nav class="docs-navigation"><div class="search-container"><input placeholder="Search Docs" class="search-input" id="search-input" name="q" type="search"></div><ul><li><a class="reference-links" href="../userguide/userguide.html">User Manual Home</a></li><li><a class="reference-links" href="index.html">DSL Reference Home</a></li><li><a class="reference-links" href="../release-notes.html">Release Notes</a></li><ul class="sections"><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17503" title="Properties">Properties</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17533" title="Methods">Methods</a></li></ul><li><h3>Build script blocks</h3></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:allprojects(groovy.lang.Closure)"><code class="literal">allprojects { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:artifacts(groovy.lang.Closure)"><code class="literal">artifacts { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:buildscript(groovy.lang.Closure)"><code class="literal">buildscript { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configurations(groovy.lang.Closure)"><code class="literal">configurations { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:dependencies(groovy.lang.Closure)"><code class="literal">dependencies { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:repositories(groovy.lang.Closure)"><code class="literal">repositories { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:sourceSets(groovy.lang.Closure)"><code class="literal">sourceSets { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:subprojects(groovy.lang.Closure)"><code class="literal">subprojects { }</code></a></li><li><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:publishing(groovy.lang.Closure)"><code class="literal">publishing { }</code></a></li><li><h3>Core types</h3></li><li><a class="link" href="org.gradle.api.Project.html"><code class="literal">Project</code></a></li><li><a class="link" href="org.gradle.api.Task.html"><code class="literal">Task</code></a></li><li><a class="link" href="org.gradle.api.invocation.Gradle.html"><code class="literal">Gradle</code></a></li><li><a class="link" href="org.gradle.api.initialization.Settings.html"><code class="literal">Settings</code></a></li><li><a class="link" href="org.gradle.api.initialization.IncludedBuild.html"><code class="literal">IncludedBuild</code></a></li><li><a class="link" href="org.gradle.api.file.ProjectLayout.html"><code class="literal">ProjectLayout</code></a></li><li><a class="link" href="org.gradle.api.file.BuildLayout.html"><code class="literal">BuildLayout</code></a></li><li><a class="link" href="org.gradle.api.Script.html"><code class="literal">Script</code></a></li><li><a class="link" href="org.gradle.api.tasks.SourceSet.html"><code class="literal">SourceSet</code></a></li><li><a class="link" href="org.gradle.api.tasks.SourceSetOutput.html"><code class="literal">SourceSetOutput</code></a></li><li><a class="link" href="org.gradle.api.file.SourceDirectorySet.html"><code class="literal">SourceDirectorySet</code></a></li><li><a class="link" href="org.gradle.api.artifacts.Configuration.html"><code class="literal">Configuration</code></a></li><li><a class="link" href="org.gradle.api.artifacts.ConsumableConfiguration.html"><code class="literal">ConsumableConfiguration</code></a></li><li><a class="link" href="org.gradle.api.artifacts.ResolvableConfiguration.html"><code class="literal">ResolvableConfiguration</code></a></li><li><a class="link" href="org.gradle.api.artifacts.DependencyScopeConfiguration.html"><code class="literal">DependencyScopeConfiguration</code></a></li><li><a class="link" href="org.gradle.api.artifacts.ResolutionStrategy.html"><code class="literal">ResolutionStrategy</code></a></li><li><a class="link" href="org.gradle.api.artifacts.query.ArtifactResolutionQuery.html"><code class="literal">ArtifactResolutionQuery</code></a></li><li><a class="link" href="org.gradle.api.artifacts.ComponentSelection.html"><code class="literal">ComponentSelection</code></a></li><li><a class="link" href="org.gradle.api.artifacts.ComponentSelectionRules.html"><code class="literal">ComponentSelectionRules</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.DependencyCollector.html"><code class="literal">DependencyCollector</code></a></li><li><a class="link" href="org.gradle.api.plugins.ExtensionAware.html"><code class="literal">ExtensionAware</code></a></li><li><a class="link" href="org.gradle.api.plugins.ExtraPropertiesExtension.html"><code class="literal">ExtraPropertiesExtension</code></a></li><li><a class="link" href="org.gradle.plugin.use.PluginDependenciesSpec.html"><code class="literal">PluginDependenciesSpec</code></a></li><li><a class="link" href="org.gradle.plugin.use.PluginDependencySpec.html"><code class="literal">PluginDependencySpec</code></a></li><li><a class="link" href="org.gradle.plugin.management.PluginManagementSpec.html"><code class="literal">PluginManagementSpec</code></a></li><li><a class="link" href="org.gradle.api.provider.ProviderFactory.html"><code class="literal">ProviderFactory</code></a></li><li><a class="link" href="org.gradle.api.resources.ResourceHandler.html"><code class="literal">ResourceHandler</code></a></li><li><a class="link" href="org.gradle.api.resources.TextResourceFactory.html"><code class="literal">TextResourceFactory</code></a></li><li><a class="link" href="org.gradle.work.InputChanges.html"><code class="literal">InputChanges</code></a></li><li><a class="link" href="org.gradle.api.distribution.Distribution.html"><code class="literal">Distribution</code></a></li><li><h3>Publishing types</h3></li><li><a class="link" href="org.gradle.api.publish.PublishingExtension.html"><code class="literal">PublishingExtension</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyPublication.html"><code class="literal">IvyPublication</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyArtifact.html"><code class="literal">IvyArtifact</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyArtifactSet.html"><code class="literal">IvyArtifactSet</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyModuleDescriptorSpec.html"><code class="literal">IvyModuleDescriptorSpec</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyModuleDescriptorAuthor.html"><code class="literal">IvyModuleDescriptorAuthor</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyModuleDescriptorLicense.html"><code class="literal">IvyModuleDescriptorLicense</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.IvyModuleDescriptorDescription.html"><code class="literal">IvyModuleDescriptorDescription</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPublication.html"><code class="literal">MavenPublication</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenArtifact.html"><code class="literal">MavenArtifact</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenArtifactSet.html"><code class="literal">MavenArtifactSet</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPom.html"><code class="literal">MavenPom</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomCiManagement.html"><code class="literal">MavenPomCiManagement</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomContributor.html"><code class="literal">MavenPomContributor</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomContributorSpec.html"><code class="literal">MavenPomContributorSpec</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomDeveloper.html"><code class="literal">MavenPomDeveloper</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomDeveloperSpec.html"><code class="literal">MavenPomDeveloperSpec</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomDistributionManagement.html"><code class="literal">MavenPomDistributionManagement</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomIssueManagement.html"><code class="literal">MavenPomIssueManagement</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomLicense.html"><code class="literal">MavenPomLicense</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomLicenseSpec.html"><code class="literal">MavenPomLicenseSpec</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomMailingList.html"><code class="literal">MavenPomMailingList</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomMailingListSpec.html"><code class="literal">MavenPomMailingListSpec</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomOrganization.html"><code class="literal">MavenPomOrganization</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomRelocation.html"><code class="literal">MavenPomRelocation</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.MavenPomScm.html"><code class="literal">MavenPomScm</code></a></li><li><h3>Container types</h3></li><li><a class="link" href="org.gradle.api.tasks.TaskContainer.html"><code class="literal">TaskContainer</code></a></li><li><a class="link" href="org.gradle.api.artifacts.ConfigurationContainer.html"><code class="literal">ConfigurationContainer</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.RepositoryHandler.html"><code class="literal">RepositoryHandler</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html"><code class="literal">DependencyHandler</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.ComponentMetadataHandler.html"><code class="literal">ComponentMetadataHandler</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.ArtifactHandler.html"><code class="literal">ArtifactHandler</code></a></li><li><h3>Build Cache types</h3></li><li><a class="link" href="org.gradle.caching.configuration.BuildCacheConfiguration.html"><code class="literal">BuildCacheConfiguration</code></a></li><li><a class="link" href="org.gradle.caching.local.DirectoryBuildCache.html"><code class="literal">DirectoryBuildCache</code></a></li><li><a class="link" href="org.gradle.caching.http.HttpBuildCache.html"><code class="literal">HttpBuildCache</code></a></li><li><h3>Input Normalization types</h3></li><li><a class="link" href="org.gradle.normalization.InputNormalizationHandler.html"><code class="literal">InputNormalizationHandler</code></a></li><li><a class="link" href="org.gradle.normalization.InputNormalization.html"><code class="literal">InputNormalization</code></a></li><li><a class="link" href="org.gradle.normalization.RuntimeClasspathNormalization.html"><code class="literal">RuntimeClasspathNormalization</code></a></li><li><h3>Help Task types</h3></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.TaskReportTask.html"><code class="literal">TaskReportTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.ProjectReportTask.html"><code class="literal">ProjectReportTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.DependencyReportTask.html"><code class="literal">DependencyReportTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.DependencyInsightReportTask.html"><code class="literal">DependencyInsightReportTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.PropertyReportTask.html"><code class="literal">PropertyReportTask</code></a></li><li><a class="link" href="org.gradle.api.reporting.components.ComponentReport.html"><code class="literal">ComponentReport</code></a></li><li><a class="link" href="org.gradle.api.reporting.dependents.DependentComponentsReport.html"><code class="literal">DependentComponentsReport</code></a></li><li><a class="link" href="org.gradle.api.reporting.model.ModelReport.html"><code class="literal">ModelReport</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.OutgoingVariantsReportTask.html"><code class="literal">OutgoingVariantsReportTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.ResolvableConfigurationsReportTask.html"><code class="literal">ResolvableConfigurationsReportTask</code></a></li><li><h3>Task types</h3></li><li><a class="link" href="org.gradle.api.plugins.antlr.AntlrTask.html"><code class="literal">AntlrTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.diagnostics.BuildEnvironmentReportTask.html"><code class="literal">BuildEnvironmentReportTask</code></a></li><li><a class="link" href="org.gradle.api.plugins.quality.Checkstyle.html"><code class="literal">Checkstyle</code></a></li><li><a class="link" href="org.gradle.api.plugins.quality.CodeNarc.html"><code class="literal">CodeNarc</code></a></li><li><a class="link" href="org.gradle.api.tasks.Copy.html"><code class="literal">Copy</code></a></li><li><a class="link" href="org.gradle.jvm.application.tasks.CreateStartScripts.html"><code class="literal">CreateStartScripts</code></a></li><li><a class="link" href="org.gradle.api.tasks.Delete.html"><code class="literal">Delete</code></a></li><li><a class="link" href="org.gradle.plugins.ear.Ear.html"><code class="literal">Ear</code></a></li><li><a class="link" href="org.gradle.api.tasks.Exec.html"><code class="literal">Exec</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.tasks.GenerateIvyDescriptor.html"><code class="literal">GenerateIvyDescriptor</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.tasks.GenerateMavenPom.html"><code class="literal">GenerateMavenPom</code></a></li><li><a class="link" href="org.gradle.api.reporting.GenerateBuildDashboard.html"><code class="literal">GenerateBuildDashboard</code></a></li><li><a class="link" href="org.gradle.api.tasks.GradleBuild.html"><code class="literal">GradleBuild</code></a></li><li><a class="link" href="org.gradle.api.tasks.compile.GroovyCompile.html"><code class="literal">GroovyCompile</code></a></li><li><a class="link" href="org.gradle.api.tasks.javadoc.Groovydoc.html"><code class="literal">Groovydoc</code></a></li><li><a class="link" href="org.gradle.api.reporting.dependencies.HtmlDependencyReportTask.html"><code class="literal">HtmlDependencyReportTask</code></a></li><li><a class="link" href="org.gradle.testing.jacoco.tasks.JacocoReport.html"><code class="literal">JacocoReport</code></a></li><li><a class="link" href="org.gradle.testing.jacoco.tasks.JacocoCoverageVerification.html"><code class="literal">JacocoCoverageVerification</code></a></li><li><a class="link" href="org.gradle.api.tasks.bundling.Jar.html"><code class="literal">Jar</code></a></li><li><a class="link" href="org.gradle.api.tasks.compile.JavaCompile.html"><code class="literal">JavaCompile</code></a></li><li><a class="link" href="org.gradle.api.tasks.javadoc.Javadoc.html"><code class="literal">Javadoc</code></a></li><li><a class="link" href="org.gradle.api.tasks.JavaExec.html"><code class="literal">JavaExec</code></a></li><li><a class="link" href="org.gradle.api.plugins.quality.Pmd.html"><code class="literal">Pmd</code></a></li><li><a class="link" href="org.gradle.language.jvm.tasks.ProcessResources.html"><code class="literal">ProcessResources</code></a></li><li><a class="link" href="org.gradle.api.publish.ivy.tasks.PublishToIvyRepository.html"><code class="literal">PublishToIvyRepository</code></a></li><li><a class="link" href="org.gradle.api.publish.maven.tasks.PublishToMavenRepository.html"><code class="literal">PublishToMavenRepository</code></a></li><li><a class="link" href="org.gradle.api.tasks.scala.ScalaCompile.html"><code class="literal">ScalaCompile</code></a></li><li><a class="link" href="org.gradle.api.tasks.scala.ScalaDoc.html"><code class="literal">ScalaDoc</code></a></li><li><a class="link" href="org.gradle.buildconfiguration.tasks.UpdateDaemonJvm.html"><code class="literal">UpdateDaemonJvm</code></a></li><li><a class="link" href="org.gradle.buildinit.tasks.InitBuild.html"><code class="literal">InitBuild</code></a></li><li><a class="link" href="org.gradle.plugins.signing.Sign.html"><code class="literal">Sign</code></a></li><li><a class="link" href="org.gradle.api.tasks.Sync.html"><code class="literal">Sync</code></a></li><li><a class="link" href="org.gradle.api.tasks.bundling.Tar.html"><code class="literal">Tar</code></a></li><li><a class="link" href="org.gradle.api.tasks.testing.AbstractTestTask.html"><code class="literal">AbstractTestTask</code></a></li><li><a class="link" href="org.gradle.api.tasks.testing.Test.html"><code class="literal">Test</code></a></li><li><a class="link" href="org.gradle.api.tasks.testing.TestReport.html"><code class="literal">TestReport</code></a></li><li><a class="link" href="org.gradle.api.tasks.bundling.War.html"><code class="literal">War</code></a></li><li><a class="link" href="org.gradle.api.tasks.wrapper.Wrapper.html"><code class="literal">Wrapper</code></a></li><li><a class="link" href="org.gradle.api.tasks.WriteProperties.html"><code class="literal">WriteProperties</code></a></li><li><a class="link" href="org.gradle.api.tasks.bundling.Zip.html"><code class="literal">Zip</code></a></li><li><h3>Test types</h3></li><li><a class="link" href="org.gradle.testing.base.TestingExtension.html"><code class="literal">TestingExtension</code></a></li><li><a class="link" href="org.gradle.testing.base.TestSuite.html"><code class="literal">TestSuite</code></a></li><li><a class="link" href="org.gradle.api.plugins.jvm.JvmTestSuite.html"><code class="literal">JvmTestSuite</code></a></li><li><a class="link" href="org.gradle.testing.base.TestSuiteTarget.html"><code class="literal">TestSuiteTarget</code></a></li><li><a class="link" href="org.gradle.api.plugins.jvm.JvmTestSuiteTarget.html"><code class="literal">JvmTestSuiteTarget</code></a></li><li><a class="link" href="org.gradle.api.tasks.testing.Test.html"><code class="literal">Test</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.Dependencies.html"><code class="literal">Dependencies</code></a></li><li><a class="link" href="org.gradle.api.artifacts.dsl.GradleDependencies.html"><code class="literal">GradleDependencies</code></a></li><li><a class="link" href="org.gradle.api.plugins.jvm.TestFixturesDependencyModifiers.html"><code class="literal">TestFixturesDependencyModifiers</code></a></li><li><a class="link" href="org.gradle.api.plugins.jvm.PlatformDependencyModifiers.html"><code class="literal">PlatformDependencyModifiers</code></a></li><li><a class="link" href="org.gradle.api.plugins.jvm.JvmComponentDependencies.html"><code class="literal">JvmComponentDependencies</code></a></li><li><h3>Reporting types</h3></li><li><a class="link" href="org.gradle.api.reporting.CustomizableHtmlReport.html"><code class="literal">CustomizableHtmlReport</code></a></li><li><a class="link" href="org.gradle.api.reporting.SingleFileReport.html"><code class="literal">SingleFileReport</code></a></li><li><a class="link" href="org.gradle.api.reporting.DirectoryReport.html"><code class="literal">DirectoryReport</code></a></li><li><a class="link" href="org.gradle.api.reporting.Report.html"><code class="literal">Report</code></a></li><li><a class="link" href="org.gradle.api.reporting.Reporting.html"><code class="literal">Reporting</code></a></li><li><a class="link" href="org.gradle.api.reporting.ReportContainer.html"><code class="literal">ReportContainer</code></a></li><li><a class="link" href="org.gradle.api.reporting.ReportingExtension.html"><code class="literal">ReportingExtension</code></a></li><li><a class="link" href="org.gradle.api.tasks.testing.AggregateTestReport.html"><code class="literal">AggregateTestReport</code></a></li><li><a class="link" href="org.gradle.testing.jacoco.plugins.JacocoCoverageReport.html"><code class="literal">JacocoCoverageReport</code></a></li><li><h3>Eclipse/IDEA model types</h3></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseModel.html"><code class="literal">EclipseModel</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseProject.html"><code class="literal">EclipseProject</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html"><code class="literal">EclipseClasspath</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseJdt.html"><code class="literal">EclipseJdt</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseWtp.html"><code class="literal">EclipseWtp</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseWtpComponent.html"><code class="literal">EclipseWtpComponent</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.model.EclipseWtpFacet.html"><code class="literal">EclipseWtpFacet</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.model.IdeaModel.html"><code class="literal">IdeaModel</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.model.IdeaProject.html"><code class="literal">IdeaProject</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.model.IdeaModule.html"><code class="literal">IdeaModule</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.model.IdeaWorkspace.html"><code class="literal">IdeaWorkspace</code></a></li><li><a class="link" href="org.gradle.plugins.ide.api.XmlFileContentMerger.html"><code class="literal">XmlFileContentMerger</code></a></li><li><a class="link" href="org.gradle.plugins.ide.api.FileContentMerger.html"><code class="literal">FileContentMerger</code></a></li><li><h3>Eclipse/IDEA task types</h3></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.GenerateEclipseProject.html"><code class="literal">GenerateEclipseProject</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.GenerateEclipseClasspath.html"><code class="literal">GenerateEclipseClasspath</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.GenerateEclipseJdt.html"><code class="literal">GenerateEclipseJdt</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.GenerateEclipseWtpComponent.html"><code class="literal">GenerateEclipseWtpComponent</code></a></li><li><a class="link" href="org.gradle.plugins.ide.eclipse.GenerateEclipseWtpFacet.html"><code class="literal">GenerateEclipseWtpFacet</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.GenerateIdeaModule.html"><code class="literal">GenerateIdeaModule</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.GenerateIdeaProject.html"><code class="literal">GenerateIdeaProject</code></a></li><li><a class="link" href="org.gradle.plugins.ide.idea.GenerateIdeaWorkspace.html"><code class="literal">GenerateIdeaWorkspace</code></a></li><li><h3>Xcode task types</h3></li><li><a class="link" href="org.gradle.ide.xcode.tasks.GenerateSchemeFileTask.html"><code class="literal">GenerateSchemeFileTask</code></a></li><li><a class="link" href="org.gradle.ide.xcode.tasks.GenerateWorkspaceSettingsFileTask.html"><code class="literal">GenerateWorkspaceSettingsFileTask</code></a></li><li><a class="link" href="org.gradle.ide.xcode.tasks.GenerateXcodeProjectFileTask.html"><code class="literal">GenerateXcodeProjectFileTask</code></a></li><li><a class="link" href="org.gradle.ide.xcode.tasks.GenerateXcodeWorkspaceFileTask.html"><code class="literal">GenerateXcodeWorkspaceFileTask</code></a></li><li><h3>Visual Studio task types</h3></li><li><a class="link" href="org.gradle.ide.visualstudio.tasks.GenerateSolutionFileTask.html"><code class="literal">GenerateSolutionFileTask</code></a></li><li><a class="link" href="org.gradle.ide.visualstudio.tasks.GenerateProjectFileTask.html"><code class="literal">GenerateProjectFileTask</code></a></li><li><a class="link" href="org.gradle.ide.visualstudio.tasks.GenerateFiltersFileTask.html"><code class="literal">GenerateFiltersFileTask</code></a></li><li><h3>Artifact transform types</h3></li><li><a class="link" href="org.gradle.api.artifacts.transform.TransformAction.html"><code class="literal">TransformAction</code></a></li><li><a class="link" href="org.gradle.api.artifacts.transform.TransformOutputs.html"><code class="literal">TransformOutputs</code></a></li><li><a class="link" href="org.gradle.api.artifacts.transform.TransformSpec.html"><code class="literal">TransformSpec</code></a></li><li><h3>Native tool chain types</h3></li><li><a class="link" href="org.gradle.nativeplatform.toolchain.Gcc.html"><code class="literal">Gcc</code></a></li><li><a class="link" href="org.gradle.nativeplatform.toolchain.Clang.html"><code class="literal">Clang</code></a></li><li><a class="link" href="org.gradle.nativeplatform.toolchain.VisualCpp.html"><code class="literal">VisualCpp</code></a></li><li><a class="link" href="org.gradle.nativeplatform.toolchain.Swiftc.html"><code class="literal">Swiftc</code></a></li><li><h3>C++ component types</h3></li><li><a class="link" href="org.gradle.language.cpp.CppApplication.html"><code class="literal">CppApplication</code></a></li><li><a class="link" href="org.gradle.language.cpp.CppLibrary.html"><code class="literal">CppLibrary</code></a></li><li><a class="link" href="org.gradle.nativeplatform.test.cpp.CppTestSuite.html"><code class="literal">CppTestSuite</code></a></li><li><h3>Swift component types</h3></li><li><a class="link" href="org.gradle.language.swift.SwiftApplication.html"><code class="literal">SwiftApplication</code></a></li><li><a class="link" href="org.gradle.language.swift.SwiftLibrary.html"><code class="literal">SwiftLibrary</code></a></li><li><a class="link" href="org.gradle.nativeplatform.test.xctest.SwiftXCTestSuite.html"><code class="literal">SwiftXCTestSuite</code></a></li><li><h3>Native component task types</h3></li><li><a class="link" href="org.gradle.language.cpp.tasks.CppCompile.html"><code class="literal">CppCompile</code></a></li><li><a class="link" href="org.gradle.language.swift.tasks.SwiftCompile.html"><code class="literal">SwiftCompile</code></a></li><li><a class="link" href="org.gradle.nativeplatform.tasks.LinkExecutable.html"><code class="literal">LinkExecutable</code></a></li><li><a class="link" href="org.gradle.nativeplatform.tasks.LinkSharedLibrary.html"><code class="literal">LinkSharedLibrary</code></a></li><li><a class="link" href="org.gradle.nativeplatform.tasks.CreateStaticLibrary.html"><code class="literal">CreateStaticLibrary</code></a></li><li><a class="link" href="org.gradle.nativeplatform.tasks.LinkMachOBundle.html"><code class="literal">LinkMachOBundle</code></a></li><li><a class="link" href="org.gradle.nativeplatform.tasks.InstallExecutable.html"><code class="literal">InstallExecutable</code></a></li><li><a class="link" href="org.gradle.nativeplatform.test.xctest.tasks.InstallXCTestBundle.html"><code class="literal">InstallXCTestBundle</code></a></li><li><a class="link" href="org.gradle.nativeplatform.test.tasks.RunTestExecutable.html"><code class="literal">RunTestExecutable</code></a></li><li><a class="link" href="org.gradle.nativeplatform.test.xctest.tasks.XCTest.html"><code class="literal">XCTest</code></a></li></ul></nav><div class="content"><div id="content"><div class="chapter"><div class="titlepage"><div><div><h1 xmlns:xslthl="http://xslthl.sf.net"><a name="org.gradle.api.artifacts.dsl.DependencyHandler"></a>DependencyHandler</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N1741F">Advanced dependency configuration</a></span></dt><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17447">Dependency notations</a></span></dt><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17503">Properties</a></span></dt><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17533">Methods</a></span></dt><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17631">Script blocks</a></span></dt><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17636">Property details</a></span></dt><dt><span class="section"><a href="org.gradle.api.artifacts.dsl.DependencyHandler.html#N17671">Method details</a></span></dt></dl></div><div class="segmentedlist"><table><tr><th>API Documentation:</th><td><a class="ulink" href="../javadoc/org/gradle/api/artifacts/dsl/DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a></td></tr></table></div><p>A <code class="literal">DependencyHandler</code> is used to declare dependencies. Dependencies are grouped into configurations (see <a class="ulink" href="../dsl/org.gradle.api.artifacts.Configuration.html" target="_top"><code class="classname">Configuration</code></a>).</p><p>To declare a specific dependency for a configuration you can use the following syntax:</p><pre class="programlisting"> dependencies { configurationName dependencyNotation } </pre><p>Example shows a basic way of declaring dependencies. </p><pre class="programlisting"> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'java'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// so that we can use 'implementation', 'testImplementation' for dependencies</span> } dependencies { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//for dependencies found in artifact repositories you can use</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//the group:name:version notation</span> implementation <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'commons-lang:commons-lang:2.6'</span> testImplementation <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'org.mockito:mockito:1.9.0-rc1'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//map-style notation:</span> implementation group: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'com.google.code.guice'</span>, name: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'guice'</span>, version: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'1.0'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//declaring arbitrary files as dependencies</span> implementation files(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'hibernate.jar'</span>, <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'libs/spring.jar'</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//putting all jars from 'libs' onto compile classpath</span> implementation fileTree(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'libs'</span>) } </pre><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1741F" class="section-anchor" href="#N1741F"></a>Advanced dependency configuration</h3></div></div></div><p>To do some advanced configuration on a dependency when it is declared, you can additionally pass a configuration closure:</p><pre class="programlisting"> dependencies { configurationName(dependencyNotation){ configStatement1 configStatement2 } } </pre><p> Examples of advanced dependency declaration including: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">Forcing certain dependency version in case of the conflict.</li><li class="listitem">Excluding certain dependencies by name, group or both. More details about per-dependency exclusions can be found in docs for <a class="ulink" href="../javadoc/org/gradle/api/artifacts/ModuleDependency.html#exclude-java.util.Map-" target="_top"><code class="classname">ModuleDependency.exclude(java.util.Map)</code></a>.</li><li class="listitem">Avoiding transitive dependencies for certain dependency.</li></ul></div><pre class="programlisting"> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'java'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// so that I can declare 'implementation' dependencies</span> } dependencies { implementation(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'org.hibernate:hibernate'</span>) { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//in case of versions conflict '3.1' version of hibernate wins:</span> version { strictly(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'3.1'</span>) } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//excluding a particular transitive dependency:</span> exclude module: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'cglib'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//by artifact name</span> exclude group: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'org.jmock'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//by group</span> exclude group: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'org.unwanted'</span>, module: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'iAmBuggy'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//by both name and group</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//disabling all transitive dependencies of this dependency</span> transitive = false } } </pre><p> More examples of advanced configuration, useful when dependency module has multiple artifacts: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">Declaring dependency to a specific configuration of the module.</li><li class="listitem">Explicit specification of the artifact. See also <a class="ulink" href="../javadoc/org/gradle/api/artifacts/ModuleDependency.html#artifact-groovy.lang.Closure-" target="_top"><code class="classname">ModuleDependency.artifact(groovy.lang.Closure)</code></a>.</li></ul></div><pre class="programlisting"> plugins { id(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"java-library"</span>) } dependencies { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Configuring dependency to specific configuration of the module</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// This notation should _only_ be used for Ivy dependencies</span> implementation(group: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"org.someOrg"</span>, name: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"someModule"</span>, version: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"1.0"</span>, configuration: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"someConf"</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Configuring dependency on 'someLib' module</span> implementation(group: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'org.myorg'</span>, name: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someLib'</span>, version:<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'1.0'</span>) { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Explicitly adding the dependency artifact:</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Prefer variant-aware dependency resolution</span> artifact { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Useful when some artifact properties unconventional</span> name = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someArtifact'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Artifact name different than module name</span> extension = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someExt'</span> type = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someType'</span> classifier = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someClassifier'</span> } } } </pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17447" class="section-anchor" href="#N17447"></a>Dependency notations</h3></div></div></div><p>There are several supported dependency notations. These are described below. For each dependency declared this way, a <a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> object is created. You can use this object to query or further configure the dependency.</p><p>You can also always add instances of <a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> directly:</p><p><code class="literal"><span class="emphasis"><em>configurationName</em></span> <instance></code> </p><p>Dependencies can also be declared with a <a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a> that provides any of the other supported dependency notations.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17465" class="section-anchor" href="#N17465"></a>External dependencies</h4></div></div></div><p>There are two notations supported for declaring a dependency on an external module. One is a string notation formatted this way:</p><p><code class="literal"><span class="emphasis"><em>configurationName</em></span> "<span class="emphasis"><em>group</em></span>:<span class="emphasis"><em>name</em></span>:<span class="emphasis"><em>version</em></span>:<span class="emphasis"><em>classifier</em></span>@<span class="emphasis"><em>extension</em></span>"</code> </p><p>The other is a map notation:</p><p><code class="literal"><span class="emphasis"><em>configurationName</em></span> group: <span class="emphasis"><em>group</em></span>, name: <span class="emphasis"><em>name</em></span>, version: <span class="emphasis"><em>version</em></span>, classifier: <span class="emphasis"><em>classifier</em></span>, ext: <span class="emphasis"><em>extension</em></span></code> </p><p>In both notations, all properties, except name, are optional.</p><p>External dependencies are represented by a <a class="ulink" href="../javadoc/org/gradle/api/artifacts/ExternalModuleDependency.html" target="_top"><code class="classname">ExternalModuleDependency</code></a>.</p><pre class="programlisting"> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'java'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// so that we can use 'implementation', 'testImplementation' for dependencies</span> } dependencies { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//for dependencies found in artifact repositories you can use</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//the string notation, e.g. group:name:version</span> implementation <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'commons-lang:commons-lang:2.6'</span> testImplementation <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'org.mockito:mockito:1.9.0-rc1'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//map notation:</span> implementation group: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'com.google.code.guice'</span>, name: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'guice'</span>, version: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'1.0'</span> } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N174A1" class="section-anchor" href="#N174A1"></a>Project dependencies</h4></div></div></div><p>To add a project dependency, you use the following notation: </p><p><code class="literal"><span class="emphasis"><em>configurationName</em></span> project(':some-project')</code> </p><p>The notation <code class="literal">project(':project-a')</code> is similar to the syntax you use when configuring a projectA in a multi-module gradle project. </p><p>Project dependencies are resolved by treating each consumable configuration in the target project as a variant and performing variant-aware attribute matching against them. However, in order to override this process, an explicit target configuration can be specified: </p><p><code class="literal"><span class="emphasis"><em>configurationName</em></span> project(path: ':project-a', configuration: 'someOtherConfiguration')</code> </p><p>Project dependencies are represented using a <a class="ulink" href="../javadoc/org/gradle/api/artifacts/ProjectDependency.html" target="_top"><code class="classname">ProjectDependency</code></a>. </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N174C0" class="section-anchor" href="#N174C0"></a>File dependencies</h4></div></div></div><p>You can also add a dependency using a <a class="ulink" href="../javadoc/org/gradle/api/file/FileCollection.html" target="_top"><code class="classname">FileCollection</code></a>:</p><p><code class="literal"><span class="emphasis"><em>configurationName</em></span> files('a file')</code> </p><pre class="programlisting"> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'java'</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// so that we can use 'implementation', 'testImplementation' for dependencies</span> } dependencies { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//declaring arbitrary files as dependencies</span> implementation files(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'hibernate.jar'</span>, <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'libs/spring.jar'</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//putting all jars from 'libs' onto compile classpath</span> implementation fileTree(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'libs'</span>) } </pre><p>File dependencies are represented using a <a class="ulink" href="../javadoc/org/gradle/api/artifacts/FileCollectionDependency.html" target="_top"><code class="classname">FileCollectionDependency</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N174DA" class="section-anchor" href="#N174DA"></a>Dependencies to other configurations</h4></div></div></div><p>You can add a dependency using a <a class="ulink" href="../dsl/org.gradle.api.artifacts.Configuration.html" target="_top"><code class="classname">Configuration</code></a>.</p><p>When the configuration is from the same project as the target configuration, the target configuration is changed to extend from the provided configuration.</p><p>When the configuration is from a different project, a project dependency is added.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N174E8" class="section-anchor" href="#N174E8"></a>Gradle distribution specific dependencies</h4></div></div></div><p>It is possible to depend on certain Gradle APIs or libraries that Gradle ships with. It is particularly useful for Gradle plugin development. Example:</p><pre class="programlisting"> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//Our Gradle plugin is written in groovy</span> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'groovy'</span> } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// now we can use the 'implementation' configuration for declaring dependencies</span> dependencies { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//we will use the Groovy version that ships with Gradle:</span> implementation localGroovy() <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//our plugin requires Gradle API interfaces and classes to compile:</span> implementation gradleApi() <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//we will use the Gradle test-kit to test build logic:</span> testImplementation gradleTestKit() } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N174F0" class="section-anchor" href="#N174F0"></a>Client module dependencies</h4></div></div></div><p><span class="emphasis"><em>Client module dependencies are deprecated and will be removed in Gradle 9.0. Please use component metadata rules instead.</em></span> </p><p>To add a client module to a configuration you can use the notation:</p><pre class="programlisting"> configurationName module(moduleNotation) { module dependencies } </pre><p> The module notation is the same as the dependency notations described above, except that the classifier property is not available. Client modules are represented using a <a class="ulink" href="../javadoc/org/gradle/api/artifacts/ClientModule.html" target="_top"><code class="classname">ClientModule</code></a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17503" class="section-anchor" href="#N17503"></a>Properties</h3></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N17506"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:components"><code class="literal">components</code></a></td><td><p>The component metadata handler for this project. The returned handler can be used for adding rules that modify the metadata of depended-on software components.</p></td></tr><tr><td><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:constraints"><code class="literal">constraints</code></a></td><td><p>The dependency constraint handler for this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:extensions"><code class="literal">extensions</code></a></td><td><p>The container of extensions.</p></td></tr><tr><td><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:modules"><code class="literal">modules</code></a></td><td><p>The component module metadata handler for this project. The returned handler can be used for adding rules that modify the metadata of depended-on software components.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17533" class="section-anchor" href="#N17533"></a>Methods</h3></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N17536"><thead><tr><td>Method</td><td>Description</td></tr></thead><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:add(java.lang.String, java.lang.Object)">add</a>(configurationName, dependencyNotation)</code></td><td><p>Adds a dependency to the given configuration.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:add(java.lang.String, java.lang.Object, groovy.lang.Closure)">add</a>(configurationName, dependencyNotation, configureClosure)</code></td><td><p>Adds a dependency to the given configuration, and configures the dependency using the given closure.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:components(org.gradle.api.Action)">components</a>(configureAction)</code></td><td><p>Configures component metadata for this project. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:constraints(org.gradle.api.Action)">constraints</a>(configureAction)</code></td><td><p>Configures dependency constraint for this project. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:create(java.lang.Object)">create</a>(dependencyNotation)</code></td><td><p>Creates a dependency without adding it to a configuration.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:create(java.lang.Object, groovy.lang.Closure)">create</a>(dependencyNotation, configureClosure)</code></td><td><p>Creates a dependency without adding it to a configuration, and configures the dependency using the given closure.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:createArtifactResolutionQuery()">createArtifactResolutionQuery</a>()</code></td><td><p>Creates an artifact resolution query. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(java.lang.Object)">enforcedPlatform</a>(notation)</code></td><td><p>Declares a dependency on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(java.lang.Object, org.gradle.api.Action)">enforcedPlatform</a>(notation, configureAction)</code></td><td><p>Declares a dependency on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(org.gradle.api.provider.Provider)">enforcedPlatform</a>(dependencyProvider)</code></td><td><p>Configures this dependency provider to select the enforced-platform variant of the target component</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(org.gradle.api.provider.ProviderConvertible)">enforcedPlatform</a>(dependencyProviderConvertible)</code></td><td><p>Configures this dependency provider to select the enforced-platform variant of the target component</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:gradleApi()">gradleApi</a>()</code></td><td><p>Creates a dependency on the API of the current version of Gradle.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:gradleTestKit()">gradleTestKit</a>()</code></td><td><p>Creates a dependency on the <a class="ulink" href="https://docs.gradle.org/current/userguide/test_kit.html" target="_top">Gradle test-kit</a> API.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:localGroovy()">localGroovy</a>()</code></td><td><p>Creates a dependency on the Groovy that is distributed with the current version of Gradle.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:module(java.lang.Object)">module</a>(notation)</code></td><td><div class="caution" title="Caution">Deprecated</div><p>Creates a dependency on a client module.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:module(java.lang.Object, groovy.lang.Closure)">module</a>(notation, configureClosure)</code></td><td><div class="caution" title="Caution">Deprecated</div><p>Creates a dependency on a client module. The dependency is configured using the given closure before it is returned.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:modules(org.gradle.api.Action)">modules</a>(configureAction)</code></td><td><p>Configures module metadata for this project. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:platform(java.lang.Object)">platform</a>(notation)</code></td><td><p>Declares a dependency on a platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:platform(java.lang.Object, org.gradle.api.Action)">platform</a>(notation, configureAction)</code></td><td><p>Declares a dependency on a platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:platform(org.gradle.api.provider.Provider)">platform</a>(dependencyProvider)</code></td><td><p>Configures this dependency provider to select the platform variant of the target component</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:platform(org.gradle.api.provider.ProviderConvertible)">platform</a>(dependencyProviderConvertible)</code></td><td><p>Configures this dependency provider to select the platform variant of the target component</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:project(java.util.Map)">project</a>(notation)</code></td><td><p>Creates a dependency on a project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.artifacts.dsl.DependencyHandler.html#org.gradle.api.artifacts.dsl.DependencyHandler:registerTransform(java.lang.Class, org.gradle.api.Action)">registerTransform</a>(actionType, registrationAction)</code></td><td><p>Registers an <a class="ulink" href="https://docs.gradle.org/current/userguide/artifact_transforms.html" target="_top">artifact transform</a>. </p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17631" class="section-anchor" href="#N17631"></a>Script blocks</h3></div></div></div><p>No script blocks</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17636" class="section-anchor" href="#N17636"></a>Property details</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:components" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:components"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ComponentMetadataHandler.html" target="_top"><code class="classname">ComponentMetadataHandler</code></a> <code class="literal">components</code> (read-only)</h4></div></div></div><p>The component metadata handler for this project. The returned handler can be used for adding rules that modify the metadata of depended-on software components.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:constraints" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:constraints"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyConstraintHandler.html" target="_top"><code class="classname">DependencyConstraintHandler</code></a> <code class="literal">constraints</code> (read-only)</h4></div></div></div><p>The dependency constraint handler for this project.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:extensions" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:extensions"></a><a class="ulink" href="../javadoc/org/gradle/api/plugins/ExtensionContainer.html" target="_top"><code class="classname">ExtensionContainer</code></a> <code class="literal">extensions</code> (read-only)</h4></div></div></div><p>The container of extensions.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:modules" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:modules"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ComponentModuleMetadataHandler.html" target="_top"><code class="classname">ComponentModuleMetadataHandler</code></a> <code class="literal">modules</code> (read-only)</h4></div></div></div><p>The component module metadata handler for this project. The returned handler can be used for adding rules that modify the metadata of depended-on software components.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N17671" class="section-anchor" href="#N17671"></a>Method details</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:add(java.lang.String, java.lang.Object)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:add(java.lang.String, java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">add</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a> configurationName, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> dependencyNotation)</h4></div></div></div><p>Adds a dependency to the given configuration.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:add(java.lang.String, java.lang.Object, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:add(java.lang.String, java.lang.Object, groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">add</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a> configurationName, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> dependencyNotation, <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/Closure.html" target="_top"><code class="classname">Closure</code></a> configureClosure)</h4></div></div></div><p>Adds a dependency to the given configuration, and configures the dependency using the given closure.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:components(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:components(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">components</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a><? super <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ComponentMetadataHandler.html" target="_top"><code class="classname">ComponentMetadataHandler</code></a>></code> configureAction)</h4></div></div></div><p>Configures component metadata for this project. </p><p>This method executes the given action against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ComponentMetadataHandler.html" target="_top"><code class="classname">ComponentMetadataHandler</code></a> for this project.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:constraints(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:constraints(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">constraints</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a><? super <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyConstraintHandler.html" target="_top"><code class="classname">DependencyConstraintHandler</code></a>></code> configureAction)</h4></div></div></div><p>Configures dependency constraint for this project. </p><p>This method executes the given action against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyConstraintHandler.html" target="_top"><code class="classname">DependencyConstraintHandler</code></a> for this project.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:create(java.lang.Object)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:create(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">create</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> dependencyNotation)</h4></div></div></div><p>Creates a dependency without adding it to a configuration.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:create(java.lang.Object, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:create(java.lang.Object, groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">create</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> dependencyNotation, <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/Closure.html" target="_top"><code class="classname">Closure</code></a> configureClosure)</h4></div></div></div><p>Creates a dependency without adding it to a configuration, and configures the dependency using the given closure.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:createArtifactResolutionQuery()" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:createArtifactResolutionQuery()"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.query.ArtifactResolutionQuery.html" target="_top"><code class="classname">ArtifactResolutionQuery</code></a> <code class="literal">createArtifactResolutionQuery</code>()</h4></div></div></div><p>Creates an artifact resolution query. </p><p> This is a legacy API and is in maintenance mode. In future versions of Gradle, this API will be deprecated and removed. New code should not use this API. Prefer <span style="color: red"><UNHANDLED-LINK>ArtifactView.ViewConfiguration#withVariantReselection()</UNHANDLED-LINK></span> for resolving sources and javadoc.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(java.lang.Object)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">enforcedPlatform</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> notation)</h4></div></div></div><p>Declares a dependency on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(java.lang.Object, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(java.lang.Object, org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">enforcedPlatform</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> notation, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a><? super <a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a>></code> configureAction)</h4></div></div></div><p>Declares a dependency on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(org.gradle.api.provider.Provider)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(org.gradle.api.provider.Provider)"></a><code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> <code class="literal">enforcedPlatform</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> dependencyProvider)</h4></div></div></div><p>Configures this dependency provider to select the enforced-platform variant of the target component</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(org.gradle.api.provider.ProviderConvertible)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:enforcedPlatform(org.gradle.api.provider.ProviderConvertible)"></a><code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> <code class="literal">enforcedPlatform</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/ProviderConvertible.html" target="_top"><code class="classname">ProviderConvertible</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> dependencyProviderConvertible)</h4></div></div></div><p>Configures this dependency provider to select the enforced-platform variant of the target component</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:gradleApi()" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:gradleApi()"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">gradleApi</code>()</h4></div></div></div><p>Creates a dependency on the API of the current version of Gradle.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:gradleTestKit()" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:gradleTestKit()"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">gradleTestKit</code>()</h4></div></div></div><p>Creates a dependency on the <a class="ulink" href="https://docs.gradle.org/current/userguide/test_kit.html" target="_top">Gradle test-kit</a> API.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:localGroovy()" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:localGroovy()"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">localGroovy</code>()</h4></div></div></div><p>Creates a dependency on the Groovy that is distributed with the current version of Gradle.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:module(java.lang.Object)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:module(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">module</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> notation)</h4></div></div></div><div class="caution" title="Caution"><p>Note: This method is <a class="ulink" href="../userguide/feature_lifecycle.html" target="_top">deprecated</a> and will be removed in the next major version of Gradle.</p></div><p>Creates a dependency on a client module.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:module(java.lang.Object, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:module(java.lang.Object, groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">module</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> notation, <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/Closure.html" target="_top"><code class="classname">Closure</code></a> configureClosure)</h4></div></div></div><div class="caution" title="Caution"><p>Note: This method is <a class="ulink" href="../userguide/feature_lifecycle.html" target="_top">deprecated</a> and will be removed in the next major version of Gradle.</p></div><p>Creates a dependency on a client module. The dependency is configured using the given closure before it is returned.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:modules(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:modules(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">modules</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a><? super <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ComponentModuleMetadataHandler.html" target="_top"><code class="classname">ComponentModuleMetadataHandler</code></a>></code> configureAction)</h4></div></div></div><p>Configures module metadata for this project. </p><p>This method executes the given action against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ComponentModuleMetadataHandler.html" target="_top"><code class="classname">ComponentModuleMetadataHandler</code></a> for this project.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:platform(java.lang.Object)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:platform(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">platform</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> notation)</h4></div></div></div><p>Declares a dependency on a platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:platform(java.lang.Object, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:platform(java.lang.Object, org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">platform</code>(<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> notation, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a><? super <a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a>></code> configureAction)</h4></div></div></div><p>Declares a dependency on a platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:platform(org.gradle.api.provider.Provider)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:platform(org.gradle.api.provider.Provider)"></a><code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> <code class="literal">platform</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> dependencyProvider)</h4></div></div></div><p>Configures this dependency provider to select the platform variant of the target component</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:platform(org.gradle.api.provider.ProviderConvertible)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:platform(org.gradle.api.provider.ProviderConvertible)"></a><code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> <code class="literal">platform</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/ProviderConvertible.html" target="_top"><code class="classname">ProviderConvertible</code></a><<a class="ulink" href="../javadoc/org/gradle/api/artifacts/MinimalExternalModuleDependency.html" target="_top"><code class="classname">MinimalExternalModuleDependency</code></a>></code> dependencyProviderConvertible)</h4></div></div></div><p>Configures this dependency provider to select the platform variant of the target component</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:project(java.util.Map)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:project(java.util.Map)"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/Dependency.html" target="_top"><code class="classname">Dependency</code></a> <code class="literal">project</code>(<code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" target="_top"><code class="classname">Map</code></a><<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, ?></code> notation)</h4></div></div></div><p>Creates a dependency on a project.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.artifacts.dsl.DependencyHandler:registerTransform(java.lang.Class, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.artifacts.dsl.DependencyHandler:registerTransform(java.lang.Class, org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">registerTransform</code>(<code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" target="_top"><code class="classname">Class</code></a><? extends <a class="ulink" href="../dsl/org.gradle.api.artifacts.transform.TransformAction.html" target="_top"><code class="classname">TransformAction</code></a><<code class="classname">T</code>>></code> actionType, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a><? super <a class="ulink" href="../dsl/org.gradle.api.artifacts.transform.TransformSpec.html" target="_top"><code class="classname">TransformSpec</code></a><<code class="classname">T</code>>></code> registrationAction)</h4></div></div></div><p>Registers an <a class="ulink" href="https://docs.gradle.org/current/userguide/artifact_transforms.html" target="_top">artifact transform</a>. </p><p> The registration action needs to specify the <code class="literal">from</code> and <code class="literal">to</code> attributes. It may also provide parameters for the transform action by using <a class="ulink" href="../dsl/org.gradle.api.artifacts.transform.TransformSpec.html#org.gradle.api.artifacts.transform.TransformSpec:parameters(org.gradle.api.Action)" target="_top"><code class="classname">TransformSpec.parameters(org.gradle.api.Action)</code></a>. </p><p>For example:</p><pre class="programlisting"> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// You have a transform action like this:</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">abstract</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">class</span> MyTransform <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">implements</span> TransformAction<Parameters> { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">interface</span> Parameters <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">extends</span> TransformParameters { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-annotation">@Input</span> Property<String> getStringParameter(); <span xmlns:xslthl="http://xslthl.sf.net" class="hl-annotation">@InputFiles</span> ConfigurableFileCollection getInputFiles(); } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">void</span> transform(TransformOutputs outputs) { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// ...</span> } } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Then you can register the action like this:</span> def artifactType = Attribute.of(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'artifactType'</span>, String) dependencies.registerTransform(MyTransform) { from.attribute(artifactType, <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"jar"</span>) to.attribute(artifactType, <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"java-classes-directory"</span>) parameters { stringParameter.set(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"Some string"</span>) inputFiles.from(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"my-input-file"</span>) } } </pre></div></div></div></div><footer xmlns:xslthl="http://xslthl.sf.net" itemtype="https://schema.org/WPFooter" itemscope="itemscope" class="site-layout__footer site-footer"><nav itemtype="https://schema.org/SiteNavigationElement" class="site-footer__navigation"><section class="site-footer__links"><div class="site-footer__link-group"><header><strong>Docs</strong></header><ul class="site-footer__links-list"><li itemprop="name"><a itemprop="url" href="/userguide/userguide.html">User Manual</a></li><li itemprop="name"><a itemprop="url" href="/dsl/">DSL Reference</a></li><li itemprop="name"><a itemprop="url" href="/release-notes.html">Release Notes</a></li><li itemprop="name"><a itemprop="url" href="/javadoc/">Javadoc</a></li></ul></div><div class="site-footer__link-group"><header><strong>News</strong></header><ul class="site-footer__links-list"><li itemprop="name"><a itemprop="url" href="https://blog.gradle.org/">Blog</a></li><li itemprop="name"><a itemprop="url" href="https://newsletter.gradle.org/">Newsletter</a></li><li itemprop="name"><a itemprop="url" href="https://twitter.com/gradle">Twitter</a></li></ul></div><div class="site-footer__link-group"><header><strong>Products</strong></header><ul class="site-footer__links-list"><li itemprop="name"><a itemprop="url" href="https://gradle.com/build-scans">Build Scan™</a></li><li itemprop="name"><a itemprop="url" href="https://gradle.com/build-cache">Build Cache</a></li><li itemprop="name"><a itemprop="url" href="https://gradle.com/enterprise/resources">Develocity Docs</a></li></ul></div><div class="site-footer__link-group"><header><strong>Get Help</strong></header><ul class="site-footer__links-list"><li itemprop="name"><a itemprop="url" href="https://discuss.gradle.org/c/help-discuss">Forums</a></li><li itemprop="name"><a itemprop="url" href="https://github.com/gradle/">GitHub</a></li><li itemprop="name"><a itemprop="url" href="https://gradle.org/training/">Training</a></li><li itemprop="name"><a itemprop="url" href="https://gradle.org/services/">Services</a></li></ul></div></section><section id="newsletter-form-container" class="site-footer__subscribe-newsletter"><header class="newsletter-form__header"><h5>Stay <code>UP-TO-DATE</code> on new features and news</h5></header><p class="disclaimer">By entering your email, you agree to our <a href="https://gradle.org/terms/">Terms</a> and <a href="https://gradle.org/privacy/">Privacy Policy</a>, including receipt of emails. You can unsubscribe at any time.</p><div class="newsletter-form__container"><form method="post" action="https://go.gradle.com/l/68052/2018-09-07/bk6wml" class="newsletter-form" id="newsletter-form"><input required="" maxlength="255" pattern="[^@\s]+@[^@\s]+\.[^@\s]+" placeholder="name@email.com" type="email" name="email" class="email" id="email"><button type="submit" class="submit" id="submit">Subscribe</button></form></div></section></nav></footer><aside class="secondary-navigation"></aside></div></main><div class="site-footer-secondary"><div class="site-footer-secondary__contents"><div class="site-footer__copy">© <a href="https://gradle.com">Gradle Inc. </a><time>2021</time> All rights reserved. </div><div class="site-footer__logo"><a href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 66.06"><defs><style>.cls-1 { fill: #02303a; }</style></defs><title>gradle</title><path d="M85.11,4.18a14.27,14.27,0,0,0-19.83-.34,1.38,1.38,0,0,0,0,2L67,7.6a1.36,1.36,0,0,0,1.78.12A8.18,8.18,0,0,1,79.5,20.06C68.17,31.38,53.05-.36,18.73,16a4.65,4.65,0,0,0-2,6.54l5.89,10.17a4.64,4.64,0,0,0,6.3,1.73l.14-.08-.11.08L31.53,33a60.29,60.29,0,0,0,8.22-6.13,1.44,1.44,0,0,1,1.87-.06h0a1.34,1.34,0,0,1,.06,2A61.61,61.61,0,0,1,33,35.34l-.09,0-2.61,1.46a7.34,7.34,0,0,1-3.61.94,7.45,7.45,0,0,1-6.47-3.71l-5.57-9.61C4,32-2.54,46.56,1,65a1.36,1.36,0,0,0,1.33,1.11H8.61A1.36,1.36,0,0,0,10,64.87a9.29,9.29,0,0,1,18.42,0,1.35,1.35,0,0,0,1.34,1.19H35.9a1.36,1.36,0,0,0,1.34-1.19,9.29,9.29,0,0,1,18.42,0A1.36,1.36,0,0,0,57,66.06H63.1a1.36,1.36,0,0,0,1.36-1.34c.14-8.6,2.46-18.48,9.07-23.43C96.43,24.16,90.41,9.48,85.11,4.18ZM61.76,30.05l-4.37-2.19h0a2.74,2.74,0,1,1,4.37,2.2Z" class="cls-1"/></svg></a></div><div class="site-footer-secondary__links"><a href="https://gradle.com/careers">Careers</a> | <a href="https://gradle.org/privacy">Privacy</a> | <a href="https://gradle.org/terms">Terms of Service</a> | <a href="https://gradle.org/contact/">Contact</a></div></div></div></div></body></html>