groovy - 如何使用Gradle同步两个文件夹?

标签 groovy gradle android-gradle-plugin

我需要保持inside文件夹与名为outside的文件夹同步。 inside文件夹必须是outside文件夹的精确副本-所有子目录,文件等。
Copy任务可以很好地工作,除了它只会覆盖文件-如果那些文件不再位于inside文件夹中,则它不会删除仍在outside文件夹中的文件。

现在,我正在使用Delete任务所依赖的Copy任务。 Delete任务每隔一个构建都会失败,并显示以下错误。确实删除了inside文件夹,但没有复制Copy任务中的新文件。

Error:(117) A problem occurred evaluating project ':android'.
> Cannot convert the provided notation to a File or URI: true.
  The following types/formats are supported:
    - A String or CharSequence path, e.g 'src/main/java' or '/usr/include'
    - A String or CharSequence URI, e.g 'file:/usr/include'
    - A File instance.
    - A URI or URL instance.

我猜测这是由于某种类型的Gradle缓存问题而发生的-我该如何解决此问题,或设计更好的过程?谢谢!

最佳答案

看起来使用task参数声明任务类型/依赖关系与在task方法主体中进行声明之间有很大的区别。

这样的事情很棒

task deleteFiles(type: Delete) {
    delete destinationHtmlFolder
}

task copyFiles(dependsOn: tasks.withType(Copy)){
    println "copying all files"
}

关于groovy - 如何使用Gradle同步两个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214170/

相关文章:

gradle - geb-gradle-saucelabs集成的驱动程序错误

java - 在构建时从 Gradle 设置静态变量

google-app-engine - appengineRun 失败,出现 java.lang.NoClassDefFoundError : com/google/appengine/tools/development/ApiProxyLocal

java - 带有Gradle的Hibernate工具,jdbc错误

android - android 上的 libsodium 集成

android-gradle-plugin - httpclient 与 Android 现在提供的类冲突

jenkins - 从正在运行的版本中读取consoleText URL仅返回前10000行

java - Groovy - 压缩多个 if 语句

安卓工作室 : No build variant found error

json - Grails-在 Controller 中生成自定义JSON时出错