CINXE.COM

Project - 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>Project - 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.Project.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.Project.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.Project.html#N150AF" title="Properties">Properties</a></li><ul class="sections"><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15240" title="Properties added by the application plugin">application plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15291" title="Properties added by the checkstyle plugin">checkstyle plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N152B5" title="Properties added by the codenarc plugin">codenarc plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N152D9" title="Properties added by the distribution plugin">distribution plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N152FD" title="Properties added by the ear plugin">ear plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15337" title="Properties added by the eclipse plugin">eclipse plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N1535B" title="Properties added by the idea plugin">idea plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N1537F" title="Properties added by the jacoco plugin">jacoco plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N153A3" title="Properties added by the java plugin">java plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15466" title="Properties added by the pmd plugin">pmd plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N1548A" title="Properties added by the project-report plugin">project-report plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N154B2" title="Properties added by the publishing plugin">publishing plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N154D6" title="Properties added by the signing plugin">signing plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N154FA" title="Properties added by the visual-studio plugin">visual-studio plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N1551E" title="Properties added by the war plugin">war plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15546" title="Properties added by the xcode plugin">xcode plugin</a></li></ul><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N1556A" title="Methods">Methods</a></li><ul class="sections"><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N158BA" title="Methods added by the ear plugin">ear plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N158EE" title="Methods added by the java plugin">java plugin</a></li></ul><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15931" title="Script blocks">Script blocks</a></li><ul class="sections"><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N1598F" title="Script blocks added by the application plugin">application plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N159B3" title="Script blocks added by the checkstyle plugin">checkstyle plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N159D7" title="Script blocks added by the codenarc plugin">codenarc plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N159FB" title="Script blocks added by the distribution plugin">distribution plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15A1F" title="Script blocks added by the ear plugin">ear plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15A3E" title="Script blocks added by the eclipse plugin">eclipse plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15A62" title="Script blocks added by the idea plugin">idea plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15A86" title="Script blocks added by the jacoco plugin">jacoco plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15AAA" title="Script blocks added by the java plugin">java plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15AF3" title="Script blocks added by the pmd plugin">pmd plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15B17" title="Script blocks added by the publishing plugin">publishing plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15B3B" title="Script blocks added by the signing plugin">signing plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15B5F" title="Script blocks added by the visual-studio plugin">visual-studio plugin</a></li><li><a xmlns:xslthl="http://xslthl.sf.net" href="org.gradle.api.Project.html#N15B83" title="Script blocks added by the xcode plugin">xcode plugin</a></li></ul></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.Project"></a>Project</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="org.gradle.api.Project.html#N14F5F">Lifecycle</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N14FA0">Tasks</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N14FC1">Dependencies</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N14FEE">Multi-project Builds</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N14FF3">Plugins</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N15002">Dynamic Project Properties</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N150AF">Properties</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N1556A">Methods</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N15931">Script blocks</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N15BA7">Property details</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N160FF">Method details</a></span></dt><dt><span class="section"><a href="org.gradle.api.Project.html#N16B10">Script block details</a></span></dt></dl></div><div class="segmentedlist"><table><tr><th>API Documentation:</th><td><a class="ulink" href="../javadoc/org/gradle/api/Project.html" target="_top"><code class="classname">Project</code></a></td></tr></table></div><p>This interface is the main API you use to interact with Gradle from your build file. From a <code class="literal">Project</code>, you have programmatic access to all of Gradle's features.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N14F5F" class="section-anchor" href="#N14F5F"></a>Lifecycle</h3></div></div></div><p>There is a one-to-one relationship between a <code class="literal">Project</code> and a <code class="literal"><code class="literal">build.gradle</code></code> file. During build initialisation, Gradle assembles a <code class="literal">Project</code> object for each project which is to participate in the build, as follows:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">Create a <a class="ulink" href="../dsl/org.gradle.api.initialization.Settings.html" target="_top"><code class="classname">Settings</code></a> instance for the build.</li><li class="listitem">Evaluate the <code class="literal"><code class="literal">settings.gradle</code></code> script, if present, against the <a class="ulink" href="../dsl/org.gradle.api.initialization.Settings.html" target="_top"><code class="classname">Settings</code></a> object to configure it.</li><li class="listitem">Use the configured <a class="ulink" href="../dsl/org.gradle.api.initialization.Settings.html" target="_top"><code class="classname">Settings</code></a> object to create the hierarchy of <code class="literal">Project</code> instances.</li><li class="listitem">Finally, evaluate each <code class="literal">Project</code> by executing its <code class="literal"><code class="literal">build.gradle</code></code> file, if present, against the project. The projects are evaluated in breadth-wise order, such that a project is evaluated before its child projects. This order can be overridden by calling <code class="literal"><a class="ulink" href="../javadoc/org/gradle/api/Project.html#evaluationDependsOnChildren--" target="_top"><code class="classname">Project.evaluationDependsOnChildren()</code></a></code> or by adding an explicit evaluation dependency using <code class="literal"><a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:evaluationDependsOn(java.lang.String)" target="_top"><code class="classname">Project.evaluationDependsOn(java.lang.String)</code></a></code>.</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N14FA0" class="section-anchor" href="#N14FA0"></a>Tasks</h3></div></div></div><p>A project is essentially a collection of <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> objects. Each task performs some basic piece of work, such as compiling classes, or running unit tests, or zipping up a WAR file. You add tasks to a project using one of the <code class="literal">create()</code> methods on <a class="ulink" href="../dsl/org.gradle.api.tasks.TaskContainer.html" target="_top"><code class="classname">TaskContainer</code></a>, such as <a class="ulink" href="../dsl/org.gradle.api.tasks.TaskContainer.html#org.gradle.api.tasks.TaskContainer:create(java.lang.String)" target="_top"><code class="classname">TaskContainer.create(java.lang.String)</code></a>. You can locate existing tasks using one of the lookup methods on <a class="ulink" href="../dsl/org.gradle.api.tasks.TaskContainer.html" target="_top"><code class="classname">TaskContainer</code></a>, such as <a class="ulink" href="../dsl/org.gradle.api.tasks.TaskCollection.html#org.gradle.api.tasks.TaskCollection:getByName(java.lang.String)" target="_top"><code class="classname">TaskCollection.getByName(java.lang.String)</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N14FC1" class="section-anchor" href="#N14FC1"></a>Dependencies</h3></div></div></div><p>A project generally has a number of dependencies it needs in order to do its work. Also, a project generally produces a number of artifacts, which other projects can use. Those dependencies are grouped in configurations, and can be retrieved and uploaded from repositories. You use the <a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a> returned by <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:configurations" target="_top"><code class="classname">Project.getConfigurations()</code></a> method to manage the configurations. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a> returned by <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:dependencies" target="_top"><code class="classname">Project.getDependencies()</code></a> method to manage the dependencies. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a> returned by <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:artifacts" target="_top"><code class="classname">Project.getArtifacts()</code></a> method to manage the artifacts. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html" target="_top"><code class="classname">RepositoryHandler</code></a> returned by <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:repositories" target="_top"><code class="classname">Project.getRepositories()</code></a> method to manage the repositories.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N14FEE" class="section-anchor" href="#N14FEE"></a>Multi-project Builds</h3></div></div></div><p>Projects are arranged into a hierarchy of projects. A project has a name, and a fully qualified path which uniquely identifies it in the hierarchy.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N14FF3" class="section-anchor" href="#N14FF3"></a>Plugins</h3></div></div></div><p> Plugins can be used to modularise and reuse project configuration. Plugins can be applied using the <a class="ulink" href="../dsl/org.gradle.api.plugins.PluginAware.html#org.gradle.api.plugins.PluginAware:apply(java.util.Map)" target="_top"><code class="classname">PluginAware.apply(java.util.Map)</code></a> method, or by using the <a class="ulink" href="../dsl/org.gradle.plugin.use.PluginDependenciesSpec.html" target="_top"><code class="classname">PluginDependenciesSpec</code></a> plugins script block. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15002" class="section-anchor" href="#N15002"></a>Dynamic Project Properties</h3></div></div></div><p>Gradle executes the project's build file against the <code class="literal">Project</code> instance to configure the project. Any property or method which your script uses is delegated through to the associated <code class="literal">Project</code> object. This means, that you can use any of the methods and properties on the <code class="literal">Project</code> interface directly in your script. </p><p>For example: </p><pre class="programlisting"> defaultTasks(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'some-task'</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Delegates to Project.defaultTasks()</span> reportsDir = file(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'reports'</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// Delegates to Project.file() and the Java Plugin</span> </pre><p>You can also access the <code class="literal">Project</code> instance using the <code class="literal">project</code> property. This can make the script clearer in some cases. For example, you could use <code class="literal">project.name</code> rather than <code class="literal">name</code> to access the project's name.</p><p>A project has 5 property 'scopes', which it searches for properties. You can access these properties by name in your build file, or by calling the project's <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:property(java.lang.String)" target="_top"><code class="classname">Project.property(java.lang.String)</code></a> method. The scopes are:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">The <code class="literal">Project</code> object itself. This scope includes any property getters and setters declared by the <code class="literal">Project</code> implementation class. For example, <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:rootProject" target="_top"><code class="classname">Project.getRootProject()</code></a> is accessible as the <code class="literal">rootProject</code> property. The properties of this scope are readable or writable depending on the presence of the corresponding getter or setter method.</li><li class="listitem">The <span class="emphasis"><em>extra</em></span> properties of the project. Each project maintains a map of extra properties, which can contain any arbitrary name -&gt; value pair. Once defined, the properties of this scope are readable and writable. See <a class="link" href="">extra properties</a> for more details.</li><li class="listitem">The <span class="emphasis"><em>extensions</em></span> added to the project by the plugins. Each extension is available as a read-only property with the same name as the extension.</li><li class="listitem">The <span class="emphasis"><em>convention</em></span> properties added to the project by the plugins. A plugin can add properties and methods to a project through the project's <a class="ulink" href="../javadoc/org/gradle/api/plugins/Convention.html" target="_top"><code class="classname">Convention</code></a> object. The properties of this scope may be readable or writable, depending on the convention objects.</li><li class="listitem">The tasks of the project. A task is accessible by using its name as a property name. The properties of this scope are read-only. For example, a task called <code class="literal">compile</code> is accessible as the <code class="literal">compile</code> property.</li><li class="listitem">The extra properties and convention properties are inherited from the project's parent, recursively up to the root project. The properties of this scope are read-only.</li></ul></div><p>When reading a property, the project searches the above scopes in order, and returns the value from the first scope it finds the property in. If not found, an exception is thrown. See <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:property(java.lang.String)" target="_top"><code class="classname">Project.property(java.lang.String)</code></a> for more details.</p><p>When writing a property, the project searches the above scopes in order, and sets the property in the first scope it finds the property in. If not found, an exception is thrown. See <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:setProperty(java.lang.String, java.lang.Object)" target="_top"><code class="classname">Project.setProperty(java.lang.String, java.lang.Object)</code></a> for more details.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1506B" class="section-anchor" href="#N1506B"></a>Extra Properties</h4></div></div></div><p>All extra properties must be defined through the "ext" namespace. Once an extra property has been defined, it is available directly on the owning object (in the below case the Project, Task, and sub-projects respectively) and can be read and updated. Only the initial declaration that needs to be done via the namespace.</p><pre class="programlisting"> project.ext.prop1 = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"foo"</span> task doStuff { ext.prop2 = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"bar"</span> } subprojects { ext.${prop3} = false } </pre><p> Reading extra properties is done through the "ext" or through the owning object. </p><pre class="programlisting"> ext.isSnapshot = version.endsWith(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"-SNAPSHOT"</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">if</span> (isSnapshot) { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">// do snapshot stuff</span> } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15078" class="section-anchor" href="#N15078"></a>Dynamic Methods</h4></div></div></div><p>A project has 5 method 'scopes', which it searches for methods:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">The <code class="literal">Project</code> object itself.</li><li class="listitem">The build file. The project searches for a matching method declared in the build file.</li><li class="listitem">The <span class="emphasis"><em>extensions</em></span> added to the project by the plugins. Each extension is available as a method which takes a closure or <a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a> as a parameter.</li><li class="listitem">The <span class="emphasis"><em>convention</em></span> methods added to the project by the plugins. A plugin can add properties and method to a project through the project's <a class="ulink" href="../javadoc/org/gradle/api/plugins/Convention.html" target="_top"><code class="classname">Convention</code></a> object.</li><li class="listitem">The tasks of the project. A method is added for each task, using the name of the task as the method name and taking a single closure or <a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a> parameter. The method calls the <a class="ulink" href="../javadoc/org/gradle/api/Task.html#configure-groovy.lang.Closure-" target="_top"><code class="classname">Task.configure(groovy.lang.Closure)</code></a> method for the associated task with the provided closure. For example, if the project has a task called <code class="literal">compile</code>, then a method is added with the following signature: <code class="literal">void compile(Closure configureClosure)</code>.</li><li class="listitem">The methods of the parent project, recursively up to the root project.</li><li class="listitem">A property of the project whose value is a closure. The closure is treated as a method and called with the provided parameters. The property is located as described above.</li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N150AF" class="section-anchor" href="#N150AF"></a>Properties</h3></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N150B2"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:allprojects"><code class="literal">allprojects</code></a></td><td><p>The set containing this project and its subprojects.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:ant"><code class="literal">ant</code></a></td><td><p>The <code class="literal">AntBuilder</code> for this project. You can use this in your build file to execute ant tasks. See example below.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:artifacts"><code class="literal">artifacts</code></a></td><td><p>Returns a handler for assigning artifacts produced by the project to configurations. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:buildDir"><code class="literal">buildDir</code></a></td><td><div class="caution" title="Caution">Deprecated</div><p>The build directory of this project. The build directory is the directory which all artifacts are generated into. The default value for the build directory is <code class="literal"><span class="emphasis"><em>projectDir</em></span>/build</code></p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:buildFile"><code class="literal">buildFile</code></a></td><td><p>The build script for this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:buildscript"><code class="literal">buildscript</code></a></td><td><p>The build script handler for this project. You can use this handler to query details about the build script for this project, and manage the classpath used to compile and execute the project's build script.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:childProjects"><code class="literal">childProjects</code></a></td><td><p>The direct children of this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configurations"><code class="literal">configurations</code></a></td><td><p>The configurations of this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:convention"><code class="literal">convention</code></a></td><td><div class="caution" title="Caution">Deprecated</div><p>The <a class="ulink" href="../javadoc/org/gradle/api/plugins/Convention.html" target="_top"><code class="classname">Convention</code></a> for this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:defaultTasks"><code class="literal">defaultTasks</code></a></td><td><p>The names of the default tasks of this project. These are used when no tasks names are provided when starting the build.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:dependencies"><code class="literal">dependencies</code></a></td><td><p>The dependency handler of this project. The returned dependency handler instance can be used for adding new dependencies. For accessing already declared dependencies, the configurations can be used. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:dependencyLocking"><code class="literal">dependencyLocking</code></a></td><td><p>Provides access to configuring dependency locking</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:description"><code class="literal">description</code></a></td><td><p>The description of this project, if any.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:extensions"><code class="literal">extensions</code></a></td><td><p>Allows adding DSL extensions to the project. Useful for plugin authors.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:gradle"><code class="literal">gradle</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.invocation.Gradle.html" target="_top"><code class="classname">Gradle</code></a> invocation which this project belongs to.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:group"><code class="literal">group</code></a></td><td><p>The group of this project. Gradle always uses the <code class="literal">toString()</code> value of the group. The group defaults to the path with dots as separators.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:layout"><code class="literal">layout</code></a></td><td><p>Provides access to various important directories for this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:logger"><code class="literal">logger</code></a></td><td><p>The logger for this project. You can use this in your build file to write log messages.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:logging"><code class="literal">logging</code></a></td><td><p>The <a class="ulink" href="../javadoc/org/gradle/api/logging/LoggingManager.html" target="_top"><code class="classname">LoggingManager</code></a> which can be used to receive logging and to control the standard output/error capture for this project's build script. By default, System.out is redirected to the Gradle logging system at the QUIET log level, and System.err is redirected at the ERROR log level.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:name"><code class="literal">name</code></a></td><td><p>The name of this project. The project's name is not necessarily unique within a project hierarchy. You should use the <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:path" target="_top"><code class="classname">Project.getPath()</code></a> method for a unique identifier for the project. If the root project is unnamed and is located on a file system root it will have a randomly-generated name </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:normalization"><code class="literal">normalization</code></a></td><td><p>Provides access to configuring input normalization.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:parent"><code class="literal">parent</code></a></td><td><p>The parent project of this project, if any.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:path"><code class="literal">path</code></a></td><td><p>The path of this project. The path is the fully qualified name of the project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:pluginManager"><code class="literal">pluginManager</code></a></td><td><p>The plugin manager for this plugin aware object.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:plugins"><code class="literal">plugins</code></a></td><td><p>The container of plugins that have been applied to this object. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:project"><code class="literal">project</code></a></td><td><p>Returns this project. This method is useful in build files to explicitly access project properties and methods. For example, using <code class="literal">project.name</code> can express your intent better than using <code class="literal">name</code>. This method also allows you to access project properties from a scope where the property may be hidden, such as, for example, from a method or closure. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:projectDir"><code class="literal">projectDir</code></a></td><td><p>The directory containing the project build file.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:properties"><code class="literal">properties</code></a></td><td><p>The properties of this project. See <a class="link" href="">here</a> for details of the properties which are available for a project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:repositories"><code class="literal">repositories</code></a></td><td><p>Returns a handler to create repositories which are used for retrieving dependencies and uploading artifacts produced by the project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:resources"><code class="literal">resources</code></a></td><td><p>Provides access to resource-specific utility methods, for example factory methods that create various resources.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:rootDir"><code class="literal">rootDir</code></a></td><td><p>The root directory of this project. The root directory is the project directory of the root project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:rootProject"><code class="literal">rootProject</code></a></td><td><p>The root project for the hierarchy that this project belongs to. In the case of a single-project build, this method returns this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:state"><code class="literal">state</code></a></td><td><p>The evaluation state of this project. You can use this to access information about the evaluation of this project, such as whether it has failed.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:status"><code class="literal">status</code></a></td><td><p>The status of this project. Gradle always uses the <code class="literal">toString()</code> value of the status. The status defaults to <code class="literal">release</code>.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:subprojects"><code class="literal">subprojects</code></a></td><td><p>The set containing the subprojects of this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:tasks"><code class="literal">tasks</code></a></td><td><p>The tasks of this project.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:version"><code class="literal">version</code></a></td><td><p>The version of this project. Gradle always uses the <code class="literal">toString()</code> value of the version. The version defaults to <code class="literal">unspecified</code>.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15240" class="section-anchor" href="#N15240"></a>Properties added by the <code class="literal">application</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N1524A"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:application"><code class="literal">application</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaApplication.html" target="_top"><code class="classname">JavaApplication</code></a> added by the application plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:applicationDefaultJvmArgs"><code class="literal">applicationDefaultJvmArgs</code></a></td><td><p>Array of string arguments to pass to the JVM when running the application</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:applicationDistribution"><code class="literal">applicationDistribution</code></a></td><td><p>The specification of the contents of the distribution.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:applicationName"><code class="literal">applicationName</code></a></td><td><p>The name of the application.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:executableDir"><code class="literal">executableDir</code></a></td><td><p>Directory to place executables in</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:mainClassName"><code class="literal">mainClassName</code></a></td><td><p>The fully qualified name of the application's main class.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15291" class="section-anchor" href="#N15291"></a>Properties added by the <code class="literal">checkstyle</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N1529B"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:checkstyle"><code class="literal">checkstyle</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html" target="_top"><code class="classname">CheckstyleExtension</code></a> added by the checkstyle plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N152B5" class="section-anchor" href="#N152B5"></a>Properties added by the <code class="literal">codenarc</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N152BF"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:codenarc"><code class="literal">codenarc</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CodeNarcExtension.html" target="_top"><code class="classname">CodeNarcExtension</code></a> added by the codenarc plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N152D9" class="section-anchor" href="#N152D9"></a>Properties added by the <code class="literal">distribution</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N152E3"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:distributions"><code class="literal">distributions</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.distribution.DistributionContainer.html" target="_top"><code class="classname">DistributionContainer</code></a> added by the distribution plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N152FD" class="section-anchor" href="#N152FD"></a>Properties added by the <code class="literal">ear</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15307"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:appDirName"><code class="literal">appDirName</code></a></td><td><p>The name of the application directory, relative to the project directory. Default is "src/main/application".</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:deploymentDescriptor"><code class="literal">deploymentDescriptor</code></a></td><td><p>A custom deployment descriptor configuration. Default is an "application.xml" with sensible defaults.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:generateDeploymentDescriptor"><code class="literal">generateDeploymentDescriptor</code></a></td><td><p>Specifies if the deploymentDescriptor should be generated if it does not exist. Default is true.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:libDirName"><code class="literal">libDirName</code></a></td><td><p>The name of the library directory in the EAR file. Default is "lib".</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15337" class="section-anchor" href="#N15337"></a>Properties added by the <code class="literal">eclipse</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15341"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:eclipse"><code class="literal">eclipse</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html" target="_top"><code class="classname">EclipseModel</code></a> added by the eclipse plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1535B" class="section-anchor" href="#N1535B"></a>Properties added by the <code class="literal">idea</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15365"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:idea"><code class="literal">idea</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html" target="_top"><code class="classname">IdeaModel</code></a> added by the idea plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1537F" class="section-anchor" href="#N1537F"></a>Properties added by the <code class="literal">jacoco</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15389"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:jacoco"><code class="literal">jacoco</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.testing.jacoco.plugins.JacocoPluginExtension.html" target="_top"><code class="classname">JacocoPluginExtension</code></a> added by the jacoco plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N153A3" class="section-anchor" href="#N153A3"></a>Properties added by the <code class="literal">java</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N153AD"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:archivesBaseName"><code class="literal">archivesBaseName</code></a></td><td><p>The base name to use for archive files.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:base"><code class="literal">base</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.BasePluginExtension.html" target="_top"><code class="classname">BasePluginExtension</code></a> added by the java plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:distsDirName"><code class="literal">distsDirName</code></a></td><td><p>The name for the distributions directory. This in interpreted relative to the project' build directory.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:distsDirectory"><code class="literal">distsDirectory</code></a></td><td><p>The directory to generate TAR and ZIP archives into.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:docsDir"><code class="literal">docsDir</code></a></td><td><p>Returns a file pointing to the root directory supposed to be used for all docs.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:docsDirName"><code class="literal">docsDirName</code></a></td><td><p>The name of the docs directory. Can be a name or a path relative to the build dir.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:java"><code class="literal">java</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaPluginExtension.html" target="_top"><code class="classname">JavaPluginExtension</code></a> added by the java plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:libsDirName"><code class="literal">libsDirName</code></a></td><td><p>The name for the libs directory. This in interpreted relative to the project' build directory.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:libsDirectory"><code class="literal">libsDirectory</code></a></td><td><p>The directory to generate JAR and WAR archives into.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:reporting"><code class="literal">reporting</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.reporting.ReportingExtension.html" target="_top"><code class="classname">ReportingExtension</code></a> added by the java plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:sourceCompatibility"><code class="literal">sourceCompatibility</code></a></td><td><p>The source compatibility used for compiling Java sources.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:sourceSets"><code class="literal">sourceSets</code></a></td><td><p>The source sets container.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:targetCompatibility"><code class="literal">targetCompatibility</code></a></td><td><p>The target compatibility used for compiling Java sources.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:testReportDir"><code class="literal">testReportDir</code></a></td><td><p>Returns a file pointing to the root directory to be used for reports.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:testReportDirName"><code class="literal">testReportDirName</code></a></td><td><p>The name of the test reports directory. Can be a name or a path relative to <a class="ulink" href="../javadoc/org/gradle/api/reporting/ReportingExtension.html#getBaseDir--" target="_top"><code class="classname">ReportingExtension.getBaseDir()</code></a>.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:testResultsDir"><code class="literal">testResultsDir</code></a></td><td><p>Returns a file pointing to the root directory of the test results.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:testResultsDirName"><code class="literal">testResultsDirName</code></a></td><td><p>The name of the test results directory. Can be a name or a path relative to the build dir.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15466" class="section-anchor" href="#N15466"></a>Properties added by the <code class="literal">pmd</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15470"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:pmd"><code class="literal">pmd</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.PmdExtension.html" target="_top"><code class="classname">PmdExtension</code></a> added by the pmd plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1548A" class="section-anchor" href="#N1548A"></a>Properties added by the <code class="literal">project-report</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15494"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:projectReportDir"><code class="literal">projectReportDir</code></a></td><td><p>The directory to generate the project reports into.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:projectReportDirName"><code class="literal">projectReportDirName</code></a></td><td><p>The name of the directory to generate the project reports into, relative to the project's reports dir.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N154B2" class="section-anchor" href="#N154B2"></a>Properties added by the <code class="literal">publishing</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N154BC"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:publishing"><code class="literal">publishing</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.api.publish.PublishingExtension.html" target="_top"><code class="classname">PublishingExtension</code></a> added by the publishing plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N154D6" class="section-anchor" href="#N154D6"></a>Properties added by the <code class="literal">signing</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N154E0"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:signing"><code class="literal">signing</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.plugins.signing.SigningExtension.html" target="_top"><code class="classname">SigningExtension</code></a> added by the signing plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N154FA" class="section-anchor" href="#N154FA"></a>Properties added by the <code class="literal">visual-studio</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15504"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:visualStudio"><code class="literal">visualStudio</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.ide.visualstudio.VisualStudioRootExtension.html" target="_top"><code class="classname">VisualStudioRootExtension</code></a> added by the visual-studio plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1551E" class="section-anchor" href="#N1551E"></a>Properties added by the <code class="literal">war</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15528"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:webAppDir"><code class="literal">webAppDir</code></a></td><td><p>The web application directory.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:webAppDirName"><code class="literal">webAppDirName</code></a></td><td><p>The name of the web application directory, relative to the project directory.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15546" class="section-anchor" href="#N15546"></a>Properties added by the <code class="literal">xcode</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15550"><thead><tr><td>Property</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:xcode"><code class="literal">xcode</code></a></td><td><p>The <a class="ulink" href="../dsl/org.gradle.ide.xcode.XcodeRootExtension.html" target="_top"><code class="classname">XcodeRootExtension</code></a> added by the xcode plugin.</p></td></tr></table></div></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1556A" class="section-anchor" href="#N1556A"></a>Methods</h3></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N1556D"><thead><tr><td>Method</td><td>Description</td></tr></thead><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:absoluteProjectPath(java.lang.String)">absoluteProjectPath</a>(path)</code></td><td><p>Converts a name to an absolute project path, resolving names relative to this project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:afterEvaluate(groovy.lang.Closure)">afterEvaluate</a>(closure)</code></td><td><p>Adds a closure to call immediately after this project is evaluated.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:afterEvaluate(org.gradle.api.Action)">afterEvaluate</a>(action)</code></td><td><p>Adds an action to call immediately after this project is evaluated.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:allprojects(org.gradle.api.Action)">allprojects</a>(action)</code></td><td><p>Configures this project and each of its sub-projects.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:ant(org.gradle.api.Action)">ant</a>(configureAction)</code></td><td><p>Executes the given action against the <code class="literal">AntBuilder</code> for this project. You can use this in your build file to execute ant tasks. See example in javadoc for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:ant" target="_top"><code class="classname">Project.getAnt()</code></a></p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:apply(groovy.lang.Closure)">apply</a>(closure)</code></td><td><p>Applies zero or more plugins or scripts. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:apply(java.util.Map)">apply</a>(options)</code></td><td><p>Applies a plugin or script, using the given options provided as a map. Does nothing if the plugin has already been applied. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:apply(org.gradle.api.Action)">apply</a>(action)</code></td><td><p>Applies zero or more plugins or scripts. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:artifacts(org.gradle.api.Action)">artifacts</a>(configureAction)</code></td><td><p>Configures the published artifacts for this project. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:beforeEvaluate(groovy.lang.Closure)">beforeEvaluate</a>(closure)</code></td><td><p>Adds a closure to call immediately before this project is evaluated.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:beforeEvaluate(org.gradle.api.Action)">beforeEvaluate</a>(action)</code></td><td><p>Adds an action to call immediately before this project is evaluated.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configure(java.lang.Iterable, groovy.lang.Closure)">configure</a>(objects, configureClosure)</code></td><td><p>Configures a collection of objects via a closure. This is equivalent to calling <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:configure(java.lang.Object, groovy.lang.Closure)" target="_top"><code class="classname">Project.configure(java.lang.Object, groovy.lang.Closure)</code></a> for each of the given objects.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configure(java.lang.Iterable, org.gradle.api.Action)">configure</a>(objects, configureAction)</code></td><td><p>Configures a collection of objects via an action.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configure(java.lang.Object, groovy.lang.Closure)">configure</a>(object, configureClosure)</code></td><td><p>Configures an object via a closure, with the closure's delegate set to the supplied object. This way you don't have to specify the context of a configuration statement multiple times. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:container(java.lang.Class)">container</a>(type)</code></td><td><p>Creates a container for managing named objects of the specified type. The specified type must have a public constructor which takes the name as a String parameter.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:container(java.lang.Class, groovy.lang.Closure)">container</a>(type, factoryClosure)</code></td><td><p>Creates a container for managing named objects of the specified type. The given closure is used to create object instances. The name of the instance to be created is passed as a parameter to the closure.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:container(java.lang.Class, org.gradle.api.NamedDomainObjectFactory)">container</a>(type, factory)</code></td><td><p>Creates a container for managing named objects of the specified type. The given factory is used to create object instances.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:copy(groovy.lang.Closure)">copy</a>(closure)</code></td><td><p>Copies the specified files. The given closure is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a>, which is then used to copy the files. Example: </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:copy(org.gradle.api.Action)">copy</a>(action)</code></td><td><p>Copies the specified files. The given action is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a>, which is then used to copy the files.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:copySpec()">copySpec</a>()</code></td><td><p>Creates a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> which can later be used to copy files or create an archive.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:copySpec(groovy.lang.Closure)">copySpec</a>(closure)</code></td><td><p>Creates a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> which can later be used to copy files or create an archive. The given closure is used to configure the <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> before it is returned by this method. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:copySpec(org.gradle.api.Action)">copySpec</a>(action)</code></td><td><p>Creates a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> which can later be used to copy files or create an archive. The given action is used to configure the <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> before it is returned by this method.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:defaultTasks(java.lang.String[])">defaultTasks</a>(defaultTasks)</code></td><td><p>Sets the names of the default tasks of this project. These are used when no tasks names are provided when starting the build.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:delete(java.lang.Object[])">delete</a>(paths)</code></td><td><p>Deletes files and directories. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:delete(org.gradle.api.Action)">delete</a>(action)</code></td><td><p>Deletes the specified files. The given action is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/DeleteSpec.html" target="_top"><code class="classname">DeleteSpec</code></a>, which is then used to delete the files. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:dependencyLocking(org.gradle.api.Action)">dependencyLocking</a>(configuration)</code></td><td><p>Configures dependency locking</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:evaluationDependsOn(java.lang.String)">evaluationDependsOn</a>(path)</code></td><td><p>Declares that this project has an evaluation dependency on the project with the given path.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:exec(groovy.lang.Closure)">exec</a>(closure)</code></td><td><div class="caution" title="Caution">Deprecated</div><p>Executes an external command. The closure configures a <a class="ulink" href="../javadoc/org/gradle/process/ExecSpec.html" target="_top"><code class="classname">ExecSpec</code></a>.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:exec(org.gradle.api.Action)">exec</a>(action)</code></td><td><div class="caution" title="Caution">Deprecated</div><p>Executes an external command. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)">file</a>(path)</code></td><td><p>Resolves a file path relative to the project directory of this project. This method converts the supplied path based on its type:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object, org.gradle.api.PathValidation)">file</a>(path, validation)</code></td><td><p>Resolves a file path relative to the project directory of this project and validates it using the given scheme. See <a class="ulink" href="../javadoc/org/gradle/api/PathValidation.html" target="_top"><code class="classname">PathValidation</code></a> for the list of possible validations.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:fileTree(java.lang.Object)">fileTree</a>(baseDir)</code></td><td><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the given base directory. The given baseDir path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:fileTree(java.lang.Object, groovy.lang.Closure)">fileTree</a>(baseDir, configureClosure)</code></td><td><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the given base directory. The given baseDir path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. The closure will be used to configure the new file tree. The file tree is passed to the closure as its delegate. Example:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:fileTree(java.lang.Object, org.gradle.api.Action)">fileTree</a>(baseDir, configureAction)</code></td><td><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the given base directory. The given baseDir path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. The action will be used to configure the new file tree. Example:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:fileTree(java.util.Map)">fileTree</a>(args)</code></td><td><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the provided map of arguments. The map will be applied as properties on the new file tree. Example:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object, groovy.lang.Closure)">files</a>(paths, configureClosure)</code></td><td><p>Creates a new <code class="literal">ConfigurableFileCollection</code> using the given paths. The paths are evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object[])" target="_top"><code class="classname">Project.files(java.lang.Object[])</code></a>. The file collection is configured using the given closure. The file collection is passed to the closure as its delegate. Example:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object, org.gradle.api.Action)">files</a>(paths, configureAction)</code></td><td><p>Creates a new <code class="literal">ConfigurableFileCollection</code> using the given paths. The paths are evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object[])" target="_top"><code class="classname">Project.files(java.lang.Object[])</code></a>. The file collection is configured using the given action. Example:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object[])">files</a>(paths)</code></td><td><p>Returns a <a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileCollection.html" target="_top"><code class="classname">ConfigurableFileCollection</code></a> containing the given files. You can pass any of the following types to this method:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:findProject(java.lang.String)">findProject</a>(path)</code></td><td><p>Locates a project by path. If the path is relative, it is interpreted relative to this project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:findProperty(java.lang.String)">findProperty</a>(propertyName)</code></td><td><p>Returns the value of the given property or null if not found. This method locates a property as follows:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:getAllTasks(boolean)">getAllTasks</a>(recursive)</code></td><td><p>Returns a map of the tasks contained in this project, and optionally its subprojects.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:getTasksByName(java.lang.String, boolean)">getTasksByName</a>(name, recursive)</code></td><td><p>Returns the set of tasks with the given name contained in this project, and optionally its subprojects. <span class="emphasis"><em>NOTE:</em></span> This is an expensive operation since it requires all projects to be configured. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:hasProperty(java.lang.String)">hasProperty</a>(propertyName)</code></td><td><p>Determines if this project has the given property. See <a class="link" href="">here</a> for details of the properties which are available for a project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:javaexec(groovy.lang.Closure)">javaexec</a>(closure)</code></td><td><div class="caution" title="Caution">Deprecated</div><p>Executes a Java main class. The closure configures a <a class="ulink" href="../javadoc/org/gradle/process/JavaExecSpec.html" target="_top"><code class="classname">JavaExecSpec</code></a>.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:javaexec(org.gradle.api.Action)">javaexec</a>(action)</code></td><td><div class="caution" title="Caution">Deprecated</div><p>Executes an external Java process. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:mkdir(java.lang.Object)">mkdir</a>(path)</code></td><td><p>Creates a directory and returns a file pointing to it.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:normalization(org.gradle.api.Action)">normalization</a>(configuration)</code></td><td><p>Configures input normalization.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:project(java.lang.String)">project</a>(path)</code></td><td><p>Locates a project by path. If the path is relative, it is interpreted relative to this project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:project(java.lang.String, groovy.lang.Closure)">project</a>(path, configureClosure)</code></td><td><p>Locates a project by path and configures it using the given closure. If the path is relative, it is interpreted relative to this project. The target project is passed to the closure as the closure's delegate.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:project(java.lang.String, org.gradle.api.Action)">project</a>(path, configureAction)</code></td><td><p>Locates a project by path and configures it using the given action. If the path is relative, it is interpreted relative to this project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:property(java.lang.String)">property</a>(propertyName)</code></td><td><p>Returns the value of the given property. This method locates a property as follows:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:relativePath(java.lang.Object)">relativePath</a>(path)</code></td><td><p>Returns the relative path from the project directory to the given path. The given path object is (logically) resolved as described for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>, from which a relative path is calculated.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:relativeProjectPath(java.lang.String)">relativeProjectPath</a>(path)</code></td><td><p>Converts a name to a project path relative to this project.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:setProperty(java.lang.String, java.lang.Object)">setProperty</a>(name, value)</code></td><td><p>Sets a property of this project. This method searches for a property with the given name in the following locations, and sets the property on the first location where it finds the property.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:subprojects(org.gradle.api.Action)">subprojects</a>(action)</code></td><td><p>Configures the sub-projects of this project</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:sync(org.gradle.api.Action)">sync</a>(action)</code></td><td><p>Synchronizes the contents of a destination directory with some source directories and files. The given action is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/SyncSpec.html" target="_top"><code class="classname">SyncSpec</code></a>, which is then used to synchronize the files. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:tarTree(java.lang.Object)">tarTree</a>(tarPath)</code></td><td><p>Creates a new <code class="literal">FileTree</code> which contains the contents of the given TAR file. The given tarPath path can be: </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:task(java.lang.String)">task</a>(name)</code></td><td><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Calling this method is equivalent to calling <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:task(java.util.Map, java.lang.String)" target="_top"><code class="classname">Project.task(java.util.Map, java.lang.String)</code></a> with an empty options map.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:task(java.lang.String, groovy.lang.Closure)">task</a>(name, configureClosure)</code></td><td><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Before the task is returned, the given closure is executed to configure the task.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:task(java.lang.String, org.gradle.api.Action)">task</a>(name, configureAction)</code></td><td><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Before the task is returned, the given action is executed to configure the task.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:task(java.util.Map, java.lang.String)">task</a>(args, name)</code></td><td><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. A map of creation options can be passed to this method to control how the task is created. The following options are available:</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:task(java.util.Map, java.lang.String, groovy.lang.Closure)">task</a>(args, name, configureClosure)</code></td><td><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Before the task is returned, the given closure is executed to configure the task. A map of creation options can be passed to this method to control how the task is created. See <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:task(java.util.Map, java.lang.String)" target="_top"><code class="classname">Project.task(java.util.Map, java.lang.String)</code></a> for the available options.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:uri(java.lang.Object)">uri</a>(path)</code></td><td><p>Resolves a file path to a URI, relative to the project directory of this project. Evaluates the provided path object as described for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>, with the exception that any URI scheme is supported, not just 'file:' URIs.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:zipTree(java.lang.Object)">zipTree</a>(zipPath)</code></td><td><p>Creates a new <code class="literal">FileTree</code> which contains the contents of the given ZIP file. The given zipPath path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. You can combine this method with the <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:copy(org.gradle.api.Action)" target="_top"><code class="classname">Project.copy(org.gradle.api.Action)</code></a> method to unzip a ZIP file.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N158BA" class="section-anchor" href="#N158BA"></a>Methods added by the <code class="literal">ear</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N158C4"><thead><tr><td>Method</td><td>Description</td></tr></thead><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:appDirName(java.lang.String)">appDirName</a>(appDirName)</code></td><td><p>Allows changing the application directory. Default is "src/main/application".</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:deploymentDescriptor(org.gradle.api.Action)">deploymentDescriptor</a>(configureAction)</code></td><td><p>Configures the deployment descriptor for this EAR archive. </p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:libDirName(java.lang.String)">libDirName</a>(libDirName)</code></td><td><p>Allows changing the library directory in the EAR file. Default is "lib".</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N158EE" class="section-anchor" href="#N158EE"></a>Methods added by the <code class="literal">java</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N158F8"><thead><tr><td>Method</td><td>Description</td></tr></thead><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:manifest()">manifest</a>()</code></td><td><p>Creates a new instance of a <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:manifest(groovy.lang.Closure)">manifest</a>(closure)</code></td><td><p>Creates and configures a new instance of a <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>. The given closure configures the new manifest instance before it is returned.</p></td></tr><tr><td><code class="literal"><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:manifest(org.gradle.api.Action)">manifest</a>(action)</code></td><td><p>Creates and configures a new instance of a <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>.</p></td></tr></table></div></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15931" class="section-anchor" href="#N15931"></a>Script blocks</h3></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15934"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:allprojects(groovy.lang.Closure)"><code class="literal">allprojects</code></a></td><td><p>Configures this project and each of its sub-projects.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:ant(groovy.lang.Closure)"><code class="literal">ant</code></a></td><td><p>Executes the given closure against the <code class="literal">AntBuilder</code> for this project. You can use this in your build file to execute ant tasks. The <code class="literal">AntBuild</code> is passed to the closure as the closure's delegate. See example in javadoc for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:ant" target="_top"><code class="classname">Project.getAnt()</code></a></p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:artifacts(groovy.lang.Closure)"><code class="literal">artifacts</code></a></td><td><p>Configures the published artifacts for this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:buildscript(groovy.lang.Closure)"><code class="literal">buildscript</code></a></td><td><p>Configures the build script classpath for this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configurations(groovy.lang.Closure)"><code class="literal">configurations</code></a></td><td><p>Configures the dependency configurations for this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:dependencies(groovy.lang.Closure)"><code class="literal">dependencies</code></a></td><td><p>Configures the dependencies for this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:repositories(groovy.lang.Closure)"><code class="literal">repositories</code></a></td><td><p>Configures the repositories for this project. </p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:subprojects(groovy.lang.Closure)"><code class="literal">subprojects</code></a></td><td><p>Configures the sub-projects of this project.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N1598F" class="section-anchor" href="#N1598F"></a>Script blocks added by the <code class="literal">application</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15999"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:application(groovy.lang.Closure)"><code class="literal">application</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaApplication.html" target="_top"><code class="classname">JavaApplication</code></a> added by the application plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N159B3" class="section-anchor" href="#N159B3"></a>Script blocks added by the <code class="literal">checkstyle</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N159BD"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:checkstyle(groovy.lang.Closure)"><code class="literal">checkstyle</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html" target="_top"><code class="classname">CheckstyleExtension</code></a> added by the checkstyle plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N159D7" class="section-anchor" href="#N159D7"></a>Script blocks added by the <code class="literal">codenarc</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N159E1"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:codenarc(groovy.lang.Closure)"><code class="literal">codenarc</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CodeNarcExtension.html" target="_top"><code class="classname">CodeNarcExtension</code></a> added by the codenarc plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N159FB" class="section-anchor" href="#N159FB"></a>Script blocks added by the <code class="literal">distribution</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15A05"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:distributions(groovy.lang.Closure)"><code class="literal">distributions</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.distribution.DistributionContainer.html" target="_top"><code class="classname">DistributionContainer</code></a> added by the distribution plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15A1F" class="section-anchor" href="#N15A1F"></a>Script blocks added by the <code class="literal">ear</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15A29"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:deploymentDescriptor(groovy.lang.Closure)"><code class="literal">deploymentDescriptor</code></a></td><td><p>Configures the deployment descriptor for this EAR archive. </p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15A3E" class="section-anchor" href="#N15A3E"></a>Script blocks added by the <code class="literal">eclipse</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15A48"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:eclipse(groovy.lang.Closure)"><code class="literal">eclipse</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html" target="_top"><code class="classname">EclipseModel</code></a> added by the eclipse plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15A62" class="section-anchor" href="#N15A62"></a>Script blocks added by the <code class="literal">idea</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15A6C"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:idea(groovy.lang.Closure)"><code class="literal">idea</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html" target="_top"><code class="classname">IdeaModel</code></a> added by the idea plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15A86" class="section-anchor" href="#N15A86"></a>Script blocks added by the <code class="literal">jacoco</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15A90"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:jacoco(groovy.lang.Closure)"><code class="literal">jacoco</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.testing.jacoco.plugins.JacocoPluginExtension.html" target="_top"><code class="classname">JacocoPluginExtension</code></a> added by the jacoco plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15AAA" class="section-anchor" href="#N15AAA"></a>Script blocks added by the <code class="literal">java</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15AB4"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:base(groovy.lang.Closure)"><code class="literal">base</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.BasePluginExtension.html" target="_top"><code class="classname">BasePluginExtension</code></a> added by the java plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:java(groovy.lang.Closure)"><code class="literal">java</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaPluginExtension.html" target="_top"><code class="classname">JavaPluginExtension</code></a> added by the java plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:reporting(groovy.lang.Closure)"><code class="literal">reporting</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.reporting.ReportingExtension.html" target="_top"><code class="classname">ReportingExtension</code></a> added by the java plugin.</p></td></tr><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:sourceSets(groovy.lang.Closure)"><code class="literal">sourceSets</code></a></td><td><p>Configures the source sets of this project. </p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15AF3" class="section-anchor" href="#N15AF3"></a>Script blocks added by the <code class="literal">pmd</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15AFD"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:pmd(groovy.lang.Closure)"><code class="literal">pmd</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.PmdExtension.html" target="_top"><code class="classname">PmdExtension</code></a> added by the pmd plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15B17" class="section-anchor" href="#N15B17"></a>Script blocks added by the <code class="literal">publishing</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15B21"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:publishing(groovy.lang.Closure)"><code class="literal">publishing</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.publish.PublishingExtension.html" target="_top"><code class="classname">PublishingExtension</code></a> added by the publishing plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15B3B" class="section-anchor" href="#N15B3B"></a>Script blocks added by the <code class="literal">signing</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15B45"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:signing(groovy.lang.Closure)"><code class="literal">signing</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.plugins.signing.SigningExtension.html" target="_top"><code class="classname">SigningExtension</code></a> added by the signing plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15B5F" class="section-anchor" href="#N15B5F"></a>Script blocks added by the <code class="literal">visual-studio</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15B69"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:visualStudio(groovy.lang.Closure)"><code class="literal">visualStudio</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.ide.visualstudio.VisualStudioRootExtension.html" target="_top"><code class="classname">VisualStudioRootExtension</code></a> added by the visual-studio plugin.</p></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15B83" class="section-anchor" href="#N15B83"></a>Script blocks added by the <code class="literal">xcode</code> plugin</h4></div></div></div><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N15B8D"><thead><tr><td>Block</td><td>Description</td></tr></thead><tr><td><a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:xcode(groovy.lang.Closure)"><code class="literal">xcode</code></a></td><td><p>Configures the <a class="ulink" href="../dsl/org.gradle.ide.xcode.XcodeRootExtension.html" target="_top"><code class="classname">XcodeRootExtension</code></a> added by the xcode plugin.</p></td></tr></table></div></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N15BA7" class="section-anchor" href="#N15BA7"></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.Project:allprojects" class="section-anchor" href="#org.gradle.api.Project:allprojects"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" target="_top"><code class="classname">Set</code></a>&lt;<a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> <code class="literal">allprojects</code> (read-only)</h4></div></div></div><p>The set containing this project and its subprojects.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:ant" class="section-anchor" href="#org.gradle.api.Project:ant"></a><a class="ulink" href="../javadoc/org/gradle/api/AntBuilder.html" target="_top"><code class="classname">AntBuilder</code></a> <code class="literal">ant</code> (read-only)</h4></div></div></div><p>The <code class="literal">AntBuilder</code> for this project. You can use this in your build file to execute ant tasks. See example below.</p><pre class="programlisting"> task printChecksum { doLast { ant { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//using ant checksum task to store the file checksum in the checksumOut ant property</span> checksum(property: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'checksumOut'</span>, file: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someFile.txt'</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//we can refer to the ant property created by checksum task:</span> println <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"The checksum is: "</span> + checksumOut } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//we can refer to the ant property later as well:</span> println <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"I just love to print checksums: "</span> + ant.checksumOut } } </pre><p> Consider following example of ant target: </p><pre class="programlisting"> &lt;target name=<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'printChecksum'</span>&gt; &lt;checksum property=<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'checksumOut'</span>&gt; &lt;fileset dir=<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'.'</span>&gt; &lt;include name=<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'agile.txt'</span>/&gt; &lt;/fileset&gt; &lt;/checksum&gt; &lt;echo&gt;The checksum is: ${checksumOut}&lt;/echo&gt; &lt;/target&gt; </pre><p> Here's how it would look like in gradle. Observe how the ant XML is represented in groovy by the ant builder </p><pre class="programlisting"> task printChecksum { doLast { ant { checksum(property: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'checksumOut'</span>) { fileset(dir: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'.'</span>) { include name: <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'agile1.txt'</span> } } } logger.lifecycle(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"The checksum is $ant.checksumOut"</span>) } } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:artifacts" class="section-anchor" href="#org.gradle.api.Project:artifacts"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a> <code class="literal">artifacts</code> (read-only)</h4></div></div></div><p>Returns a handler for assigning artifacts produced by the project to configurations. </p><p> Examples: See docs for <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a></p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:buildDir" class="section-anchor" href="#org.gradle.api.Project:buildDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">buildDir</code></h4></div></div></div><div class="caution" title="Caution"><p>Note: This property 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>The build directory of this project. The build directory is the directory which all artifacts are generated into. The default value for the build directory is <code class="literal"><span class="emphasis"><em>projectDir</em></span>/build</code></p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:buildFile" class="section-anchor" href="#org.gradle.api.Project:buildFile"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">buildFile</code> (read-only)</h4></div></div></div><p>The build script for this project. </p><p> If the file exists, it will be evaluated against this project when this project is configured.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:buildscript" class="section-anchor" href="#org.gradle.api.Project:buildscript"></a><a class="ulink" href="../javadoc/org/gradle/api/initialization/dsl/ScriptHandler.html" target="_top"><code class="classname">ScriptHandler</code></a> <code class="literal">buildscript</code> (read-only)</h4></div></div></div><p>The build script handler for this project. You can use this handler to query details about the build script for this project, and manage the classpath used to compile and execute the project's build script.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:childProjects" class="section-anchor" href="#org.gradle.api.Project:childProjects"></a><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>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> <code class="literal">childProjects</code> (read-only)</h4></div></div></div><p>The direct children of 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.Project:configurations" class="section-anchor" href="#org.gradle.api.Project:configurations"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a> <code class="literal">configurations</code> (read-only)</h4></div></div></div><p>The configurations of this project. </p><p> Examples: See docs for <a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a></p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:convention" class="section-anchor" href="#org.gradle.api.Project:convention"></a><a class="ulink" href="../javadoc/org/gradle/api/plugins/Convention.html" target="_top"><code class="classname">Convention</code></a> <code class="literal">convention</code> (read-only)</h4></div></div></div><div class="caution" title="Caution"><p>Note: This property 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>The <a class="ulink" href="../javadoc/org/gradle/api/plugins/Convention.html" target="_top"><code class="classname">Convention</code></a> for this project.</p><p>You can access this property in your build file using <code class="literal">convention</code>. You can also access the properties and methods of the convention object as if they were properties and methods of this project. See <a class="link" href="">here</a> for more details</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:defaultTasks" class="section-anchor" href="#org.gradle.api.Project:defaultTasks"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" target="_top"><code class="classname">List</code></a>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>&gt;</code> <code class="literal">defaultTasks</code></h4></div></div></div><p>The names of the default tasks of this project. These are used when no tasks names are provided when starting the build.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:dependencies" class="section-anchor" href="#org.gradle.api.Project:dependencies"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a> <code class="literal">dependencies</code> (read-only)</h4></div></div></div><p>The dependency handler of this project. The returned dependency handler instance can be used for adding new dependencies. For accessing already declared dependencies, the configurations can be used. </p><p> Examples: See docs for <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a></p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:dependencyLocking" class="section-anchor" href="#org.gradle.api.Project:dependencyLocking"></a><a class="ulink" href="../javadoc/org/gradle/api/artifacts/dsl/DependencyLockingHandler.html" target="_top"><code class="classname">DependencyLockingHandler</code></a> <code class="literal">dependencyLocking</code> (read-only)</h4></div></div></div><p>Provides access to configuring dependency locking</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:description" class="section-anchor" href="#org.gradle.api.Project:description"></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 class="literal">description</code></h4></div></div></div><p>The description of this project, if any.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:extensions" class="section-anchor" href="#org.gradle.api.Project: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>Allows adding DSL extensions to the project. Useful for plugin authors.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:gradle" class="section-anchor" href="#org.gradle.api.Project:gradle"></a><a class="ulink" href="../dsl/org.gradle.api.invocation.Gradle.html" target="_top"><code class="classname">Gradle</code></a> <code class="literal">gradle</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.invocation.Gradle.html" target="_top"><code class="classname">Gradle</code></a> invocation which this project belongs to.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:group" class="section-anchor" href="#org.gradle.api.Project:group"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> <code class="literal">group</code></h4></div></div></div><p>The group of this project. Gradle always uses the <code class="literal">toString()</code> value of the group. The group defaults to the path with dots as separators.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:layout" class="section-anchor" href="#org.gradle.api.Project:layout"></a><a class="ulink" href="../dsl/org.gradle.api.file.ProjectLayout.html" target="_top"><code class="classname">ProjectLayout</code></a> <code class="literal">layout</code> (read-only)</h4></div></div></div><p>Provides access to various important directories 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.Project:logger" class="section-anchor" href="#org.gradle.api.Project:logger"></a><a class="ulink" href="../javadoc/org/gradle/api/logging/Logger.html" target="_top"><code class="classname">Logger</code></a> <code class="literal">logger</code> (read-only)</h4></div></div></div><p>The logger for this project. You can use this in your build file to write log messages.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:logging" class="section-anchor" href="#org.gradle.api.Project:logging"></a><a class="ulink" href="../javadoc/org/gradle/api/logging/LoggingManager.html" target="_top"><code class="classname">LoggingManager</code></a> <code class="literal">logging</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../javadoc/org/gradle/api/logging/LoggingManager.html" target="_top"><code class="classname">LoggingManager</code></a> which can be used to receive logging and to control the standard output/error capture for this project's build script. By default, System.out is redirected to the Gradle logging system at the QUIET log level, and System.err is redirected at the ERROR log level.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:name" class="section-anchor" href="#org.gradle.api.Project:name"></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 class="literal">name</code> (read-only)</h4></div></div></div><p>The name of this project. The project's name is not necessarily unique within a project hierarchy. You should use the <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:path" target="_top"><code class="classname">Project.getPath()</code></a> method for a unique identifier for the project. If the root project is unnamed and is located on a file system root it will have a randomly-generated name </p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:normalization" class="section-anchor" href="#org.gradle.api.Project:normalization"></a><a class="ulink" href="../dsl/org.gradle.normalization.InputNormalizationHandler.html" target="_top"><code class="classname">InputNormalizationHandler</code></a> <code class="literal">normalization</code> (read-only)</h4></div></div></div><p>Provides access to configuring input normalization.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:parent" class="section-anchor" href="#org.gradle.api.Project:parent"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">parent</code> (read-only)</h4></div></div></div><p>The parent project of this project, if any.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:path" class="section-anchor" href="#org.gradle.api.Project:path"></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 class="literal">path</code> (read-only)</h4></div></div></div><p>The path of this project. The path is the fully qualified name of the 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.Project:pluginManager" class="section-anchor" href="#org.gradle.api.Project:pluginManager"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.PluginManager.html" target="_top"><code class="classname">PluginManager</code></a> <code class="literal">pluginManager</code> (read-only)</h4></div></div></div><p>The plugin manager for this plugin aware object.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:plugins" class="section-anchor" href="#org.gradle.api.Project:plugins"></a><a class="ulink" href="../javadoc/org/gradle/api/plugins/PluginContainer.html" target="_top"><code class="classname">PluginContainer</code></a> <code class="literal">plugins</code> (read-only)</h4></div></div></div><p>The container of plugins that have been applied to this object. </p><p> While not deprecated, it is preferred to use the methods of this interface or the <a class="ulink" href="../dsl/org.gradle.api.plugins.PluginAware.html#org.gradle.api.plugins.PluginAware:pluginManager" target="_top"><code class="classname">PluginAware.getPluginManager()</code></a> than use the plugin container. </p><p> Use one of the 'apply' methods on this interface or on the <a class="ulink" href="../dsl/org.gradle.api.plugins.PluginAware.html#org.gradle.api.plugins.PluginAware:pluginManager" target="_top"><code class="classname">PluginAware.getPluginManager()</code></a> to apply plugins instead of applying via the plugin container. </p><p> Use <a class="ulink" href="../dsl/org.gradle.api.plugins.PluginManager.html#org.gradle.api.plugins.PluginManager:hasPlugin(java.lang.String)" target="_top"><code class="classname">PluginManager.hasPlugin(java.lang.String)</code></a> or similar to query for the application of plugins instead of doing so via the plugin container.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:project" class="section-anchor" href="#org.gradle.api.Project:project"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">project</code> (read-only)</h4></div></div></div><p>Returns this project. This method is useful in build files to explicitly access project properties and methods. For example, using <code class="literal">project.name</code> can express your intent better than using <code class="literal">name</code>. This method also allows you to access project properties from a scope where the property may be hidden, such as, for example, from a method or 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.Project:projectDir" class="section-anchor" href="#org.gradle.api.Project:projectDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">projectDir</code> (read-only)</h4></div></div></div><p>The directory containing the project build file.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:properties" class="section-anchor" href="#org.gradle.api.Project:properties"></a><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>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, ?&gt;</code> <code class="literal">properties</code> (read-only)</h4></div></div></div><p>The properties of this project. See <a class="link" href="">here</a> for details of the properties which are available for 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.Project:repositories" class="section-anchor" href="#org.gradle.api.Project:repositories"></a><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html" target="_top"><code class="classname">RepositoryHandler</code></a> <code class="literal">repositories</code> (read-only)</h4></div></div></div><p>Returns a handler to create repositories which are used for retrieving dependencies and uploading artifacts produced by the 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.Project:resources" class="section-anchor" href="#org.gradle.api.Project:resources"></a><a class="ulink" href="../dsl/org.gradle.api.resources.ResourceHandler.html" target="_top"><code class="classname">ResourceHandler</code></a> <code class="literal">resources</code> (read-only)</h4></div></div></div><p>Provides access to resource-specific utility methods, for example factory methods that create various resources.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:rootDir" class="section-anchor" href="#org.gradle.api.Project:rootDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">rootDir</code> (read-only)</h4></div></div></div><p>The root directory of this project. The root directory is the project directory of the root 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.Project:rootProject" class="section-anchor" href="#org.gradle.api.Project:rootProject"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">rootProject</code> (read-only)</h4></div></div></div><p>The root project for the hierarchy that this project belongs to. In the case of a single-project build, this method returns 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.Project:state" class="section-anchor" href="#org.gradle.api.Project:state"></a><a class="ulink" href="../javadoc/org/gradle/api/ProjectState.html" target="_top"><code class="classname">ProjectState</code></a> <code class="literal">state</code> (read-only)</h4></div></div></div><p>The evaluation state of this project. You can use this to access information about the evaluation of this project, such as whether it has failed.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:status" class="section-anchor" href="#org.gradle.api.Project:status"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> <code class="literal">status</code></h4></div></div></div><p>The status of this project. Gradle always uses the <code class="literal">toString()</code> value of the status. The status defaults to <code class="literal">release</code>.</p><p>The status of the project is only relevant, if you upload libraries together with a module descriptor. The status specified here, will be part of this module descriptor.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:subprojects" class="section-anchor" href="#org.gradle.api.Project:subprojects"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" target="_top"><code class="classname">Set</code></a>&lt;<a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> <code class="literal">subprojects</code> (read-only)</h4></div></div></div><p>The set containing the subprojects of 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.Project:tasks" class="section-anchor" href="#org.gradle.api.Project:tasks"></a><a class="ulink" href="../dsl/org.gradle.api.tasks.TaskContainer.html" target="_top"><code class="classname">TaskContainer</code></a> <code class="literal">tasks</code> (read-only)</h4></div></div></div><p>The tasks of 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.Project:version" class="section-anchor" href="#org.gradle.api.Project:version"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> <code class="literal">version</code></h4></div></div></div><p>The version of this project. Gradle always uses the <code class="literal">toString()</code> value of the version. The version defaults to <code class="literal">unspecified</code>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:application" class="section-anchor" href="#org.gradle.api.Project:application"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.JavaApplication.html" target="_top"><code class="classname">JavaApplication</code></a> <code class="literal">application</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaApplication.html" target="_top"><code class="classname">JavaApplication</code></a> added by the application plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:applicationDefaultJvmArgs" class="section-anchor" href="#org.gradle.api.Project:applicationDefaultJvmArgs"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html" target="_top"><code class="classname">Iterable</code></a>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>&gt;</code> <code class="literal">applicationDefaultJvmArgs</code></h4></div></div></div><p>Array of string arguments to pass to the JVM when running the application</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:applicationDistribution" class="section-anchor" href="#org.gradle.api.Project:applicationDistribution"></a><a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> <code class="literal">applicationDistribution</code></h4></div></div></div><p>The specification of the contents of the distribution.</p><p> Use this <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> to include extra files/resource in the application distribution. </p><pre class="programlisting"> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'application'</span> } application { applicationDistribution.from(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"some/dir"</span>) { include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"*.txt"</span> } } </pre><p> Note that the application plugin pre configures this spec to; include the contents of "<code class="literal">src/dist</code>", copy the application start scripts into the "<code class="literal">bin</code>" directory, and copy the built jar and its dependencies into the "<code class="literal">lib</code>" directory.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:applicationName" class="section-anchor" href="#org.gradle.api.Project:applicationName"></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 class="literal">applicationName</code></h4></div></div></div><p>The name of the application.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:executableDir" class="section-anchor" href="#org.gradle.api.Project:executableDir"></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 class="literal">executableDir</code></h4></div></div></div><p>Directory to place executables in</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:mainClassName" class="section-anchor" href="#org.gradle.api.Project:mainClassName"></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 class="literal">mainClassName</code></h4></div></div></div><p>The fully qualified name of the application's main class.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:checkstyle" class="section-anchor" href="#org.gradle.api.Project:checkstyle"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html" target="_top"><code class="classname">CheckstyleExtension</code></a> <code class="literal">checkstyle</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html" target="_top"><code class="classname">CheckstyleExtension</code></a> added by the checkstyle plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:codenarc" class="section-anchor" href="#org.gradle.api.Project:codenarc"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CodeNarcExtension.html" target="_top"><code class="classname">CodeNarcExtension</code></a> <code class="literal">codenarc</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CodeNarcExtension.html" target="_top"><code class="classname">CodeNarcExtension</code></a> added by the codenarc plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:distributions" class="section-anchor" href="#org.gradle.api.Project:distributions"></a><a class="ulink" href="../dsl/org.gradle.api.distribution.DistributionContainer.html" target="_top"><code class="classname">DistributionContainer</code></a> <code class="literal">distributions</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.distribution.DistributionContainer.html" target="_top"><code class="classname">DistributionContainer</code></a> added by the distribution plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:appDirName" class="section-anchor" href="#org.gradle.api.Project:appDirName"></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 class="literal">appDirName</code></h4></div></div></div><p>The name of the application directory, relative to the project directory. Default is "src/main/application".</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:deploymentDescriptor" class="section-anchor" href="#org.gradle.api.Project:deploymentDescriptor"></a><a class="ulink" href="../javadoc/org/gradle/plugins/ear/descriptor/DeploymentDescriptor.html" target="_top"><code class="classname">DeploymentDescriptor</code></a> <code class="literal">deploymentDescriptor</code></h4></div></div></div><p>A custom deployment descriptor configuration. Default is an "application.xml" with sensible defaults.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:generateDeploymentDescriptor" class="section-anchor" href="#org.gradle.api.Project:generateDeploymentDescriptor"></a><code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/provider/Property.html" target="_top"><code class="classname">Property</code></a>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html" target="_top"><code class="classname">Boolean</code></a>&gt;</code> <code class="literal">generateDeploymentDescriptor</code></h4></div></div></div><p>Specifies if the deploymentDescriptor should be generated if it does not exist. Default is true.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:libDirName" class="section-anchor" href="#org.gradle.api.Project:libDirName"></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 class="literal">libDirName</code></h4></div></div></div><p>The name of the library directory in the EAR file. Default is "lib".</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:eclipse" class="section-anchor" href="#org.gradle.api.Project:eclipse"></a><a class="ulink" href="../dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html" target="_top"><code class="classname">EclipseModel</code></a> <code class="literal">eclipse</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html" target="_top"><code class="classname">EclipseModel</code></a> added by the eclipse plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:idea" class="section-anchor" href="#org.gradle.api.Project:idea"></a><a class="ulink" href="../dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html" target="_top"><code class="classname">IdeaModel</code></a> <code class="literal">idea</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html" target="_top"><code class="classname">IdeaModel</code></a> added by the idea plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:jacoco" class="section-anchor" href="#org.gradle.api.Project:jacoco"></a><a class="ulink" href="../dsl/org.gradle.testing.jacoco.plugins.JacocoPluginExtension.html" target="_top"><code class="classname">JacocoPluginExtension</code></a> <code class="literal">jacoco</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.testing.jacoco.plugins.JacocoPluginExtension.html" target="_top"><code class="classname">JacocoPluginExtension</code></a> added by the jacoco plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:archivesBaseName" class="section-anchor" href="#org.gradle.api.Project:archivesBaseName"></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 class="literal">archivesBaseName</code></h4></div></div></div><p>The base name to use for archive files.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:base" class="section-anchor" href="#org.gradle.api.Project:base"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.BasePluginExtension.html" target="_top"><code class="classname">BasePluginExtension</code></a> <code class="literal">base</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.BasePluginExtension.html" target="_top"><code class="classname">BasePluginExtension</code></a> added by the java plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:distsDirName" class="section-anchor" href="#org.gradle.api.Project:distsDirName"></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 class="literal">distsDirName</code></h4></div></div></div><p>The name for the distributions directory. This in interpreted relative to the project' build directory.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:distsDirectory" class="section-anchor" href="#org.gradle.api.Project:distsDirectory"></a><a class="ulink" href="../javadoc/org/gradle/api/file/DirectoryProperty.html" target="_top"><code class="classname">DirectoryProperty</code></a> <code class="literal">distsDirectory</code></h4></div></div></div><p>The directory to generate TAR and ZIP archives into.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:docsDir" class="section-anchor" href="#org.gradle.api.Project:docsDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">docsDir</code> (read-only)</h4></div></div></div><p>Returns a file pointing to the root directory supposed to be used for all docs.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:docsDirName" class="section-anchor" href="#org.gradle.api.Project:docsDirName"></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 class="literal">docsDirName</code></h4></div></div></div><p>The name of the docs directory. Can be a name or a path relative to the build dir.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:java" class="section-anchor" href="#org.gradle.api.Project:java"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.JavaPluginExtension.html" target="_top"><code class="classname">JavaPluginExtension</code></a> <code class="literal">java</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaPluginExtension.html" target="_top"><code class="classname">JavaPluginExtension</code></a> added by the java plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:libsDirName" class="section-anchor" href="#org.gradle.api.Project:libsDirName"></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 class="literal">libsDirName</code></h4></div></div></div><p>The name for the libs directory. This in interpreted relative to the project' build directory.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:libsDirectory" class="section-anchor" href="#org.gradle.api.Project:libsDirectory"></a><a class="ulink" href="../javadoc/org/gradle/api/file/DirectoryProperty.html" target="_top"><code class="classname">DirectoryProperty</code></a> <code class="literal">libsDirectory</code></h4></div></div></div><p>The directory to generate JAR and WAR archives into.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:reporting" class="section-anchor" href="#org.gradle.api.Project:reporting"></a><a class="ulink" href="../dsl/org.gradle.api.reporting.ReportingExtension.html" target="_top"><code class="classname">ReportingExtension</code></a> <code class="literal">reporting</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.reporting.ReportingExtension.html" target="_top"><code class="classname">ReportingExtension</code></a> added by the java plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:sourceCompatibility" class="section-anchor" href="#org.gradle.api.Project:sourceCompatibility"></a><a class="ulink" href="../javadoc/org/gradle/api/JavaVersion.html" target="_top"><code class="classname">JavaVersion</code></a> <code class="literal">sourceCompatibility</code></h4></div></div></div><p>The source compatibility used for compiling Java sources.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:sourceSets" class="section-anchor" href="#org.gradle.api.Project:sourceSets"></a><a class="ulink" href="../javadoc/org/gradle/api/tasks/SourceSetContainer.html" target="_top"><code class="classname">SourceSetContainer</code></a> <code class="literal">sourceSets</code> (read-only)</h4></div></div></div><p>The source sets container.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:targetCompatibility" class="section-anchor" href="#org.gradle.api.Project:targetCompatibility"></a><a class="ulink" href="../javadoc/org/gradle/api/JavaVersion.html" target="_top"><code class="classname">JavaVersion</code></a> <code class="literal">targetCompatibility</code></h4></div></div></div><p>The target compatibility used for compiling Java sources.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:testReportDir" class="section-anchor" href="#org.gradle.api.Project:testReportDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">testReportDir</code> (read-only)</h4></div></div></div><p>Returns a file pointing to the root directory to be used for reports.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:testReportDirName" class="section-anchor" href="#org.gradle.api.Project:testReportDirName"></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 class="literal">testReportDirName</code></h4></div></div></div><p>The name of the test reports directory. Can be a name or a path relative to <a class="ulink" href="../javadoc/org/gradle/api/reporting/ReportingExtension.html#getBaseDir--" target="_top"><code class="classname">ReportingExtension.getBaseDir()</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:testResultsDir" class="section-anchor" href="#org.gradle.api.Project:testResultsDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">testResultsDir</code> (read-only)</h4></div></div></div><p>Returns a file pointing to the root directory of the test results.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:testResultsDirName" class="section-anchor" href="#org.gradle.api.Project:testResultsDirName"></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 class="literal">testResultsDirName</code></h4></div></div></div><p>The name of the test results directory. Can be a name or a path relative to the build dir.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:pmd" class="section-anchor" href="#org.gradle.api.Project:pmd"></a><a class="ulink" href="../dsl/org.gradle.api.plugins.quality.PmdExtension.html" target="_top"><code class="classname">PmdExtension</code></a> <code class="literal">pmd</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.PmdExtension.html" target="_top"><code class="classname">PmdExtension</code></a> added by the pmd plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:projectReportDir" class="section-anchor" href="#org.gradle.api.Project:projectReportDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">projectReportDir</code> (read-only)</h4></div></div></div><p>The directory to generate the project reports into.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:projectReportDirName" class="section-anchor" href="#org.gradle.api.Project:projectReportDirName"></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 class="literal">projectReportDirName</code></h4></div></div></div><p>The name of the directory to generate the project reports into, relative to the project's reports dir.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:publishing" class="section-anchor" href="#org.gradle.api.Project:publishing"></a><a class="ulink" href="../dsl/org.gradle.api.publish.PublishingExtension.html" target="_top"><code class="classname">PublishingExtension</code></a> <code class="literal">publishing</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.api.publish.PublishingExtension.html" target="_top"><code class="classname">PublishingExtension</code></a> added by the publishing plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:signing" class="section-anchor" href="#org.gradle.api.Project:signing"></a><a class="ulink" href="../dsl/org.gradle.plugins.signing.SigningExtension.html" target="_top"><code class="classname">SigningExtension</code></a> <code class="literal">signing</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.plugins.signing.SigningExtension.html" target="_top"><code class="classname">SigningExtension</code></a> added by the signing plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:visualStudio" class="section-anchor" href="#org.gradle.api.Project:visualStudio"></a><a class="ulink" href="../dsl/org.gradle.ide.visualstudio.VisualStudioRootExtension.html" target="_top"><code class="classname">VisualStudioRootExtension</code></a> <code class="literal">visualStudio</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.ide.visualstudio.VisualStudioRootExtension.html" target="_top"><code class="classname">VisualStudioRootExtension</code></a> added by the visual-studio plugin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:webAppDir" class="section-anchor" href="#org.gradle.api.Project:webAppDir"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">webAppDir</code> (read-only)</h4></div></div></div><p>The web application directory.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:webAppDirName" class="section-anchor" href="#org.gradle.api.Project:webAppDirName"></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 class="literal">webAppDirName</code></h4></div></div></div><p>The name of the web application directory, relative to the project directory.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:xcode" class="section-anchor" href="#org.gradle.api.Project:xcode"></a><a class="ulink" href="../dsl/org.gradle.ide.xcode.XcodeRootExtension.html" target="_top"><code class="classname">XcodeRootExtension</code></a> <code class="literal">xcode</code> (read-only)</h4></div></div></div><p>The <a class="ulink" href="../dsl/org.gradle.ide.xcode.XcodeRootExtension.html" target="_top"><code class="classname">XcodeRootExtension</code></a> added by the xcode plugin.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N160FF" class="section-anchor" href="#N160FF"></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.Project:absoluteProjectPath(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:absoluteProjectPath(java.lang.String)"></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 class="literal">absoluteProjectPath</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> path)</h4></div></div></div><p>Converts a name to an absolute project path, resolving names relative to 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.Project:afterEvaluate(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:afterEvaluate(groovy.lang.Closure)"></a><code class="classname">void</code> <code class="literal">afterEvaluate</code>(<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> closure)</h4></div></div></div><p>Adds a closure to call immediately after this project is evaluated.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:afterEvaluate(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:afterEvaluate(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">afterEvaluate</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> action)</h4></div></div></div><p>Adds an action to call immediately after this project is evaluated.</p><p>Passes the project to the action as a parameter. Actions passed to this method execute in the same order they were passed. A parent project may add an action to its child projects to further configure those projects based on their state after their build files run.</p><p>If the project has already been evaluated, this method fails.</p><p>If you call this method within an <code class="literal">afterEvaluate</code> action, the passed action executes after all previously added <code class="literal">afterEvaluate</code> actions finish executing.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:allprojects(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:allprojects(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">allprojects</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> action)</h4></div></div></div><p>Configures this project and each of its sub-projects.</p><p>This method executes the given <a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a> against this project and each of its sub-projects.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:ant(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:ant(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/AntBuilder.html" target="_top"><code class="classname">AntBuilder</code></a> <code class="literal">ant</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/AntBuilder.html" target="_top"><code class="classname">AntBuilder</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Executes the given action against the <code class="literal">AntBuilder</code> for this project. You can use this in your build file to execute ant tasks. See example in javadoc for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:ant" target="_top"><code class="classname">Project.getAnt()</code></a></p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:apply(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:apply(groovy.lang.Closure)"></a><code class="classname">void</code> <code class="literal">apply</code>(<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> closure)</h4></div></div></div><p>Applies zero or more plugins or scripts. </p><p> The given closure is used to configure an <a class="ulink" href="../javadoc/org/gradle/api/plugins/ObjectConfigurationAction.html" target="_top"><code class="classname">ObjectConfigurationAction</code></a>, which &ldquo;builds&rdquo; the plugin application. </p><p> This method differs from <a class="ulink" href="../dsl/org.gradle.api.plugins.PluginAware.html#org.gradle.api.plugins.PluginAware:apply(java.util.Map)" target="_top"><code class="classname">PluginAware.apply(java.util.Map)</code></a> in that it allows methods of the configuration action to be invoked more than once.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:apply(java.util.Map)" class="section-anchor" href="#org.gradle.api.Project:apply(java.util.Map)"></a><code class="classname">void</code> <code class="literal">apply</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>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, ?&gt;</code> options)</h4></div></div></div><p>Applies a plugin or script, using the given options provided as a map. Does nothing if the plugin has already been applied. </p><p> The given map is applied as a series of method calls to a newly created <a class="ulink" href="../javadoc/org/gradle/api/plugins/ObjectConfigurationAction.html" target="_top"><code class="classname">ObjectConfigurationAction</code></a>. That is, each key in the map is expected to be the name of a method <a class="ulink" href="../javadoc/org/gradle/api/plugins/ObjectConfigurationAction.html" target="_top"><code class="classname">ObjectConfigurationAction</code></a> and the value to be compatible arguments to that method. </p><p>The following options are available:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><code class="literal">from</code>: A script to apply. Accepts any path supported by <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:uri(java.lang.Object)" target="_top"><code class="classname">Project.uri(java.lang.Object)</code></a>.</li><li class="listitem"><code class="literal">plugin</code>: The id or implementation class of the plugin to apply.</li><li class="listitem"><code class="literal">to</code>: The target delegate object or objects. The default is this plugin aware object. Use this to configure objects other than this object.</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:apply(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:apply(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">apply</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/plugins/ObjectConfigurationAction.html" target="_top"><code class="classname">ObjectConfigurationAction</code></a>&gt;</code> action)</h4></div></div></div><p>Applies zero or more plugins or scripts. </p><p> The given closure is used to configure an <a class="ulink" href="../javadoc/org/gradle/api/plugins/ObjectConfigurationAction.html" target="_top"><code class="classname">ObjectConfigurationAction</code></a>, which &ldquo;builds&rdquo; the plugin application. </p><p> This method differs from <a class="ulink" href="../dsl/org.gradle.api.plugins.PluginAware.html#org.gradle.api.plugins.PluginAware:apply(java.util.Map)" target="_top"><code class="classname">PluginAware.apply(java.util.Map)</code></a> in that it allows methods of the configuration action to be invoked more than once.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:artifacts(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:artifacts(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">artifacts</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Configures the published artifacts for this project. </p><p>This method executes the given action against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a> for this project. </p><p>Example: </p><pre class="programlisting"> configurations { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//declaring new configuration that will be used to associate with artifacts</span> schema } task schemaJar(type: Jar) { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//some imaginary task that creates a jar artifact with the schema</span> } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//associating the task that produces the artifact with the configuration</span> artifacts { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//configuration name and the task:</span> schema schemaJar } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:beforeEvaluate(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:beforeEvaluate(groovy.lang.Closure)"></a><code class="classname">void</code> <code class="literal">beforeEvaluate</code>(<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> closure)</h4></div></div></div><p>Adds a closure to call immediately before this project is evaluated.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:beforeEvaluate(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:beforeEvaluate(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">beforeEvaluate</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> action)</h4></div></div></div><p>Adds an action to call immediately before this project is evaluated.</p><p>Passes the project to the action as a parameter. Actions passed to this method execute in the same order they were passed.</p><p>If the project has already been evaluated, the action never executes.</p><p>If you call this method within a <code class="literal">beforeEvaluate</code> action, the passed action never executes.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:configure(java.lang.Iterable, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:configure(java.lang.Iterable, groovy.lang.Closure)"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html" target="_top"><code class="classname">Iterable</code></a>&lt;?&gt;</code> <code class="literal">configure</code>(<code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html" target="_top"><code class="classname">Iterable</code></a>&lt;?&gt;</code> objects, <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>Configures a collection of objects via a closure. This is equivalent to calling <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:configure(java.lang.Object, groovy.lang.Closure)" target="_top"><code class="classname">Project.configure(java.lang.Object, groovy.lang.Closure)</code></a> for each of the given objects.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:configure(java.lang.Iterable, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:configure(java.lang.Iterable, org.gradle.api.Action)"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html" target="_top"><code class="classname">Iterable</code></a>&lt;<code class="classname">T</code>&gt;</code> <code class="literal">configure</code>(<code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html" target="_top"><code class="classname">Iterable</code></a>&lt;<code class="classname">T</code>&gt;</code> objects, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <code class="classname">T</code>&gt;</code> configureAction)</h4></div></div></div><p>Configures a collection of objects via an action.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:configure(java.lang.Object, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:configure(java.lang.Object, groovy.lang.Closure)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> <code class="literal">configure</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> object, <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>Configures an object via a closure, with the closure's delegate set to the supplied object. This way you don't have to specify the context of a configuration statement multiple times. </p><p> Instead of:</p><pre class="programlisting"> MyType myType = <span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">new</span> MyType() myType.doThis() myType.doThat() </pre><p> you can do: </p><pre class="programlisting"> MyType myType = configure(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-keyword">new</span> MyType()) { doThis() doThat() } </pre><p>The object being configured is also passed to the closure as a parameter, so you can access it explicitly if required:</p><pre class="programlisting"> configure(someObj) { obj -&gt; obj.doThis() } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:container(java.lang.Class)" class="section-anchor" href="#org.gradle.api.Project:container(java.lang.Class)"></a><code class="classname"><a class="ulink" href="../dsl/org.gradle.api.NamedDomainObjectContainer.html" target="_top"><code class="classname">NamedDomainObjectContainer</code></a>&lt;<code class="classname">T</code>&gt;</code> <code class="literal">container</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>&lt;<code class="classname">T</code>&gt;</code> type)</h4></div></div></div><p>Creates a container for managing named objects of the specified type. The specified type must have a public constructor which takes the name as a String parameter.</p><p>All objects <span class="emphasis"><em>MUST</em></span> expose their name as a bean property named "name". The name must be constant for the life of the object.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:container(java.lang.Class, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:container(java.lang.Class, groovy.lang.Closure)"></a><code class="classname"><a class="ulink" href="../dsl/org.gradle.api.NamedDomainObjectContainer.html" target="_top"><code class="classname">NamedDomainObjectContainer</code></a>&lt;<code class="classname">T</code>&gt;</code> <code class="literal">container</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>&lt;<code class="classname">T</code>&gt;</code> type, <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> factoryClosure)</h4></div></div></div><p>Creates a container for managing named objects of the specified type. The given closure is used to create object instances. The name of the instance to be created is passed as a parameter to the closure.</p><p>All objects <span class="emphasis"><em>MUST</em></span> expose their name as a bean property named "name". The name must be constant for the life of the object.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:container(java.lang.Class, org.gradle.api.NamedDomainObjectFactory)" class="section-anchor" href="#org.gradle.api.Project:container(java.lang.Class, org.gradle.api.NamedDomainObjectFactory)"></a><code class="classname"><a class="ulink" href="../dsl/org.gradle.api.NamedDomainObjectContainer.html" target="_top"><code class="classname">NamedDomainObjectContainer</code></a>&lt;<code class="classname">T</code>&gt;</code> <code class="literal">container</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>&lt;<code class="classname">T</code>&gt;</code> type, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/NamedDomainObjectFactory.html" target="_top"><code class="classname">NamedDomainObjectFactory</code></a>&lt;<code class="classname">T</code>&gt;</code> factory)</h4></div></div></div><p>Creates a container for managing named objects of the specified type. The given factory is used to create object instances.</p><p>All objects <span class="emphasis"><em>MUST</em></span> expose their name as a bean property named "name". The name must be constant for the life of the object.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:copy(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:copy(groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/tasks/WorkResult.html" target="_top"><code class="classname">WorkResult</code></a> <code class="literal">copy</code>(<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> closure)</h4></div></div></div><p>Copies the specified files. The given closure is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a>, which is then used to copy the files. Example: </p><pre class="programlisting"> copy { from configurations.runtimeClasspath into <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'build/deploy/lib'</span> } </pre><p> Note that CopySpecs can be nested: </p><pre class="programlisting"> copy { into <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'build/webroot'</span> exclude <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/.svn/**'</span> from(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'src/main/webapp'</span>) { include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/*.jsp'</span> filter(ReplaceTokens, tokens:[copyright:<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'2009'</span>, version:<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'2.3.1'</span>]) } from(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'src/main/js'</span>) { include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/*.js'</span> } } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:copy(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:copy(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/tasks/WorkResult.html" target="_top"><code class="classname">WorkResult</code></a> <code class="literal">copy</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a>&gt;</code> action)</h4></div></div></div><p>Copies the specified files. The given action is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a>, which is then used to copy the files.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:copySpec()" class="section-anchor" href="#org.gradle.api.Project:copySpec()"></a><a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> <code class="literal">copySpec</code>()</h4></div></div></div><p>Creates a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> which can later be used to copy files or create an archive.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:copySpec(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:copySpec(groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> <code class="literal">copySpec</code>(<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> closure)</h4></div></div></div><p>Creates a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> which can later be used to copy files or create an archive. The given closure is used to configure the <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> before it is returned by this method. </p><pre class="programlisting"> def baseSpec = copySpec { from <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"source"</span> include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"**/*.java"</span> } task copy(type: Copy) { into <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"target"</span> with baseSpec } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:copySpec(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:copySpec(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> <code class="literal">copySpec</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a>&gt;</code> action)</h4></div></div></div><p>Creates a <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> which can later be used to copy files or create an archive. The given action is used to configure the <a class="ulink" href="../javadoc/org/gradle/api/file/CopySpec.html" target="_top"><code class="classname">CopySpec</code></a> before it is returned by this method.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:defaultTasks(java.lang.String[])" class="section-anchor" href="#org.gradle.api.Project:defaultTasks(java.lang.String[])"></a><code class="classname">void</code> <code class="literal">defaultTasks</code>(<code class="classname"><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> defaultTasks)</h4></div></div></div><p>Sets the names of the default tasks of this project. These are used when no tasks names are provided when starting the build.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:delete(java.lang.Object[])" class="section-anchor" href="#org.gradle.api.Project:delete(java.lang.Object[])"></a><code class="classname">boolean</code> <code class="literal">delete</code>(<code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a>...</code> paths)</h4></div></div></div><p>Deletes files and directories. </p><p> This will not follow symlinks. If you need to follow symlinks too use <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:delete(org.gradle.api.Action)" target="_top"><code class="classname">Project.delete(org.gradle.api.Action)</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:delete(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:delete(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/tasks/WorkResult.html" target="_top"><code class="classname">WorkResult</code></a> <code class="literal">delete</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/file/DeleteSpec.html" target="_top"><code class="classname">DeleteSpec</code></a>&gt;</code> action)</h4></div></div></div><p>Deletes the specified files. The given action is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/DeleteSpec.html" target="_top"><code class="classname">DeleteSpec</code></a>, which is then used to delete the files. </p><p>Example: </p><pre class="programlisting"> project.delete { delete <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'somefile'</span> followSymlinks = true } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:dependencyLocking(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:dependencyLocking(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">dependencyLocking</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/artifacts/dsl/DependencyLockingHandler.html" target="_top"><code class="classname">DependencyLockingHandler</code></a>&gt;</code> configuration)</h4></div></div></div><p>Configures dependency locking</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:evaluationDependsOn(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:evaluationDependsOn(java.lang.String)"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">evaluationDependsOn</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> path)</h4></div></div></div><p>Declares that this project has an evaluation dependency on the project with the given path.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:exec(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:exec(groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/process/ExecResult.html" target="_top"><code class="classname">ExecResult</code></a> <code class="literal">exec</code>(<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> closure)</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>Executes an external command. The closure configures a <a class="ulink" href="../javadoc/org/gradle/process/ExecSpec.html" target="_top"><code class="classname">ExecSpec</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:exec(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:exec(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/process/ExecResult.html" target="_top"><code class="classname">ExecResult</code></a> <code class="literal">exec</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/process/ExecSpec.html" target="_top"><code class="classname">ExecSpec</code></a>&gt;</code> action)</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>Executes an external command. </p><p> The given action configures a <a class="ulink" href="../javadoc/org/gradle/process/ExecSpec.html" target="_top"><code class="classname">ExecSpec</code></a>, which is used to launch the process. This method blocks until the process terminates, with its result being 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.Project:file(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:file(java.lang.Object)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">file</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> path)</h4></div></div></div><p>Resolves a file path relative to the project directory of this project. This method converts the supplied path based on its type:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html" target="_top"><code class="classname">CharSequence</code></a>, including <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a> or <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/GString.html" target="_top"><code class="classname">GString</code></a>. Interpreted relative to the project directory. A string that starts with <code class="literal">file:</code> is treated as a file URL.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a>. If the file is an absolute file, it is returned as is. Otherwise, the file's path is interpreted relative to the project directory.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html" target="_top"><code class="classname">Path</code></a>. The path must be associated with the default provider and is treated the same way as an instance of <code class="literal">File</code>.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html" target="_top"><code class="classname">URI</code></a> or <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/net/URL.html" target="_top"><code class="classname">URL</code></a>. The URL's path is interpreted as the file path. Only <code class="literal">file:</code> URLs are supported.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/file/Directory.html" target="_top"><code class="classname">Directory</code></a> or <a class="ulink" href="../javadoc/org/gradle/api/file/RegularFile.html" target="_top"><code class="classname">RegularFile</code></a>.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a> of any supported type. The provider's value is resolved recursively.</li><li class="listitem">A <a class="ulink" href="../dsl/org.gradle.api.resources.TextResource.html" target="_top"><code class="classname">TextResource</code></a>.</li><li class="listitem">A Groovy <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> or Kotlin function that returns any supported type. The closure's return value is resolved recursively.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html" target="_top"><code class="classname">Callable</code></a> that returns any supported type. The callable's return value is resolved recursively.</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:file(java.lang.Object, org.gradle.api.PathValidation)" class="section-anchor" href="#org.gradle.api.Project:file(java.lang.Object, org.gradle.api.PathValidation)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">file</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> path, <a class="ulink" href="../javadoc/org/gradle/api/PathValidation.html" target="_top"><code class="classname">PathValidation</code></a> validation)</h4></div></div></div><p>Resolves a file path relative to the project directory of this project and validates it using the given scheme. See <a class="ulink" href="../javadoc/org/gradle/api/PathValidation.html" target="_top"><code class="classname">PathValidation</code></a> for the list of possible validations.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:fileTree(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:fileTree(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileTree.html" target="_top"><code class="classname">ConfigurableFileTree</code></a> <code class="literal">fileTree</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> baseDir)</h4></div></div></div><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the given base directory. The given baseDir path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>.</p><p>The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.</p><pre class="programlisting"> def myTree = fileTree(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"src"</span>) myTree.include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"**/*.java"</span> myTree.builtBy <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"someTask"</span> task copy(type: Copy) { from myTree } </pre><p>The order of the files in a <code class="literal">FileTree</code> is not stable, even on a single computer.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:fileTree(java.lang.Object, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:fileTree(java.lang.Object, groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileTree.html" target="_top"><code class="classname">ConfigurableFileTree</code></a> <code class="literal">fileTree</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> baseDir, <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 new <code class="literal">ConfigurableFileTree</code> using the given base directory. The given baseDir path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. The closure will be used to configure the new file tree. The file tree is passed to the closure as its delegate. Example:</p><pre class="programlisting"> def myTree = fileTree(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'src'</span>) { exclude <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/.data/**'</span> builtBy <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someTask'</span> } task copy(type: Copy) { from myTree } </pre><p>The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.</p><p>The order of the files in a <code class="literal">FileTree</code> is not stable, even on a single computer.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:fileTree(java.lang.Object, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:fileTree(java.lang.Object, org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileTree.html" target="_top"><code class="classname">ConfigurableFileTree</code></a> <code class="literal">fileTree</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> baseDir, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileTree.html" target="_top"><code class="classname">ConfigurableFileTree</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the given base directory. The given baseDir path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. The action will be used to configure the new file tree. Example:</p><pre class="programlisting"> def myTree = fileTree(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'src'</span>) { exclude <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/.data/**'</span> builtBy <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someTask'</span> } task copy(type: Copy) { from myTree } </pre><p>The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.</p><p>The order of the files in a <code class="literal">FileTree</code> is not stable, even on a single computer.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:fileTree(java.util.Map)" class="section-anchor" href="#org.gradle.api.Project:fileTree(java.util.Map)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileTree.html" target="_top"><code class="classname">ConfigurableFileTree</code></a> <code class="literal">fileTree</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>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, ?&gt;</code> args)</h4></div></div></div><p>Creates a new <code class="literal">ConfigurableFileTree</code> using the provided map of arguments. The map will be applied as properties on the new file tree. Example:</p><pre class="programlisting"> def myTree = fileTree(dir:<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'src'</span>, excludes:[<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/ignore/**'</span>, <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'**/.data/**'</span>]) task copy(type: Copy) { from myTree } </pre><p>The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.</p><p>The order of the files in a <code class="literal">FileTree</code> is not stable, even on a single computer.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:files(java.lang.Object, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:files(java.lang.Object, groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileCollection.html" target="_top"><code class="classname">ConfigurableFileCollection</code></a> <code class="literal">files</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> paths, <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 new <code class="literal">ConfigurableFileCollection</code> using the given paths. The paths are evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object[])" target="_top"><code class="classname">Project.files(java.lang.Object[])</code></a>. The file collection is configured using the given closure. The file collection is passed to the closure as its delegate. Example:</p><pre class="programlisting"> files <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"$buildDir/classes"</span> { builtBy <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'compile'</span> } </pre><p>The returned file collection is lazy, so that the paths are evaluated only when the contents of the file collection are queried. The file collection is also live, so that it evaluates the above each time the contents of the collection is queried.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:files(java.lang.Object, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:files(java.lang.Object, org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileCollection.html" target="_top"><code class="classname">ConfigurableFileCollection</code></a> <code class="literal">files</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> paths, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileCollection.html" target="_top"><code class="classname">ConfigurableFileCollection</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Creates a new <code class="literal">ConfigurableFileCollection</code> using the given paths. The paths are evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:files(java.lang.Object[])" target="_top"><code class="classname">Project.files(java.lang.Object[])</code></a>. The file collection is configured using the given action. Example:</p><pre class="programlisting"> files <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">"$buildDir/classes"</span> { builtBy <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'compile'</span> } </pre><p>The returned file collection is lazy, so that the paths are evaluated only when the contents of the file collection are queried. The file collection is also live, so that it evaluates the above each time the contents of the collection is queried.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:files(java.lang.Object[])" class="section-anchor" href="#org.gradle.api.Project:files(java.lang.Object[])"></a><a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileCollection.html" target="_top"><code class="classname">ConfigurableFileCollection</code></a> <code class="literal">files</code>(<code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a>...</code> paths)</h4></div></div></div><p>Returns a <a class="ulink" href="../javadoc/org/gradle/api/file/ConfigurableFileCollection.html" target="_top"><code class="classname">ConfigurableFileCollection</code></a> containing the given files. You can pass any of the following types to this method:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html" target="_top"><code class="classname">CharSequence</code></a>, including <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a> or <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/GString.html" target="_top"><code class="classname">GString</code></a>. Interpreted relative to the project directory, as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. A string that starts with <code class="literal">file:</code> is treated as a file URL.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a>. Interpreted relative to the project directory, as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html" target="_top"><code class="classname">Path</code></a>, as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html" target="_top"><code class="classname">URI</code></a> or <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/net/URL.html" target="_top"><code class="classname">URL</code></a>. The URL's path is interpreted as a file path. Only <code class="literal">file:</code> URLs are supported.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/file/Directory.html" target="_top"><code class="classname">Directory</code></a> or <a class="ulink" href="../javadoc/org/gradle/api/file/RegularFile.html" target="_top"><code class="classname">RegularFile</code></a>.</li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" target="_top"><code class="classname">Collection</code></a>, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html" target="_top"><code class="classname">Iterable</code></a>, or an array that contains objects of any supported type. The elements of the collection are recursively converted to files.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/file/FileCollection.html" target="_top"><code class="classname">FileCollection</code></a>. The contents of the collection are included in the returned collection.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/file/FileTree.html" target="_top"><code class="classname">FileTree</code></a> or <a class="ulink" href="../javadoc/org/gradle/api/file/DirectoryTree.html" target="_top"><code class="classname">DirectoryTree</code></a>. The contents of the tree are included in the returned collection.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/provider/Provider.html" target="_top"><code class="classname">Provider</code></a> of any supported type. The provider's value is recursively converted to files. If the provider represents an output of a task, that task is executed if the file collection is used as an input to another task. </li><li class="listitem">A <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html" target="_top"><code class="classname">Callable</code></a> that returns any supported type. The return value of the <code class="literal">call()</code> method is recursively converted to files. A <code class="literal">null</code> return value is treated as an empty collection.</li><li class="listitem">A Groovy <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> or Kotlin function that returns any of the types listed here. The return value of the closure is recursively converted to files. A <code class="literal">null</code> return value is treated as an empty collection.</li><li class="listitem">A <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a>. Converted to the task's output files. The task is executed if the file collection is used as an input to another task.</li><li class="listitem">A <a class="ulink" href="../javadoc/org/gradle/api/tasks/TaskOutputs.html" target="_top"><code class="classname">TaskOutputs</code></a>. Converted to the output files the related task. The task is executed if the file collection is used as an input to another task.</li><li class="listitem">Anything else is treated as an error.</li></ul></div><p>The returned file collection is lazy, so that the paths are evaluated only when the contents of the file collection are queried. The file collection is also live, so that it evaluates the above each time the contents of the collection is queried.</p><p>The returned file collection maintains the iteration order of the supplied paths.</p><p>The returned file collection maintains the details of the tasks that produce the files, so that these tasks are executed if this file collection is used as an input to some task.</p><p>This method can also be used to create an empty collection, which can later be mutated to add elements.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:findProject(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:findProject(java.lang.String)"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">findProject</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> path)</h4></div></div></div><p>Locates a project by path. If the path is relative, it is interpreted relative to 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.Project:findProperty(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:findProperty(java.lang.String)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> <code class="literal">findProperty</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> propertyName)</h4></div></div></div><p>Returns the value of the given property or null if not found. This method locates a property as follows:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">If this project object has a property with the given name, return the value of the property.</li><li class="listitem">If this project has an extension with the given name, return the extension.</li><li class="listitem">If this project's convention object has a property with the given name, return the value of the property.</li><li class="listitem">If this project has an extra property with the given name, return the value of the property.</li><li class="listitem">If this project has a task with the given name, return the task.</li><li class="listitem">Search up through this project's ancestor projects for a convention property or extra property with the given name.</li><li class="listitem">If not found, null value is returned.</li></ol></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:getAllTasks(boolean)" class="section-anchor" href="#org.gradle.api.Project:getAllTasks(boolean)"></a><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>&lt;<a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" target="_top"><code class="classname">Set</code></a>&lt;<a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a>&gt;&gt;</code> <code class="literal">getAllTasks</code>(<code class="classname">boolean</code> recursive)</h4></div></div></div><p>Returns a map of the tasks contained in this project, and optionally its subprojects.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:getTasksByName(java.lang.String, boolean)" class="section-anchor" href="#org.gradle.api.Project:getTasksByName(java.lang.String, boolean)"></a><code class="classname"><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" target="_top"><code class="classname">Set</code></a>&lt;<a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a>&gt;</code> <code class="literal">getTasksByName</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> name, <code class="classname">boolean</code> recursive)</h4></div></div></div><p>Returns the set of tasks with the given name contained in this project, and optionally its subprojects. <span class="emphasis"><em>NOTE:</em></span> This is an expensive operation since it requires all projects to be configured. </p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:hasProperty(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:hasProperty(java.lang.String)"></a><code class="classname">boolean</code> <code class="literal">hasProperty</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> propertyName)</h4></div></div></div><p>Determines if this project has the given property. See <a class="link" href="">here</a> for details of the properties which are available for 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.Project:javaexec(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:javaexec(groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/process/ExecResult.html" target="_top"><code class="classname">ExecResult</code></a> <code class="literal">javaexec</code>(<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> closure)</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>Executes a Java main class. The closure configures a <a class="ulink" href="../javadoc/org/gradle/process/JavaExecSpec.html" target="_top"><code class="classname">JavaExecSpec</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:javaexec(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:javaexec(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/process/ExecResult.html" target="_top"><code class="classname">ExecResult</code></a> <code class="literal">javaexec</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/process/JavaExecSpec.html" target="_top"><code class="classname">JavaExecSpec</code></a>&gt;</code> action)</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>Executes an external Java process. </p><p> The given action configures a <a class="ulink" href="../javadoc/org/gradle/process/JavaExecSpec.html" target="_top"><code class="classname">JavaExecSpec</code></a>, which is used to launch the process. This method blocks until the process terminates, with its result being 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.Project:mkdir(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:mkdir(java.lang.Object)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html" target="_top"><code class="classname">File</code></a> <code class="literal">mkdir</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> path)</h4></div></div></div><p>Creates a directory and returns a file pointing to it.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:normalization(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:normalization(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">normalization</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.normalization.InputNormalizationHandler.html" target="_top"><code class="classname">InputNormalizationHandler</code></a>&gt;</code> configuration)</h4></div></div></div><p>Configures input normalization.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:project(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:project(java.lang.String)"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">project</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> path)</h4></div></div></div><p>Locates a project by path. If the path is relative, it is interpreted relative to 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.Project:project(java.lang.String, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:project(java.lang.String, groovy.lang.Closure)"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">project</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> path, <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>Locates a project by path and configures it using the given closure. If the path is relative, it is interpreted relative to this project. The target project is passed to the closure as the closure's delegate.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:project(java.lang.String, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:project(java.lang.String, org.gradle.api.Action)"></a><a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> <code class="literal">project</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> path, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Locates a project by path and configures it using the given action. If the path is relative, it is interpreted relative to 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.Project:property(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:property(java.lang.String)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> <code class="literal">property</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> propertyName)</h4></div></div></div><p>Returns the value of the given property. This method locates a property as follows:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">If this project object has a property with the given name, return the value of the property.</li><li class="listitem">If this project has an extension with the given name, return the extension.</li><li class="listitem">If this project's convention object has a property with the given name, return the value of the property.</li><li class="listitem">If this project has an extra property with the given name, return the value of the property.</li><li class="listitem">If this project has a task with the given name, return the task.</li><li class="listitem">Search up through this project's ancestor projects for a convention property or extra property with the given name.</li><li class="listitem">If not found, a <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/MissingPropertyException.html" target="_top"><code class="classname">MissingPropertyException</code></a> is thrown.</li></ol></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:relativePath(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:relativePath(java.lang.Object)"></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 class="literal">relativePath</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> path)</h4></div></div></div><p>Returns the relative path from the project directory to the given path. The given path object is (logically) resolved as described for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>, from which a relative path is calculated.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:relativeProjectPath(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:relativeProjectPath(java.lang.String)"></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 class="literal">relativeProjectPath</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> path)</h4></div></div></div><p>Converts a name to a project path relative to 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.Project:setProperty(java.lang.String, java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:setProperty(java.lang.String, java.lang.Object)"></a><code class="classname">void</code> <code class="literal">setProperty</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> name, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" target="_top"><code class="classname">Object</code></a> value)</h4></div></div></div><p>Sets a property of this project. This method searches for a property with the given name in the following locations, and sets the property on the first location where it finds the property.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">The project object itself. For example, the <code class="literal">rootDir</code> project property.</li><li class="listitem">The project's <a class="ulink" href="../javadoc/org/gradle/api/plugins/Convention.html" target="_top"><code class="classname">Convention</code></a> object. For example, the <code class="literal">srcRootName</code> java plugin property.</li><li class="listitem">The project's extra properties.</li></ol></div><p> If the property is not found, a <a class="ulink" href="https://docs.groovy-lang.org/3.0.22/html/gapi/groovy/lang/MissingPropertyException.html" target="_top"><code class="classname">MissingPropertyException</code></a> is thrown.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:subprojects(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:subprojects(org.gradle.api.Action)"></a><code class="classname">void</code> <code class="literal">subprojects</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a>&gt;</code> action)</h4></div></div></div><p>Configures the sub-projects of this project</p><p>This method executes the given <a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a> against the sub-projects of 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.Project:sync(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:sync(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/tasks/WorkResult.html" target="_top"><code class="classname">WorkResult</code></a> <code class="literal">sync</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/file/SyncSpec.html" target="_top"><code class="classname">SyncSpec</code></a>&gt;</code> action)</h4></div></div></div><p>Synchronizes the contents of a destination directory with some source directories and files. The given action is used to configure a <a class="ulink" href="../javadoc/org/gradle/api/file/SyncSpec.html" target="_top"><code class="classname">SyncSpec</code></a>, which is then used to synchronize the files. </p><p> This method is like the <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:copy(org.gradle.api.Action)" target="_top"><code class="classname">Project.copy(org.gradle.api.Action)</code></a> task, except the destination directory will only contain the files copied. All files that exist in the destination directory will be deleted before copying files, unless a preserve option is specified. </p><p> Example: </p><pre class="programlisting"> project.sync { from <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'my/shared/dependencyDir'</span> into <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'build/deps/compile'</span> } </pre><p> Note that you can preserve output that already exists in the destination directory: </p><pre class="programlisting"> project.sync { from <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'source'</span> into <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'dest'</span> preserve { include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'extraDir/**'</span> include <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'dir1/**'</span> exclude <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'dir1/extra.txt'</span> } } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:tarTree(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:tarTree(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/FileTree.html" target="_top"><code class="classname">FileTree</code></a> <code class="literal">tarTree</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> tarPath)</h4></div></div></div><p>Creates a new <code class="literal">FileTree</code> which contains the contents of the given TAR file. The given tarPath path can be: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">an instance of <a class="ulink" href="../javadoc/org/gradle/api/resources/Resource.html" target="_top"><code class="classname">Resource</code></a></li><li class="listitem">any other object is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a></li></ul></div><p> The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried. </p><p> Unless custom implementation of resources is passed, the tar tree attempts to guess the compression based on the file extension. </p><p> You can combine this method with the <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:copy(org.gradle.api.Action)" target="_top"><code class="classname">Project.copy(org.gradle.api.Action)</code></a> method to untar a TAR file: </p><pre class="programlisting"> task untar(type: Copy) { from tarTree(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someCompressedTar.gzip'</span>) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//tar tree attempts to guess the compression based on the file extension</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//however if you must specify the compression explicitly you can:</span> from tarTree(resources.gzip(<span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'someTar.ext'</span>)) <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//in case you work with unconventionally compressed tars</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//you can provide your own implementation of a ReadableResource:</span> <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//from tarTree(yourOwnResource as ReadableResource)</span> into <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'dest'</span> } </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:task(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:task(java.lang.String)"></a><a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> <code class="literal">task</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> name)</h4></div></div></div><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Calling this method is equivalent to calling <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:task(java.util.Map, java.lang.String)" target="_top"><code class="classname">Project.task(java.util.Map, java.lang.String)</code></a> with an empty options map.</p><p>After the task is added to the project, it is made available as a property of the project, so that you can reference the task by name in your build file. See <a class="link" href="">properties</a> for more details</p><p>If a task with the given name already exists in this project, an exception is thrown.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:task(java.lang.String, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:task(java.lang.String, groovy.lang.Closure)"></a><a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> <code class="literal">task</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> name, <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 <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Before the task is returned, the given closure is executed to configure the task.</p><p>After the task is added to the project, it is made available as a property of the project, so that you can reference the task by name in your build file. See <a class="link" href="">here</a> for more details</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:task(java.lang.String, org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:task(java.lang.String, org.gradle.api.Action)"></a><a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> <code class="literal">task</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> name, <code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Before the task is returned, the given action is executed to configure the task.</p><p>After the task is added to the project, it is made available as a property of the project, so that you can reference the task by name in your build file. See <a class="link" href="">here</a> for more details</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:task(java.util.Map, java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:task(java.util.Map, java.lang.String)"></a><a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> <code class="literal">task</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>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, ?&gt;</code> args, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a> name)</h4></div></div></div><p>Creates a <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. A map of creation options can be passed to this method to control how the task is created. The following options are available:</p><div xmlns:xslthl="http://xslthl.sf.net" class="table"><div class="table-contents"><table id="N169BA">&lt;caption&gt;Permitted map keys&lt;/caption&gt; <thead><tr><td>Option</td><td>Description</td><td>Default Value</td></tr></thead><tr><td><code class="literal"><code class="literal">type</code></code></td><td>The class of the task to create.</td><td><a class="ulink" href="../dsl/org.gradle.api.DefaultTask.html" target="_top"><code class="classname">DefaultTask</code></a></td></tr><tr><td><code class="literal"><code class="literal">overwrite</code></code></td><td>Replace an existing task?</td><td><code class="literal">false</code></td></tr><tr><td><code class="literal"><code class="literal">dependsOn</code></code></td><td>A task name or set of task names which this task depends on</td><td><code class="literal">[]</code></td></tr><tr><td><code class="literal"><code class="literal">action</code></code></td><td>A closure or <a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a> to add to the task.</td><td><code class="literal">null</code></td></tr><tr><td><code class="literal"><code class="literal">description</code></code></td><td>A description of the task. </td><td><code class="literal">null</code></td></tr><tr><td><code class="literal"><code class="literal">group</code></code></td><td>A task group which this task belongs to. </td><td><code class="literal">null</code></td></tr></table></div></div><p>After the task is added to the project, it is made available as a property of the project, so that you can reference the task by name in your build file. See <a class="link" href="">here</a> for more details</p><p>If a task with the given name already exists in this project and the <code class="literal">override</code> option is not set to true, an exception is thrown.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:task(java.util.Map, java.lang.String, groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:task(java.util.Map, java.lang.String, groovy.lang.Closure)"></a><a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> <code class="literal">task</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>&lt;<a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a>, ?&gt;</code> args, <a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" target="_top"><code class="classname">String</code></a> name, <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 <a class="ulink" href="../dsl/org.gradle.api.Task.html" target="_top"><code class="classname">Task</code></a> with the given name and adds it to this project. Before the task is returned, the given closure is executed to configure the task. A map of creation options can be passed to this method to control how the task is created. See <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:task(java.util.Map, java.lang.String)" target="_top"><code class="classname">Project.task(java.util.Map, java.lang.String)</code></a> for the available options.</p><p>After the task is added to the project, it is made available as a property of the project, so that you can reference the task by name in your build file. See <a class="link" href="">here</a> for more details</p><p>If a task with the given name already exists in this project and the <code class="literal">override</code> option is not set to true, an exception is thrown.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:uri(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:uri(java.lang.Object)"></a><a class="ulink" href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html" target="_top"><code class="classname">URI</code></a> <code class="literal">uri</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> path)</h4></div></div></div><p>Resolves a file path to a URI, relative to the project directory of this project. Evaluates the provided path object as described for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>, with the exception that any URI scheme is supported, not just 'file:' URIs.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:zipTree(java.lang.Object)" class="section-anchor" href="#org.gradle.api.Project:zipTree(java.lang.Object)"></a><a class="ulink" href="../javadoc/org/gradle/api/file/FileTree.html" target="_top"><code class="classname">FileTree</code></a> <code class="literal">zipTree</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> zipPath)</h4></div></div></div><p>Creates a new <code class="literal">FileTree</code> which contains the contents of the given ZIP file. The given zipPath path is evaluated as per <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:file(java.lang.Object)" target="_top"><code class="classname">Project.file(java.lang.Object)</code></a>. You can combine this method with the <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:copy(org.gradle.api.Action)" target="_top"><code class="classname">Project.copy(org.gradle.api.Action)</code></a> method to unzip a ZIP file.</p><p>The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:appDirName(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:appDirName(java.lang.String)"></a><code class="classname">void</code> <code class="literal">appDirName</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> appDirName)</h4></div></div></div><p>Allows changing the application directory. Default is "src/main/application".</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:deploymentDescriptor(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:deploymentDescriptor(org.gradle.api.Action)"></a><a class="ulink" href="../dsl/org.gradle.plugins.ear.EarPluginConvention.html" target="_top"><code class="classname">EarPluginConvention</code></a> <code class="literal">deploymentDescriptor</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/plugins/ear/descriptor/DeploymentDescriptor.html" target="_top"><code class="classname">DeploymentDescriptor</code></a>&gt;</code> configureAction)</h4></div></div></div><p>Configures the deployment descriptor for this EAR archive. </p><p>The given action is executed to configure the deployment descriptor.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:libDirName(java.lang.String)" class="section-anchor" href="#org.gradle.api.Project:libDirName(java.lang.String)"></a><code class="classname">void</code> <code class="literal">libDirName</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> libDirName)</h4></div></div></div><p>Allows changing the library directory in the EAR file. Default is "lib".</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:manifest()" class="section-anchor" href="#org.gradle.api.Project:manifest()"></a><a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a> <code class="literal">manifest</code>()</h4></div></div></div><p>Creates a new instance of a <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:manifest(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:manifest(groovy.lang.Closure)"></a><a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a> <code class="literal">manifest</code>(<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> closure)</h4></div></div></div><p>Creates and configures a new instance of a <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>. The given closure configures the new manifest instance 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.Project:manifest(org.gradle.api.Action)" class="section-anchor" href="#org.gradle.api.Project:manifest(org.gradle.api.Action)"></a><a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a> <code class="literal">manifest</code>(<code class="classname"><a class="ulink" href="../javadoc/org/gradle/api/Action.html" target="_top"><code class="classname">Action</code></a>&lt;? super <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>&gt;</code> action)</h4></div></div></div><p>Creates and configures a new instance of a <a class="ulink" href="../javadoc/org/gradle/api/java/archives/Manifest.html" target="_top"><code class="classname">Manifest</code></a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a xmlns:xslthl="http://xslthl.sf.net" name="N16B10" class="section-anchor" href="#N16B10"></a>Script block 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.Project:allprojects(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:allprojects(groovy.lang.Closure)"></a><code class="literal">allprojects</code> { }</h4></div></div></div><p>Configures this project and each of its sub-projects.</p><p>This method executes the given closure against this project and its sub-projects. The target <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> is passed to the closure as the closure's delegate.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd>Each <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> in <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:allprojects"><code class="literal">allprojects</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:ant(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:ant(groovy.lang.Closure)"></a><code class="literal">ant</code> { }</h4></div></div></div><p>Executes the given closure against the <code class="literal">AntBuilder</code> for this project. You can use this in your build file to execute ant tasks. The <code class="literal">AntBuild</code> is passed to the closure as the closure's delegate. See example in javadoc for <a class="ulink" href="../dsl/org.gradle.api.Project.html#org.gradle.api.Project:ant" target="_top"><code class="classname">Project.getAnt()</code></a></p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../javadoc/org/gradle/api/AntBuilder.html" target="_top"><code class="classname">AntBuilder</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:ant"><code class="literal">ant</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:artifacts(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:artifacts(groovy.lang.Closure)"></a><code class="literal">artifacts</code> { }</h4></div></div></div><p>Configures the published artifacts for this project. </p><p>This method executes the given closure against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a> for this project. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a> is passed to the closure as the closure's delegate. </p><p>Example: </p><pre class="programlisting"> configurations { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//declaring new configuration that will be used to associate with artifacts</span> schema } task schemaJar(type: Jar) { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//some imaginary task that creates a jar artifact with the schema</span> } <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//associating the task that produces the artifact with the configuration</span> artifacts { <span xmlns:xslthl="http://xslthl.sf.net" class="hl-comment">//configuration name and the task:</span> schema schemaJar } </pre><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.ArtifactHandler.html" target="_top"><code class="classname">ArtifactHandler</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:artifacts"><code class="literal">artifacts</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:buildscript(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:buildscript(groovy.lang.Closure)"></a><code class="literal">buildscript</code> { }</h4></div></div></div><p>Configures the build script classpath for this project. </p><p>The given closure is executed against this project's <a class="ulink" href="../javadoc/org/gradle/api/initialization/dsl/ScriptHandler.html" target="_top"><code class="classname">ScriptHandler</code></a>. The <a class="ulink" href="../javadoc/org/gradle/api/initialization/dsl/ScriptHandler.html" target="_top"><code class="classname">ScriptHandler</code></a> is passed to the closure as the closure's delegate.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../javadoc/org/gradle/api/initialization/dsl/ScriptHandler.html" target="_top"><code class="classname">ScriptHandler</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:buildscript"><code class="literal">buildscript</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:configurations(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:configurations(groovy.lang.Closure)"></a><code class="literal">configurations</code> { }</h4></div></div></div><p>Configures the dependency configurations for this project. </p><p>This method executes the given closure against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a> for this project. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a> is passed to the closure as the closure's delegate. </p><p> Examples: See docs for <a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a></p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.artifacts.ConfigurationContainer.html" target="_top"><code class="classname">ConfigurationContainer</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:configurations"><code class="literal">configurations</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:dependencies(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:dependencies(groovy.lang.Closure)"></a><code class="literal">dependencies</code> { }</h4></div></div></div><p>Configures the dependencies for this project. </p><p>This method executes the given closure against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a> for this project. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a> is passed to the closure as the closure's delegate. </p><p> Examples: See docs for <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a></p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_top"><code class="classname">DependencyHandler</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:dependencies"><code class="literal">dependencies</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:repositories(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:repositories(groovy.lang.Closure)"></a><code class="literal">repositories</code> { }</h4></div></div></div><p>Configures the repositories for this project. </p><p>This method executes the given closure against the <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html" target="_top"><code class="classname">RepositoryHandler</code></a> for this project. The <a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html" target="_top"><code class="classname">RepositoryHandler</code></a> is passed to the closure as the closure's delegate.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html" target="_top"><code class="classname">RepositoryHandler</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:repositories"><code class="literal">repositories</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:subprojects(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:subprojects(groovy.lang.Closure)"></a><code class="literal">subprojects</code> { }</h4></div></div></div><p>Configures the sub-projects of this project.</p><p>This method executes the given closure against each of the sub-projects of this project. The target <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> is passed to the closure as the closure's delegate.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd>Each <a class="ulink" href="../dsl/org.gradle.api.Project.html" target="_top"><code class="classname">Project</code></a> in <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:subprojects"><code class="literal">subprojects</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:application(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:application(groovy.lang.Closure)"></a><code class="literal">application</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaApplication.html" target="_top"><code class="classname">JavaApplication</code></a> added by the application plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.plugins.JavaApplication.html" target="_top"><code class="classname">JavaApplication</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:application"><code class="literal">application</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:checkstyle(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:checkstyle(groovy.lang.Closure)"></a><code class="literal">checkstyle</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html" target="_top"><code class="classname">CheckstyleExtension</code></a> added by the checkstyle plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html" target="_top"><code class="classname">CheckstyleExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:checkstyle"><code class="literal">checkstyle</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:codenarc(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:codenarc(groovy.lang.Closure)"></a><code class="literal">codenarc</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CodeNarcExtension.html" target="_top"><code class="classname">CodeNarcExtension</code></a> added by the codenarc plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.plugins.quality.CodeNarcExtension.html" target="_top"><code class="classname">CodeNarcExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:codenarc"><code class="literal">codenarc</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:distributions(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:distributions(groovy.lang.Closure)"></a><code class="literal">distributions</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.distribution.DistributionContainer.html" target="_top"><code class="classname">DistributionContainer</code></a> added by the distribution plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.distribution.DistributionContainer.html" target="_top"><code class="classname">DistributionContainer</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:distributions"><code class="literal">distributions</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:deploymentDescriptor(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:deploymentDescriptor(groovy.lang.Closure)"></a><code class="literal">deploymentDescriptor</code> { }</h4></div></div></div><p>Configures the deployment descriptor for this EAR archive. </p><p>The given closure is executed to configure the deployment descriptor. The <a class="ulink" href="../javadoc/org/gradle/plugins/ear/descriptor/DeploymentDescriptor.html" target="_top"><code class="classname">DeploymentDescriptor</code></a> is passed to the closure as its delegate.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../javadoc/org/gradle/plugins/ear/descriptor/DeploymentDescriptor.html" target="_top"><code class="classname">DeploymentDescriptor</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:deploymentDescriptor"><code class="literal">deploymentDescriptor</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:eclipse(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:eclipse(groovy.lang.Closure)"></a><code class="literal">eclipse</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html" target="_top"><code class="classname">EclipseModel</code></a> added by the eclipse plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html" target="_top"><code class="classname">EclipseModel</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:eclipse"><code class="literal">eclipse</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:idea(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:idea(groovy.lang.Closure)"></a><code class="literal">idea</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html" target="_top"><code class="classname">IdeaModel</code></a> added by the idea plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html" target="_top"><code class="classname">IdeaModel</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:idea"><code class="literal">idea</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:jacoco(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:jacoco(groovy.lang.Closure)"></a><code class="literal">jacoco</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.testing.jacoco.plugins.JacocoPluginExtension.html" target="_top"><code class="classname">JacocoPluginExtension</code></a> added by the jacoco plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.testing.jacoco.plugins.JacocoPluginExtension.html" target="_top"><code class="classname">JacocoPluginExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:jacoco"><code class="literal">jacoco</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:base(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:base(groovy.lang.Closure)"></a><code class="literal">base</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.BasePluginExtension.html" target="_top"><code class="classname">BasePluginExtension</code></a> added by the java plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.plugins.BasePluginExtension.html" target="_top"><code class="classname">BasePluginExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:base"><code class="literal">base</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:java(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:java(groovy.lang.Closure)"></a><code class="literal">java</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.JavaPluginExtension.html" target="_top"><code class="classname">JavaPluginExtension</code></a> added by the java plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.plugins.JavaPluginExtension.html" target="_top"><code class="classname">JavaPluginExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:java"><code class="literal">java</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:reporting(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:reporting(groovy.lang.Closure)"></a><code class="literal">reporting</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.reporting.ReportingExtension.html" target="_top"><code class="classname">ReportingExtension</code></a> added by the java plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.reporting.ReportingExtension.html" target="_top"><code class="classname">ReportingExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:reporting"><code class="literal">reporting</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:sourceSets(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:sourceSets(groovy.lang.Closure)"></a><code class="literal">sourceSets</code> { }</h4></div></div></div><p>Configures the source sets of this project. </p><p>The given closure is executed to configure the <a class="ulink" href="../javadoc/org/gradle/api/tasks/SourceSetContainer.html" target="_top"><code class="classname">SourceSetContainer</code></a>. The <a class="ulink" href="../javadoc/org/gradle/api/tasks/SourceSetContainer.html" target="_top"><code class="classname">SourceSetContainer</code></a> is passed to the closure as its delegate. </p><p> See the example below how <a class="ulink" href="../dsl/org.gradle.api.tasks.SourceSet.html" target="_top"><code class="classname">SourceSet</code></a> 'main' is accessed and how the <a class="ulink" href="../dsl/org.gradle.api.file.SourceDirectorySet.html" target="_top"><code class="classname">SourceDirectorySet</code></a> 'java' is configured to exclude some package from compilation. </p><pre class="programlisting"> plugins { id <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'java'</span> } sourceSets { main { java { exclude <span xmlns:xslthl="http://xslthl.sf.net" class="hl-string">'some/unwanted/package/**'</span> } } } </pre><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../javadoc/org/gradle/api/tasks/SourceSetContainer.html" target="_top"><code class="classname">SourceSetContainer</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:sourceSets"><code class="literal">sourceSets</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:pmd(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:pmd(groovy.lang.Closure)"></a><code class="literal">pmd</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.plugins.quality.PmdExtension.html" target="_top"><code class="classname">PmdExtension</code></a> added by the pmd plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.plugins.quality.PmdExtension.html" target="_top"><code class="classname">PmdExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:pmd"><code class="literal">pmd</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:publishing(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:publishing(groovy.lang.Closure)"></a><code class="literal">publishing</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.api.publish.PublishingExtension.html" target="_top"><code class="classname">PublishingExtension</code></a> added by the publishing plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.api.publish.PublishingExtension.html" target="_top"><code class="classname">PublishingExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:publishing"><code class="literal">publishing</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:signing(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:signing(groovy.lang.Closure)"></a><code class="literal">signing</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.plugins.signing.SigningExtension.html" target="_top"><code class="classname">SigningExtension</code></a> added by the signing plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.plugins.signing.SigningExtension.html" target="_top"><code class="classname">SigningExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:signing"><code class="literal">signing</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:visualStudio(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:visualStudio(groovy.lang.Closure)"></a><code class="literal">visualStudio</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.ide.visualstudio.VisualStudioRootExtension.html" target="_top"><code class="classname">VisualStudioRootExtension</code></a> added by the visual-studio plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.ide.visualstudio.VisualStudioRootExtension.html" target="_top"><code class="classname">VisualStudioRootExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:visualStudio"><code class="literal">visualStudio</code></a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="signature"><a xmlns:xslthl="http://xslthl.sf.net" name="org.gradle.api.Project:xcode(groovy.lang.Closure)" class="section-anchor" href="#org.gradle.api.Project:xcode(groovy.lang.Closure)"></a><code class="literal">xcode</code> { }</h4></div></div></div><p>Configures the <a class="ulink" href="../dsl/org.gradle.ide.xcode.XcodeRootExtension.html" target="_top"><code class="classname">XcodeRootExtension</code></a> added by the xcode plugin.</p><div class="segmentedlist"><dl><dt>Delegates to:</dt><dd><a class="ulink" href="../dsl/org.gradle.ide.xcode.XcodeRootExtension.html" target="_top"><code class="classname">XcodeRootExtension</code></a> from <a class="link" href="org.gradle.api.Project.html#org.gradle.api.Project:xcode"><code class="literal">xcode</code></a></dd></dl></div></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&trade;</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">&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>

Pages: 1 2 3 4 5 6 7 8 9 10