Различные файлы в различные места назначения при генерации RPM с использованием плагина rpm в Gradle - PullRequest
0 голосов
/ 24 апреля 2019

Я пишу код Gradle, используя Gradle-ospackage RPM Plugin для генерации RPM.Я могу генерировать RPM.Мое требование заключается в том, что при создании RPM определенные файлы должны быть перемещены в другое место.Для примера I структура ниже:

           |--SOURCES
              --Properties
                --a.property
                --b.property
                --c.property
              --configs
                --conf.xml
                --cache.xml
              --war
                --test.war
              --testng.java
              --val.java
              ...
              ...
           |--SPECS
           |--RPMS
           |--SRPMS

. В приведенном выше примере при генерации rpm *.properties, *.war и conf.xml должны быть перемещены на другой путь, например /modules/properties/, /modules/binaries/ и /modules/conf/.

Заранее спасибо!

1 Ответ

1 голос
/ 24 апреля 2019

Плагин nebula-ospackage использует функцию Gradle Copy Spec, которая позволяет настраивать "сопоставления" между структурой каталогов источников и макетом содержимого целевых оборотов в минуту, используя предложения from и into.Вы можете найти несколько примеров в документации к плагину здесь и здесь .

В вашем примере вы можете получить что-то вроде ниже

ospackage{
    // (...)

    into("/modules"){ 
        into ("properties"){
            from ("/SOURCES/Properties") // you could add some filtering                
        }
        into ("binaries"){
            from ("/SOURCES/war")
        }
        into ("conf"){
            from ("/SOURCES/configs")
        }                   
        // EDIT : include all .java source files
        into ("sources"){
            from ("/SOURCES") {
                 include "**/*.java"
            }
        }
    } 
}
...