Gradle复制任务不复制文件
Gradle Copy task does not copy files
我有以下任务,将文件从我的 android 项目资源文件复制到单元测试中 ClassLoader 实例可访问的不同路径。
task copyResDirectoryToClasses(type: Copy){
println 'COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!'
println "$projectDir/src/test/java/com/textmeinc/topmeup/resources/"
println "$buildDir/intermediates/classes/test/staging/debug/"
from "$projectDir/src/test/java/com/textmeinc/topmeup/resources/"
into "$buildDir/intermediates/classes/test/staging/debug/"
}
assembleDebug.dependsOn(copyResDirectoryToClasses)
我在 gradle 控制台中看到任务 运行。
Parallel execution with configuration on demand is an incubating feature.
COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!
/Users/tylerpfaff/Documents/Development/topmeup-android/app/src/test/java/com/textmeinc/topmeup/resources/
/Users/tylerpfaff/Documents/Development/topmeup-android/app/build/intermediates/classes/test/staging/debug/
但是,没有传输任何文件。如果我在终端中手动移动它们,我的测试 运行 可以正常使用我的 mock.json 文件。为什么副本不起作用?
这是我用来手动复制文件的命令。
cp /Users/tylerpfaff/Documents/Development/topmeup-android/app/src/test/java/com/textmeinc/topmeup/resources/mock.json /Users/tylerpfaff/Documents/Development/topmeup-android/app/build/intermediates/classes/test/staging/debug/
this documentation page 顶部的示例使用相对于 projectDir
的路径
尝试将您的 from 和 into 路径替换为:
from 'app/src/test/java/com/textmeinc/topmeup/resources'
into 'build/intermediates/classes/test/staging/debug'
我认为插件中存在错误。我自己 运行 对此感兴趣。将任务作为 "dependsOn" 发送至 运行 失败。但是,如果我在 Android Studio 中打开 Gradle 选项卡并从那里手动 运行 任务,则会复制文件。命令行 gradlew :subproject:copytask
也是如此。我将尝试在一个独立的项目中复制它,如果可以的话,我会为其提交错误报告(并在此处放置 link)。同时,手动 运行 执行 gradle 任务是我唯一的解决方案。
我有以下任务,将文件从我的 android 项目资源文件复制到单元测试中 ClassLoader 实例可访问的不同路径。
task copyResDirectoryToClasses(type: Copy){
println 'COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!'
println "$projectDir/src/test/java/com/textmeinc/topmeup/resources/"
println "$buildDir/intermediates/classes/test/staging/debug/"
from "$projectDir/src/test/java/com/textmeinc/topmeup/resources/"
into "$buildDir/intermediates/classes/test/staging/debug/"
}
assembleDebug.dependsOn(copyResDirectoryToClasses)
我在 gradle 控制台中看到任务 运行。
Parallel execution with configuration on demand is an incubating feature.
COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!
/Users/tylerpfaff/Documents/Development/topmeup-android/app/src/test/java/com/textmeinc/topmeup/resources/
/Users/tylerpfaff/Documents/Development/topmeup-android/app/build/intermediates/classes/test/staging/debug/
但是,没有传输任何文件。如果我在终端中手动移动它们,我的测试 运行 可以正常使用我的 mock.json 文件。为什么副本不起作用?
这是我用来手动复制文件的命令。
cp /Users/tylerpfaff/Documents/Development/topmeup-android/app/src/test/java/com/textmeinc/topmeup/resources/mock.json /Users/tylerpfaff/Documents/Development/topmeup-android/app/build/intermediates/classes/test/staging/debug/
this documentation page 顶部的示例使用相对于 projectDir
尝试将您的 from 和 into 路径替换为:
from 'app/src/test/java/com/textmeinc/topmeup/resources'
into 'build/intermediates/classes/test/staging/debug'
我认为插件中存在错误。我自己 运行 对此感兴趣。将任务作为 "dependsOn" 发送至 运行 失败。但是,如果我在 Android Studio 中打开 Gradle 选项卡并从那里手动 运行 任务,则会复制文件。命令行 gradlew :subproject:copytask
也是如此。我将尝试在一个独立的项目中复制它,如果可以的话,我会为其提交错误报告(并在此处放置 link)。同时,手动 运行 执行 gradle 任务是我唯一的解决方案。