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

Я пытаюсь в своем скрипте gradle, после создания bootJar для весеннего приложения, скопировать и переименовать созданный jar в новое имя (которое будет использоваться в Dockerfile). Мне не хватает, как переименовать файл (я не хочу иметь версию в версии докера выходного файла).

bootJar {
    baseName = 'kcentral-app'
    version =  version
}


task buildForDocker(type: Copy){
  from bootJar
  into 'build/libs/docker'
}

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете напрямую сгенерировать банку с ожидаемым именем, а не переименовывать ее после того, как она была сгенерирована, используя свойство archiveName из bootJar расширение:

bootJar {
   archiveName "kcentral-app.jar" // <- this overrides the generated jar filename
   baseName = 'kcentral-app'
   version =  version
}

EDIT Если вам нужно сохранить имя исходного файла jar (содержащее версию), вы можете обновить определение задачи buildForDocker следующим образом:

task buildForDocker(type: Copy){
    from bootJar
    into 'build/libs/docker'
    rename { String fileName ->
        // a simple way is to remove the "-$version" from the jar filename
        // but you can customize the filename replacement rule as you wish.
        fileName.replace("-$project.version", "")
    }
}

Для получения дополнительной информации см. Задача Gradle Copy DSL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...