2017-02-17 3 views
0

Я пытаюсь собрать ухо с Gradle, в котором application.xml содержит некоторые неэдж-модули. Зависимые архивы проектов генерируются с помощью стандарта {basename}-{version}.{extension} и, таким образом, выглядят примерно так, например. subproject-0.2.6.rar. Однако, поскольку некоторые из этих проектов должны быть отмечены как java или соединительный модуль, у меня возникают проблемы с исправлением правильных файлов.Gradle Ear Plugin: добавление модулей без спецификатора версии

Это то, что сценарий сборки выглядит следующим образом:

apply plugin: 'ear' 

dependencies { 
    deploy project(':EJB-Project') 
    deploy project(':Commons') 
    deploy project(':UpdateManager') 

    earlib 'net.sf:jasperreports:unknown' 
    earlib 'org.apache.axis:axis:1.4' 
} 

ear { 
    deploymentDescriptor { 
     applicationName = 'EnterpriseProject' 

     module('Commons.jar', 'java') 
     module('UpdateManager.rar', 'connector') 
    } 

    // Remove the version postfix from archived files 
    rename(/(.*)-${version}(.)/, /$1$2/) 
} 

jboss-deployment-structure.xml имеет архивы в узлах суб-развертывания, объявленных без версии спецификатора тоже.

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
     ... 
    <sub-deployment name="EJB-Project.jar"> 
     <dependencies /> 
     <exclusions /> 
    </sub-deployment> 
    <sub-deployment name="Commons.jar"> 
     <dependencies /> 
     <exclusions /> 
    </sub-deployment> 
     ... 

Метод переименования в задаче ухи успешно переименовывает библиотеку из конфигурации deploy, но Gradle добавляет зависимости, которые явно не добавляются через module(String path, String identifier) автоматически с их оригинальным названием, как модуль EJB:

<module> 
    <ejb>EJB-Project-4.5.2.jar</ejb> 
</module> 

Я хотел бы решить это чистым способом - например, ссылаться на сам проект в разделе модуля, а не указывать имя файла (и его расширение) и генерировать xml для развертывания JBoss, но я как-то застрял. Я хочу, чтобы все строки версий удалялись или сохраняли все.

ответ

0

Существует плагин, который генерирует структуру развертывания JBoss on GitHub. Поскольку я не нашел чистого способа решить это как-то иначе, я только что реализовал функции, которые мне не хватало в плагине, и владелец объединил их.

Смежные вопросы