Изменить имя zip при создании архива с плагином дистрибутива в gradle

Есть ли способ настроить имя файла дистрибутива при создании архива с помощью плагина дистрибутива в gradle?

Вот мой build.gradle (я использую gradle 2.10) файл:

apply plugin: 'distribution'
version '1.2'

distributions {
  custom {
    baseName = 'someName'
    contents {...}
  }
}

И вызов задачи customDistZip создает файл: $buildDir/distributions/someName-1.2.zip Я хотел бы, чтобы имя файла было настроено на: someName.zip (без номера версии).

Мой обходной путь для этого — создать новую задачу для переименования zip-файла после создания и использовать функцию gradle finalizedBy:

task renameDist {
  doLast {
    new File("$buildDir/distributions/someName-${project.version}.zip")
            .renameTo("$buildDir/distributions/someName.zip")
  }
}
customDistZip.finalizedBy renameDist

Но это не выглядит элегантным и красивым решением.


person Piotr Chowaniec    schedule 05.01.2016    source источник
comment
@RaGe это был мой обходной путь номер два, но это снова обходной путь. Я ищу хороший способ сделать это.   -  person Piotr Chowaniec    schedule 06.01.2016
comment
Добавление version = '' может повлиять на другие задачи, и я не хочу этого делать.   -  person Piotr Chowaniec    schedule 06.01.2016
comment
Параметр @RaGe archiveName='someName' вызывает исключение: No such property: archiveName for class: org.gradle.api.distribution.internal.DefaultDistribution_Decorated   -  person Piotr Chowaniec    schedule 06.01.2016
comment
@RaGe Настройка version='' внутри пользовательского блока повлияет на другие задачи, потому что это будет выполняться на этапе настройки, просто добавьте println version в конец моего примера сценария и вызовите, например. градус чистый.   -  person Piotr Chowaniec    schedule 06.01.2016
comment
@RaGe Спасибо! Чтобы было ясно, вы должны указать полное имя файла (с расширением), поэтому в моем случае: customDistZip.setArchiveName('someName.zip'). Создайте ответ для этого, и я отмечу один как правильный.   -  person Piotr Chowaniec    schedule 06.01.2016


Ответы (1)


Вы можете сделать:

customDistZip.setVersion('')

чтобы установить строку версии, используемую с baseName, пустой или

customDistZip.setArchiveName('someName.zip')

чтобы установить полное имя файла архива, которое полностью пропускает базовое имя.

person RaGe    schedule 05.01.2016