Я начинаю углубляться в Gradle, перенося один имеющийся у меня проект с Maven 3.6.3 на Gradle 6.5.1.
Я подхожу к стадии, когда мне нужно создать файл War в модуль impl, который немного настроен: я переименовываю Jars в папке lib и включаю через оверлей (из Jar, встроенного в модуль api из того же проекта) некоторые ресурсы. Текущая конфигурация Maven следующая:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<outputFileNameMapping>@{groupId}@-@{artifactId}@-@{version}@.@{extension}@</outputFileNameMapping>
<webResources>
<resource>
<directory>src/main/webapp</directory>
</resource>
</webResources>
<overlays>
<!-- Include the OpenAPI spec -->
<overlay>
<groupId>com.project.rest</groupId>
<artifactId>api</artifactId>
<type>jar</type>
<includes>
<include>specs/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
Итак, я пытаюсь придумать что-то подобное для Gradle в отношении переименования библиотек. Я видел в документации плагина, что в плагине есть метод rename
:
Переименовывает исходный файл. Замыкание будет вызываться с одним параметром - именем файла. Замыкание должно вернуть объект String с новым целевым именем. Замыкание может вернуть значение null, и в этом случае будет использоваться исходное имя.
Проблема в том, что он принимает имя файла в параметре, тогда как мне нужно (чтобы mimi c параметр outputFileNameMapping
), чтобы получить зависимость и извлечь ее метаданные. Так что я считаю, что это неправильный вариант. Есть ли способ добиться этого с помощью Gradle?
Спасибо