【问题标题】:Gradle: Copy one specific file from main project directory into subproject/build/libsGradle:将一个特定文件从主项目目录复制到 subproject/build/libs
【发布时间】:2021-05-28 17:20:20
【问题描述】:

徒劳地搜索这个不起眼的任务的例子,没有一个工作,我需要学习如何使用 gradle 将一个特定文件从 gradle 项目(包含子项目)的主目录复制到 /build/libs 文件夹子项目之一。结构是这样的:

mainProject folder
  file.txt
  Subproject folder
      build folder
          libs folder
            (I want to copy file.txt here)

此复制过程应在 build.gradle(用于子项目)文件中。我正在使用 Android Studio,子项目是一个纯 java 应用程序。

感谢您的帮助。

【问题讨论】:

    标签: gradle file-copying


    【解决方案1】:

    您需要实现Copy 类型的自定义任务来将文件复制到目标目录。要访问根项目中的文件,您可以使用子项目的rootProject 属性。

    task copyFileFromRootProject(type: Copy) {
        from "${rootProject.projectDir}/file.txt"
        into 'build/libs'
    }
    

    【讨论】:

    • 谢谢。我徒劳地做了大约这个解决方案。尝试您的特定代码,复制任务仍然没有发生。我需要定义其他先决条件才能使其工作吗?例如,一些写访问标志或类似的?或者此任务必须位于 build.gradle 文件中的特定位置?
    • 除了执行任务 - 通过gradlew copyFileFromRootProject 明确地执行,或者作为对另一个默认任务的依赖 - 不需要其他任何东西。考虑使用--info --stacktrace --rerun-tasks 运行构建,以获得适合调试构建设置问题的输出。
    猜你喜欢
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多