Gradle自定义配置副本始终更新

Gradle自定义配置副本始终更新,gradle,Gradle,我的Gradle脚本中有一些wierd问题。基本上,我试图将特定配置中的所有文件复制到一个文件夹中,并且复制任务总是最新的 我有多层次的项目,在子项目部分,我应用java插件,然后创建配置,只是为了将文件从Nexus下载到一个文件夹中,我们将使用它用于不同的目的。但是,如果我在复制任务中使用自定义配置,它会显示“始终更新”,但如果我在编译配置中提到这些文件那就好了 下面的代码不工作 subprojects{ apply plugin : 'java' //version is s

我的Gradle脚本中有一些wierd问题。基本上,我试图将特定配置中的所有文件复制到一个文件夹中,并且复制任务总是最新的

我有多层次的项目,在子项目部分,我应用java插件,然后创建配置,只是为了将文件从Nexus下载到一个文件夹中,我们将使用它用于不同的目的。但是,如果我在复制任务中使用自定义配置,它会显示“始终更新”,但如果我在编译配置中提到这些文件那就好了

下面的代码不工作

subprojects{
    apply plugin : 'java'
    //version is set from Jenkins job
    version=System.env['version']
    configurations{
         downloadProjectAFiles
         downloadProjectBFiles
    }
    dependencies{   
        downloadProjectAFiles 'com.project.test:ProjectA:version'
        downloadProjectAFiles 'com.project.test:ProjectA:version'
    }
}

task copyProjectA(type : Copy){
    outputs.upToDateWhen { false } 
    from project(':ProjectA').configurations.downloadProjectAFiles
    into someFolder
}

task copyProjectB(type : Copy){
    outputs.upToDateWhen { false } 
    from project(':ProjectB').configurations.downloadProjectBFiles
    into someFolder
}

copyProjectB.dependsOn('copyProjectA')
下面的代码正在运行

subprojects{
    apply plugin : 'java'
    //version is set from Jenkins job
    version=System.env['version']
    configurations{
         downloadProjectAFiles
         downloadProjectBFiles
    }
    dependencies{   
        compile 'com.project.test:ProjectA:version'
        compile 'com.project.test:ProjectA:version'
    }
}

task copyProjectA(type : Copy){
    outputs.upToDateWhen { false } 
    from project(':ProjectA').configurations.compile
    into someFolder
}

task copyProjectB(type : Copy){
    outputs.upToDateWhen { false } 
    from project(':ProjectB').configurations.compile
    into someFolder
}

copyProjectB.dependsOn('copyProjectA')

你到底想下载什么?当使用
compile
时,您将获得项目的依赖项,这没关系。使用
downloadProjectAFiles
时,没有定义任何文件。确定。我应该说得更具体一些。项目A和项目B基本上会生成Jar文件,并在运行构建时将其上载到Nexus存储库中,有时我们会下载这些Jar文件的特定版本,并将其移动到其他进程正在使用的文件夹中。因此,我们正在传递预期的版本下载。我不理解您的解释,因为您可以看到我为配置downloadProjectAFiles和downloadProjectBFiles定义了一个依赖项。这还不足以从Nexus下载它们吗?