在 gradle 中使用 rpm 插件生成 RPM 时将各种文件传送到各种目的地

Various files to various destination while RPM Generation using rpm plugin in gradle

我正在编写 gradle 代码,使用 Gradle-ospackage RPM Plugin 生成 RPM。我能够生成 RPM。我的要求是,在生成 RPM 时,应将特定文件移动到不同的位置。 例如我有以下结构,

           |--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*.warconf.xml 应该移动到其他路径,例如 /modules/properties//modules/binaries//modules/conf/

提前致谢!

nebula-ospackage插件利用了GradleCopy Spec特性,允许您配置源目录结构和目标rpm内容布局之间的"mappings",使用frominto 子句。您可以在插件文档 here and here.

中找到几个示例

在你的例子中,你可以有类似下面的内容

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"
            }
        }
    } 
}