2016-05-12 72 views
6

使用ext.varnamedef varname有什麼區別?例如。下面的代碼似乎工作是一樣的:Gradle def vs ext

task copyLicenses { 
    def outDir = project.buildDir.absolutePath + '/reports/license/' 

    doLast { 
     copy { 
      from 'licenses' 
      into outDir 
      include '*' 
     } 

似乎工作完全一樣

task copyLicenses { 
    ext.outDir = project.buildDir.absolutePath + '/reports/license/' 

    doLast { 
     copy { 
      from 'licenses' 
      into outDir 
      include '*' 
     } 

回答

7

關鍵字def來自Groovy和意味着變量local範圍。

使用ext.outDir意味着你添加屬性outDirExtraPropertiesExtension,把它想的項目有一個地圖名稱爲ext性質的,你把你的財產在該地圖供以後訪問。