2015-02-23 54 views
1

我使用的是application插件,并希望做这样的事情:的gradle配置分发任务

的build.gradle

apply from: 'common.gradle' 

folder1Files = [] 
folder1Files << "file1.txt" 
folder1Files << "file2.txt" 

common.gradle

distributions { 
    main { 
    contents { 
     into ("folder1") { from(folder1Files) } 
    } 
    } 
} 

我明白,这可以通过在变量之后添加apply from来完成le定义,但我想知道是否有更多'防弹'/正确的方式?

换句话说,如何在配置分配任务之前定义用于配置分配任务的变量?

回答

1

看来,这是可能的,但你需要通过project实例交换变量。尝试:

common.gradle

apply plugin: 'application' 

project.ext.folder1Files = [] 

distributions { 
    main { 
    contents { 
     into ("folder1") { from(folder1Files) } 
    } 
    } 
} 

的build.gradle

apply from: 'common.gradle' 

project.folder1Files << "file1.txt" 
project.folder1Files << "file2.txt" 
+0

这仍然需要正确的顺序,虽然是少喊出来的 '砍!'。 – 2015-02-24 07:42:54

+0

认为它会工作,对不起:/ – Opal 2015-02-24 07:45:53

+2

我想过的另一个选择(也许矫枉过正)是创建一个插件负责配置并将所有内容添加到'项目',然后使'installDist'任务依赖于此 – 2015-02-24 08:11:29