在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源文件。查看我的最新答案