Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在gradle中使用RPM插件生成RPM时,将各种文件发送到不同的目标_Gradle_Rpm - Fatal编程技术网

在gradle中使用RPM插件生成RPM时,将各种文件发送到不同的目标

在gradle中使用RPM插件生成RPM时,将各种文件发送到不同的目标,gradle,rpm,Gradle,Rpm,我正在使用gradle-ospackage-RPM-Plugin编写一个gradle代码来生成RPM。我能够生成RPM。我的要求是,在生成RPM时,应将特定文件移动到不同的位置。 比如我有下面的结构 |--SOURCES --Properties --a.property --b.property --c.property

我正在使用
gradle-ospackage-RPM-Plugin
编写一个gradle代码来生成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
*.war
conf.xml
应移动到其他路径,如
/modules/properties/
/modules/binaries/
/modules/conf/


提前谢谢

nebula ospackage插件利用Gradle
Copy Spec
功能,允许您使用
from
into
子句配置源目录结构和目标rpm内容布局之间的“映射”。您可以在插件文档和中找到几个示例

在您的示例中,您可以有如下内容

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

谢谢@M.Ricciuti这对我来说是可行的。我的问题是,在打包rpm时,rpm中只包含这些文件,而不包含其余文件(即,
testng.java,val.java…
)。是否有任何选项可以将剩余的所有文件包含到其他位置,而不提及特定的源文件名。我不知道“包含所有剩余(尚未包含)文件”的选项,但一种简单的方法是使用
from
子句中的
include
,以获取所有java源文件。查看我的最新答案