Gradle: не могу скопировать файл - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь скопировать файл с Gradle.Нет проблем для создания файла, сканирования каталога, но копия файла не работает

task toDo3{
    println("task toDo3 start in $projectDir" )

    new File("$projectDir/version.txt").text =
            """
                Version: $version
                Revision: 1.0.2
                Buildtime: ${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())}
                Application-name: foobarbaz app
            """
    println("task toDo3 end" )
}

task toDo4(type: Copy) {
    println("task toDo4 start" )
    from "src/main/version.txt"
    into "build"
    println("task toDo4 end" )
}

Есть идеи по этой проблеме?

Спасибо за помощь

1 Ответ

0 голосов
/ 30 ноября 2018

Вам нужно будет понять Фазы сборки Gradle

Все ваши операторы println находятся в фазе конфигурации, когда, скорее всего, вы захотите, чтобы они запускались в фазе выполнения.Ваш toDo3 делает все на этапе конфигурации и ничего на этапе выполнения.

Вы, вероятно, захотите поместить свои println и т. Д. В doFirst {...} или doLast{...} замыкание

Это такжеплохая практика для генерации файлов под src/main.Лучше создавать под $ buildDir, чтобы файлы:

  1. удалялись «чистой» задачей
  2. Не были случайно переданы в систему контроля версий
  3. Донне влияет на последнюю проверку / пропуск задач Gradle
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...